Laelaps  2.3.5
RoadNarrows Robotics Small Outdoor Mobile Robot Project
laelaps Struct Reference
Inheritance diagram for laelaps:

Public Types

enum  LaeJointType {
  LaeJointTypeUnknown = 0,
  LaeJointTypeFixed,
  LaeJointTypeRevolute,
  LaeJointTypeContinuous,
  LaeJointTypeRevMimic,
  LaeJointTypeNumOf = 4
}
 Supported joint/wheel types. Not really used for now. More...
 
enum  LaeEncType {
  LaeEncTypeUnknown = 0x00,
  LaeEncTypeNone = 0x01,
  LaeEncTypePhys = 0x02,
  LaeEncTypeElec = 0x04,
  LaeEncTypeElecTDC = 0x08,
  LaeEncTypeAbs = 0x10,
  LaeEncTypeQuadrature = 0x20,
  LaeEncTypeNumOf = 6
}
 Joint/wheel location detection types. More...
 
enum  LaeTriState {
  LaeTriStateUnknown = -1,
  LaeTriStateFalse = 0,
  LaeTriStateOff = 0,
  LaeTriStateDisabled = 0,
  LaeTriStateLow = 0,
  LaeTriStateOpen = 0,
  LaeTriStateDark = 0,
  LaeTriStateTrue = 1,
  LaeTriStateOn = 1,
  LaeTriStateEnabled = 1,
  LaeTriStateHigh = 1,
  LaeTriStateClosed = 1,
  LaeTriStateLight = 1
}
  Laelaps tri-state type. More...
 
enum  LaeRobotMode {
  LaeRobotModeUnknown = -1,
  LaeRobotModeManual = 1,
  LaeRobotModeAuto = 2
}
  Laelaps mode of operation. More...
 
enum  LaeOpState {
  LaeOpStateUncalibrated = 0,
  LaeOpStateCalibrating = 1,
  LaeOpStateCalibrated = 2
}
 Robot or joint operational states. More...
 
enum  LaeAsyncTaskState {
  LaeAsyncTaskStateIdle = 0,
  LaeAsyncTaskStateWorking = 1
}
 Asynchronous task state. More...
 
enum  LaeNorm {
  LaeNormL1 = 1,
  LaeNormL2 = 2,
  LaeNormLinf = 3
}
 Length/Distance Norm. More...
 
typedef std::map< std::string, LaePowertrain > LaeMapPowertrain
 Map of powertrain kinodynamics. More...
 
typedef std::vector< sensor::vl6180::LaeVL6180Mux * > VecToFSensors
 
typedef std::map< std::string, double > LaeMapVelocity
 Velocity trajectory type. More...
 
typedef std::map< std::string, double > LaeMapDutyCycle
 Duty cycle trajectory type. More...
 
typedef struct timeval timeval_t
 typedef'ed timeval structure
 
typedef struct timespec timespec_t
 typedef'ed timespec structure
 

Public Member Functions

 if (sum.tv_usec > MILLION)
 
 if (sum.tv_nsec > BILLION)
 

Public Attributes

LaeDb RtDb
 The real-time database.
 
const i2c_addr_t LaeI2CMuxAddrMin = 0x70
 I2C minimum 7-bit address.
 
const i2c_addr_t LaeI2CMuxAddrMax = 0x77
 I2C maximum 7-bit address.
 
const i2c_addr_t LaeI2CMuxAddrDft = 0x70
 I2C default 7-bit address.
 
const int LaeI2CMuxChanMin = 0
 min channel number
 
const int LaeI2CMuxChanMax = 7
 min channel number
 
const int LaeI2CMuxChanNone = 0x100
 no channel selected
 
const byte_t LaeI2CMuxCtlRegMask = 0xff
 
const char *const LaeProdFamilyUnknown = "?"
 unknown product family
 
const char *const LaeProdFamily = "Laelaps"
 product family name
 
const char *const LaeProdModelStd = "Standard"
 standard model
 
const char *const LaeProdModelLarge = "Large"
 future large model
 
const char *const LaeImageDir = "/usr/local/share/Laelaps/images"
 image directory
 
const char *const LaeIconDir = "/usr/local/share/Laelaps/images/icons"
 icon directory
 
const char *const LaeSysCfgPath = "/etc/laelaps:/etc"
 System configuration search path.
 
const char *const LaeUserCfgPath = "/etc/laelaps:~/.roadnarrows"
 User configuration search path and inheritance order.
 
const char *const LaeEtcCfg = "laelaps.conf"
 xml configuration file
 
const char *const LaeEtcTune = "laelaps_tune.conf"
 xml tune file
 
const char *const LaePanelXml = "laelaps_panel.xml"
 control panel cfg
 
const char *const LaeFrontCamXml = "laelaps_fcam.xml"
 front camera cfg
 
const char *const LaeXboxXml = "laelaps_xbox.xml"
 xbox teleop cfg
 
const char *const LaeXslUrl
 xml stylesheet url More...
 
const char *const LaeXsiUrl
 xml schema instance url More...
 
const char *const LaeDevMotorCtlrs = "/dev/ttySAC0"
 odroid motor controllers' serial device name
 
const int LaeBaudRateMotorCtlrs = 115200
 motor controller serial baudrate
 
const char *const LaeDevI2C_0 = "/dev/i2c-laelaps"
 I2C primary.
 
const char *const LaeDevI2C_1 = "/dev/i2c-laelaps-alt"
 I2C secondary.
 
const char *const LaeDevI2C_2 = "/dev/i2c-1"
 I2C tertiary.
 
const char *const LaeDevFCam = "/dev/fcam"
 front cam USB udev linked name
 
const char *const LaeDevIMU = "/dev/imu"
 IMU USB udev linked name.
 
const int LaeBaudRateIMU = 115200
 IMU serial baudrate.
 
const char *const LaeDevDynabus = "/dev/dynabus"
 dynabus USB udev linked name
 
const int LaeBaudRateDynabus = 1000000
 dynabus baudrate
 
const int LaeGpioMotorCtlrCs = 173
 motor controler chip select gpio
 
const int LaeGpioMotorCtlrEn = 174
 motor controler enable gpio
 
const int LaeGpioWdReset = 189
 Watchdog subprocessor reset gpio.
 
const int LaeGpioI2CMuxReset = 190
 I2C multiplexer reset gpio.
 
const int LaeGpioAuxBattEn = 191
 auxilliary battery enable gpio
 
const int LaeGpioAux5VEn = 192
 Deck regulated 5V enable gpio.
 
const int ToFSensorMaxNumOf = 8
 maximum number of ToF sensors
 
const int ToFSensorStdNumOf = 3
 max num of ToF sensors for std option
 
const int ToFSensor0Chan = 0
 sensor 0 channel (bit) number
 
const int ToFSensor1Chan = 1
 sensor 1 channel (bit) number
 
const int ToFSensor2Chan = 2
 sensor 2 channel (bit) number
 
const int ToFSensor3Chan = 3
 sensor 3 channel (bit) number
 
const int ToFSensor4Chan = 4
 sensor 4 channel (bit) number
 
const int ToFSensor5Chan = 5
 sensor 5 channel (bit) number
 
const int ToFSensor6Chan = 6
 sensor 6 channel (bit) number
 
const int ToFSensor7Chan = 7
 sensor 7 channel (bit) number
 
const double ToFSensor0Dir = degToRad(0.0)
 sensor 0 direction
 
const double ToFSensor1Dir = degToRad(10.0)
 sensor 1 direction
 
const double ToFSensor2Dir = degToRad(90.0)
 sensor 2 direction
 
const double ToFSensor3Dir = degToRad(170.0)
 sensor 3 direction
 
const double ToFSensor4Dir = degToRad(180.0)
 sensor 4 direction
 
const double ToFSensor5Dir = degToRad(190.0)
 sensor 5 direction
 
const double ToFSensor6Dir = degToRad(270.0)
 sensor 6 direction
 
const double ToFSensor7Dir = degToRad(350.0)
 sensor 7 direction
 
const double ToFSensor0Deadzone = 0.008
 sensor 0 8mm deadzone
 
const double ToFSensor1Deadzone = 0.0145
 sensor 1 14.5mm deadzone
 
const double ToFSensor2Deadzone = 0.008
 sensor 2 8mm deadzone
 
const double ToFSensor3Deadzone = 0.0145
 sensor 3 14.5mm deadzone
 
const double ToFSensor4Deadzone = 0.008
 sensor 4 8mm deadzone
 
const double ToFSensor5Deadzone = 0.0145
 sensor 5 14.5mm deadzone
 
const double ToFSensor6Deadzone = 0.008
 sensor 6 8mm deadzone
 
const double ToFSensor7Deadzone = 0.0145
 sensor 7 14.5mm deadzone
 
const byte_t LaeToFMuxMinChan = 0
 minimum sensor channel number
 
const byte_t LaeToFMuxMaxChan = 7
 maximum sensor channel number
 
const byte_t LaeToFMuxNumOfChan = 8
 maximum number of channels
 
const byte_t LaeToFMuxRangeNoObj = 255
 no object detected
 
const byte_t LaeToFMuxRangeNoDev = 254
 no sensor device attached
 
const byte_t LaeToFMuxRangeErr = 253
 sensor error
 
const byte_t LaeToFMuxRangeMax = 200
 maximum distance (mm)
 
const byte_t LaeToFMuxRangeMin = 0
 minimum distance (mm)
 
const float LaeToFMuxLuxNoLight = 0.0
 no light/no sensor
 
const byte_t LaeI2CAddrToFMux = 0x71
 arduino I2C 7-bit slave address
 
const int LaeToFMuxI2CMaxCmdLen = 16
 maximum command length
 
const int LaeToFMuxI2CMaxRspLen = 32
 maximum response length
 
const byte_t LaeToFMuxI2CArgFail = 0
 command failure response
 
const byte_t LaeToFMuxI2CArgPass = 1
 command success response
 
const byte_t LaeToFMuxI2CCmdIdGetVersion = 0
 command id
 
const byte_t LaeToFMuxI2CCmdLenGetVersion = 1
 command length (bytes)
 
const byte_t LaeToFMuxI2CRspLenGetVersion = 1
 response length (bytes)
 
const byte_t LaeToFMuxI2CCmdIdGetIdent = 1
 command id
 
const byte_t LaeToFMuxI2CCmdLenGetIdent = 2
 command length (bytes)
 
const byte_t LaeToFMuxI2CRspLenGetIdent = 9
 response length (bytes)
 
const byte_t LaeToFMuxI2CCmdIdGetRanges = 2
 command id
 
const byte_t LaeToFMuxI2CCmdLenGetRanges = 1
 command length (bytes)
 
const byte_t LaeToFMuxI2CRspLenGetRanges = 8
 response length (bytes)
 
const byte_t LaeToFMuxI2CCmdIdGetLux = 3
 command id
 
const byte_t LaeToFMuxI2CCmdLenGetLux = 1
 command length (bytes)
 
const byte_t LaeToFMuxI2CRspLenGetLux = 32
 response length (bytes)
 
const float LaeToFMuxI2CArgLuxScale = 0.01
 lux = value * scale
 
const float LaeToFMuxI2CArgLuxMult = 100.0
 value = lux * mult
 
const byte_t LaeToFMuxI2CCmdIdTuneToFSensor = 4
 command id
 
const byte_t LaeToFMuxI2CCmdLenTuneToFSensor = 5
 command length
 
const byte_t LaeToFMuxI2CRspLenTuneToFSensor = 1
 response length
 
const byte_t LaeToFMuxI2CCmdIdTuneAls = 5
 command id
 
const byte_t LaeToFMuxI2CCmdLenTuneAls = 5
 command length (bytes)
 
const byte_t LaeToFMuxI2CRspLenTuneAls = 1
 response length (bytes)
 
const byte_t LaeToFMuxI2CCmdIdGetTunes = 6
 command id
 
const byte_t LaeToFMuxI2CCmdLenGetTunes = 2
 command length (bytes)
 
const byte_t LaeToFMuxI2CRspLenGetTunes = 6
 response length (bytes)
 
const byte_t LaeToFMuxSerMaxCmdLen = 80
 max command length (bytes)
 
const byte_t LaeToFMuxSerMaxCmdArgc = 8
 max cmd argument count
 
const byte_t LaeToFMuxSerMaxCmdArgLen = 8
 max cmd arg length (bytes)
 
const byte_t LaeToFMuxSerMaxRspLen = 100
 max rsp line length (bytes)
 
const byte_t LaeToFMuxSerMaxRspArgc = 10
 max rsp argument count
 
const byte_t LaeToFMuxSerMaxRspArgLen = 16
 max rsp arg length (bytes)
 
const char LaeToFMuxSerEoC = '\n'
 end of command
 
const char LaeToFMuxSerEoR = '\n'
 end of response
 
const char LaeToFMuxSerSep = ' '
 argument separator(s)
 
const char LaeToFMuxSerArgNoSensor [] = "-"
 sensor not present
 
const char LaeToFMuxSerArgNoObj [] = "noobj"
 no object detected
 
const char LaeToFMuxSerArgSensorErr [] = "error"
 sensor meas. error
 
const char LaeToFMuxSerArgOff [] = "0"
 off state
 
const char LaeToFMuxSerArgOn [] = "1"
 on state
 
const char LaeToFMuxSerArgGet [] = "g"
 get operator
 
const char LaeToFMuxSerArgSet [] = "s"
 set operator
 
const char LaeToFMuxSerArgReset [] = "r"
 reset operator
 
const char LaeToFMuxSerArgStet [] = "-"
 leave as is
 
const char LaeToFMuxSerArgErrRsp [] = "E"
 response error
 
const char LaeToFMuxSerOpGet = 'g'
 get operator value
 
const char LaeToFMuxSerOpSet = 's'
 set operator value
 
const char LaeToFMuxSerOpReset = 'r'
 reset operator value
 
const char LaeToFMuxSerOpStet = '-'
 reset operator value
 
const char LaeToFMuxSerOpBad = '?'
 unknown/bad operator
 
const char LaeToFMuxSerCmdIdHelp = 'h'
 serial command id
 
const char LaeToFMuxSerCmdIdGetVersion = 'v'
 serial command id
 
const byte_t LaeToFMuxSerCmdArgcGetVersion = 1
 cmd argument count
 
const byte_t LaeToFMuxSerRspArgcGetVersion = 4
 rsp argument count
 
const char LaeToFMuxSerCmdIdConfig = 'c'
 serial command id
 
const byte_t LaeToFMuxSerCmdArgcGetConfig = 2
 get cmd argument count
 
const byte_t LaeToFMuxSerCmdArgcSetConfig = 3
 set cmd argument count
 
const byte_t LaeToFMuxSerRspArgcConfig = 2
 rsp argument count
 
const char LaeToFMuxSerCmdIdGetIdent = 'i'
 command id
 
const byte_t LaeToFMuxSerCmdArgcGetIdent = 2
 cmd argument count
 
const byte_t LaeToFMuxSerRspArgcGetIdent = 6
 rsp argument count
 
const char LaeToFMuxSerCmdIdGetDist = 'd'
 command id
 
const byte_t LaeToFMuxSerCmdArgcGetDist = 1
 cmd argument count
 
const byte_t LaeToFMuxSerRspArgcGetDist = 9
 rsp argument count
 
const char LaeToFMuxSerCmdIdGetLux = 'a'
 command id
 
const byte_t LaeToFMuxSerCmdArgcGetLux = 1
 cmd argument count
 
const byte_t LaeToFMuxSerRspArgcGetLux = 9
 rsp argument count
 
const char LaeToFMuxSerCmdIdTunes = 't'
 command id
 
const byte_t LaeToFMuxSerCmdArgcGetTunes = 3
 cmd get argument count
 
const byte_t LaeToFMuxSerCmdArgcSetTunes = 7
 cmd set argument count
 
const byte_t LaeToFMuxSerRspArgcTunes = 5
 rsp argument count
 
const char LaeToFMuxSerCmdIdProbe = 'p'
 command id
 
const byte_t LaeToFMuxSerCmdArgcProbe = 1
 cmd argument count
 
const byte_t LaeToFMuxSerRspArgcProbe = 2
 rsp argument count
 
const char LaeToFMuxSerCmdIdList = 'l'
 command id
 
const byte_t LaeToFMuxSerCmdArgcList = 1
 cmd argument count
 
const byte_t LaeToFMuxSerRspArgcList = 9
 rsp argument count
 
const char LaeToFMuxSerCmdIdCont = 'o'
 serial command id
 
const byte_t LaeToFMuxSerCmdArgcCont = 2
 cmd argument count
 
const byte_t LaeToFMuxSerRspArgcCont = 2
 rsp argument count
 
const char LaeToFMuxSerCmdIdReadReg = 'r'
 command id
 
const byte_t LaeToFMuxSerCmdArgcReadReg = 4
 cmd argument count
 
const byte_t LaeToFMuxSerRspArgcReadReg = 2
 rsp argument count
 
const char LaeToFMuxSerCmdIdWriteReg = 'w'
 command id
 
const byte_t LaeToFMuxSerCmdArgcWriteReg = 5
 cmd argument count
 
const byte_t LaeToFMuxSerRspArgcWriteReg = 2
 rsp argument count
 
const char LaeToFMuxSerCmdIdDebug = 'x'
 command id
 
const byte_t LaeToFMuxSerCmdArgcDebug = 3
 cmd argument count
 
const byte_t LaeToFMuxSerRspArgcDebug = 2
 rsp argument count
 
const long MILLION = 1000000
 
const long long BILLION = 1000000000
 
const byte_t LaeWdArgFail = 0
 command failure response
 
const byte_t LaeWdArgPass = 1
 command success response
 
const unsigned long LaeWdTimeoutDft = 6000
 watchdog timeout default
 
const unsigned long LaeWdTimeoutMin = 10
 watchdog timeout minimum
 
const unsigned long LaeWdTimeoutMax = 60000
 watchdog timeout maximum
 
const unsigned int LaeWdArgBattSoCMin = 0
 0% charge
 
const unsigned int LaeWdArgBattSoCMax = 100
 100% charge
 
const unsigned int LaeWdArgAlarmNone = 0x0000
 no/clear alarms
 
const unsigned int LaeWdArgAlarmGen = 0x0001
 general alarm
 
const unsigned int LaeWdArgAlarmBatt = 0x0002
 battery low alarm
 
const unsigned int LaeWdArgAlarmTemp = 0x0004
 temperature alarm
 
const unsigned int LaeWdArgAlarmEStop = 0x0008
 emergency stop
 
const unsigned int LaeWdArgAlarmBattCrit = 0x1000
 batt crit modifier
 
const unsigned int LaeWdArgAlarmCrit = 0x2000
 crit alarm modifier
 
const unsigned int LaeWdArgAlarmTypeMask = 0x0fff
 alarm types mask
 
const unsigned int LaeWdArgAlarmMask = 0x3fff
 alarm valid bits mask
 
const byte_t LaeWdArgRgbLedMin = 0
 no channel color
 
const byte_t LaeWdArgRgbLedMax = 255
 full channel color
 
const byte_t LaeWdArgDPinNumMin = 2
 min pin number
 
const byte_t LaeWdArgDPinNumWMin = 5
 min write/modify pin number
 
const byte_t LaeWdArgDPinNumWMax = 8
 max write/modify pin number
 
const byte_t LaeWdArgDPinNumMax = 8
 max pin number
 
const byte_t LaeWdArgDPinDirIn = 0
 input
 
const byte_t LaeWdArgDPinDirOut = 1
 output
 
const byte_t LaeWdArgDPinValLow = 0
 pin is low (0V)
 
const byte_t LaeWdArgDPinValHigh = 1
 pin is high (Vcc)
 
const byte_t LaeWdArgAInPinNumMin = 14
 analog input min pin number
 
const byte_t LaeWdArgAInPinNumMax = 17
 analog input max pin number
 
const int LaeWdArgAInPinValMin = 0
 analog input minimum value
 
const int LaeWdArgAInPinValMax = 1023
 analog input maximum value
 
const byte_t LaeWdArgAOutPinNumMin = 2
 analog output min pin number
 
const byte_t LaeWdArgAOutPinNumMax = 8
 analog output max pin number
 
const int LaeWdArgAOutPinValMin = 0
 analog output minimum value
 
const int LaeWdArgAOutPinValMax = 255
 analog output maximum value
 
const byte_t LaeI2CAddrArduino = 0x32
 arduino I2C 7-bit address
 
const byte_t LaeI2CAddrWd = 0x32
 watchdog I2C address synonym
 
const int LaeWdMaxCmdLen = 8
 maximum command length
 
const int LaeWdMaxRspLen = 8
 maximum response length
 
const byte_t LaeWdCmdIdPetDog = 0
 command id
 
const byte_t LaeWdCmdLenPetDog = 1
 command length (bytes)
 
const byte_t LaeWdRspLenPetDog = 0
 v1 response length (bytes)
 
const byte_t LaeWdRspLenPetDog_2 = 1
 v2 response length (bytes)
 
const byte_t LaeWdCmdIdGetVersion = 1
 command id
 
const byte_t LaeWdCmdLenGetVersion = 1
 command length (bytes)
 
const byte_t LaeWdRspLenGetVersion = 1
 response length (bytes)
 
const byte_t LaeWdCmdIdSetBattCharge = 2
 command id
 
const byte_t LaeWdCmdLenSetBattCharge = 2
 command length (bytes)
 
const byte_t LaeWdRspLenSetBattCharge = 0
 response length (bytes)
 
const byte_t LaeWdCmdIdSetAlarms = 3
 command id
 
const byte_t LaeWdCmdLenSetAlarms = 3
 command length (bytes)
 
const byte_t LaeWdRspLenSetAlarms = 0
 response length (bytes)
 
const byte_t LaeWdCmdIdSetRgbLed = 4
 command id
 
const byte_t LaeWdCmdLenSetRgbLed = 4
 command length (bytes)
 
const byte_t LaeWdRspLenSetRgbLed = 0
 response length (bytes)
 
const byte_t LaeWdCmdIdResetRgbLed = 5
 command id
 
const byte_t LaeWdCmdLenResetRgbLed = 1
 command length (bytes)
 
const byte_t LaeWdRspLenResetRgbLed = 0
 response length (bytes)
 
const byte_t LaeWdCmdIdConfigDPin = 6
 command id
 
const byte_t LaeWdCmdLenConfigDPin = 3
 command length (bytes)
 
const byte_t LaeWdRspLenConfigDPin = 0
 response length (bytes)
 
const byte_t LaeWdCmdIdReadDPin = 7
 command id
 
const byte_t LaeWdCmdLenReadDPin = 2
 command length (bytes)
 
const byte_t LaeWdRspLenReadDPin = 2
 response length (bytes)
 
const byte_t LaeWdCmdIdWriteDPin = 8
 command id
 
const byte_t LaeWdCmdLenWriteDPin = 3
 command length (bytes)
 
const byte_t LaeWdRspLenWriteDPin = 0
 response length (bytes)
 
const byte_t LaeWdCmdIdReadAPin = 9
 command id
 
const byte_t LaeWdCmdLenReadAPin = 2
 command length (bytes)
 
const byte_t LaeWdRspLenReadAPin = 3
 response length (bytes)
 
const byte_t LaeWdCmdIdWriteAPin = 10
 command id
 
const byte_t LaeWdCmdLenWriteAPin = 3
 command length (bytes)
 
const byte_t LaeWdRspLenWriteAPin = 0
 response length (bytes)
 
const byte_t LaeWdCmdIdEnableMotorCtlrs = 11
 command id
 
const byte_t LaeWdCmdLenEnableMotorCtlrs = 2
 command length (bytes)
 
const byte_t LaeWdRspLenEnableMotorCtlrs = 1
 response length (bytes)
 
const byte_t LaeWdCmdIdEnableAuxPort = 12
 command id
 
const byte_t LaeWdCmdLenEnableAuxPort = 3
 command length (bytes)
 
const byte_t LaeWdRspLenEnableAuxPort = 0
 response length (bytes)
 
const byte_t LaeWdArgAuxPortBatt = 1
 battery auxlliary port
 
const byte_t LaeWdArgAuxPort5V = 2
 regulated 5 volt auxilliary port
 
const byte_t LaeWdCmdIdReadEnables = 13
 command id
 
const byte_t LaeWdCmdLenReadEnables = 0
 command length (bytes)
 
const byte_t LaeWdRspLenReadEnables = 3
 response length (bytes)
 
const byte_t LaeWdCmdIdReadVolts = 14
 command id
 
const byte_t LaeWdCmdLenReadVolts = 1
 command length (bytes)
 
const byte_t LaeWdRspLenReadVolts = 2
 response length (bytes)
 
const float LaeWdArgVMult = 10.0
 voltage multiplier
 
const float LaeWdArgVScale = 0.1
 voltage scaler
 
const byte_t LaeWdCmdIdTest = 15
 command id
 
const byte_t LaeWdCmdLenTest = 1
 command length (bytes)
 
const byte_t LaeWdRspLenTest = 5
 v1 response length (bytes)
 
const byte_t LaeWdCmdIdConfigFw = 16
 command id
 
const byte_t LaeWdCmdLenConfigFw = 3
 command length (bytes)
 
const byte_t LaeWdRspLenConfigFw = 0
 v1 response length (bytes)
 
const byte_t LaeWdSerMaxCmdLen = 80
 max command length (bytes)
 
const byte_t LaeWdSerMaxCmdArgc = 8
 max cmd argument count
 
const byte_t LaeWdSerMaxCmdArgLen = 8
 max cmd arg length (bytes)
 
const byte_t LaeWdSerMaxRspLen = 80
 max rsp line length (bytes)
 
const byte_t LaeWdSerMaxRspArgc = 8
 max rsp argument count
 
const byte_t LaeWdSerMaxRspArgLen = 16
 max rsp arg length (bytes)
 
const char LaeWdSerEoC = '\n'
 end of command
 
const char LaeWdSerEoR = '\n'
 end of response
 
const char LaeWdSerSep = ' '
 argument separator(s)
 
const char LaeWdSerArgOff [] = "0"
 off state argument string
 
const char LaeWdSerArgOn [] = "1"
 on state argument string
 
const char LaeWdSerArgGet [] = "g"
 get operator argument string
 
const char LaeWdSerArgSet [] = "s"
 set operator argument string
 
const char LaeWdSerArgReset [] = "r"
 reset operator argument string
 
const char LaeWdSerArgStet [] = "-"
 leave as is operator arg string
 
const char LaeWdSerArgErrRsp [] = "E"
 response error argument string
 
const char LaeWdSerOpGet = 'g'
 get operator value
 
const char LaeWdSerOpSet = 's'
 set operator value
 
const char LaeWdSerOpReset = 'r'
 reset operator value
 
const char LaeWdSerOpBad = '?'
 unknown/bad operator
 
const char LaeWdSerCmdIdHelp = 'h'
 serial command id
 
const char LaeWdSerCmdIdGetVersion = 'v'
 serial command id
 
const byte_t LaeWdSerCmdArgcGetVersion = 1
 cmd argument count
 
const byte_t LaeWdSerRspArgcGetVersion = 4
 rsp argument count
 
const char LaeWdSerCmdIdPetTheDog = 'p'
 serial command id
 
const byte_t LaeWdSerCmdArgcPetTheDog = 1
 cmd argument count
 
const byte_t LaeWdSerRspArgcPetTheDog = 2
 rsp argument count
 
const char LaeWdSerCmdIdOpConfig = 'c'
 serial command id
 
const byte_t LaeWdSerCmdArgcGetConfig = 2
 get cmd argument count
 
const byte_t LaeWdSerCmdArgcSetConfig = 3
 set cmd argument count
 
const byte_t LaeWdSerRspArgcOpConfig = 2
 rsp argument count
 
const char LaeWdSerCmdIdOpBattSoC = 'b'
 serial command id
 
const byte_t LaeWdSerCmdArgcGetBattSoC = 2
 get cmd argument count
 
const byte_t LaeWdSerCmdArgcSetBattSoC = 3
 set cmd argument count
 
const byte_t LaeWdSerRspArgcOpBattSoC = 2
 rsp argument count
 
const char LaeWdSerCmdIdOpAlarms = 'a'
 serial command id
 
const byte_t LaeWdSerCmdArgcGetAlarms = 2
 get cmd argument count
 
const byte_t LaeWdSerCmdArgcSetAlarms = 3
 set cmd argument count
 
const byte_t LaeWdSerRspArgcOpAlarms = 2
 rsp argument count
 
const char LaeWdSerCmdIdOpLed = 'l'
 serial command id
 
const byte_t LaeWdSerCmdArgcGetLed = 2
 get cmd argument count
 
const byte_t LaeWdSerCmdArgcSetLed = 5
 set cmd argument count
 
const byte_t LaeWdSerCmdArgcResetLed = 2
 reset cmd argument count
 
const byte_t LaeWdSerRspArgcOpLed = 4
 rsp argument count
 
const char LaeWdSerCmdIdOpEnMotorCtlrs = 'm'
 serial command id
 
const byte_t LaeWdSerCmdArgcGetEnMotorCtlrs = 2
 get cmd argument count
 
const byte_t LaeWdSerCmdArgcSetEnMotorCtlrs = 3
 set cmd argument count
 
const byte_t LaeWdSerRspArgcOpEnMotorCtlrs = 2
 rsp argument count
 
const char LaeWdSerCmdIdOpEnAuxPorts = 'x'
 serial command id
 
const byte_t LaeWdSerCmdArgcGetEnAuxPorts = 2
 get cmd argument count
 
const byte_t LaeWdSerCmdArgcSetEnAuxPorts = 4
 set cmd argument count
 
const byte_t LaeWdSerRspArgcOpEnAuxPorts = 3
 rsp argument count
 
const byte_t LaeWdSerCmdIdReadVolts = 'r'
 serial command id
 
const byte_t LaeWdSerCmdArgcReadVolts = 1
 cmd argument count
 
const byte_t LaeWdSerRspArgcReadVolts = 3
 rsp argument count
 
struct timeval sum = op1
 
sum tv_sec = op2.tv_sec
 
sum tv_usec = op2.tv_usec
 
return sum
 
struct timespec sum = op1
 
sum tv_nsec = op2.tv_nsec
 
const double LaeTuneThreadImuHzDft = LaeThreadImu::ThreadImuHzDft
 Default IMU thread cycle rate (Hertz). More...
 
const double LaeTuneThreadKinHzDft = LaeThreadKin::ThreadKinHzDft
 Default kinematics thread cycle rate (Hertz). More...
 
const double LaeTuneThreadRangeHzDft =LaeThreadRange::ThreadRangeHzDft
 Default range sensing thread cycle rate (Hertz). More...
 
const double LaeTuneThreadHzMin = LaeThread::ThreadMinHz
 Minimum thread cycle rate (Hertz). More...
 
const double LaeTuneWdTimeoutDft = (double)LaeWdTimeoutDft / 1000.0
 Default Laelaps watchdog timeout. More...
 
const double LaeTuneWdTimeoutMin = (double)LaeWdTimeoutMin / 1000.0
 Minimum watchdog timeout (msec).
 
const double LaeTuneWdTimeoutMax = (double)LaeWdTimeoutMax / 1000.0
 Maximum watchdog timeout (msec).
 
const double LaeTuneVelDerateDft = 100.0
 Default Laelaps robot velocity derate (% of goal velocities). More...
 
const double LaeTuneVelDerateMin = 10.0
 Minimum robot velocity derate (% of goal velocities).
 
const double LaeTuneVelDerateMax = 100.0
 Maximum robot velocity derate (% of goal velocities).
 
const LaeNorm LaeTuneTrajNormDft = LaeNormLinf
 Default trajectory norm. More...
 
const double LaeTuneTrajEpsilonDft = 0.001
 Default trajectory distance epsilon (meters). More...
 
const double LaeTuneTrajEpsilonMin = 0.0
 Minimum epsilon value (meters).
 
const char *const LaeTuneBattType = "lithium-ion polymer"
 Fixed battery type. More...
 
const char *const LaeTuneBattChem = "NMC"
 Fixed battery chemistry. More...
 
const double LaeTuneBattCapAh = 10.0
 Fixed battery capacity (Amp-hours). More...
 
const int LaeTuneBattCells = 3
 Fixed battery cell count. More...
 
const double LaeTuneBattMaxVMax = 12.9
 Maximum maximum battery voltage.
 
const double LaeTuneBattMaxVDft = 12.6
 
const double LaeTuneBattNominalV = 11.1
 Fixed nominal operating voltage.
 
const double LaeTuneBattMinVDft = 9.0
 
const double LaeTuneBattMinVMin = 8.1
 Minimum minimum battery voltage.
 
const double LaeTuneVelPidKpDft = 2500.0
 Default motor velocity PID proportional constant. More...
 
const double LaeTuneVelPidKiDft = 500.0
 Default motor velocity PID integral constant. More...
 
const double LaeTuneVelPidKdDft = 150.0
 Default motor velocity PID derivative constant. More...
 
const double LaeTuneVelPidKMin = 0.0
 Minimum PID K constant value.
 
const double LaeTuneTireRadiusDft = 0.60
 Default tire radius (meters). More...
 
const double LaeTuneTireWidthDft = 0.65
 Default tire width (meters). More...
 
const double LaeTuneTireDimMin = 0.01
 Minimum tire dimension.
 
const int LaeTuneVL6180TofOffsetDft = VL6180X_FACTORY_DFT
 Default Time-of-Flight part-to-part offset. More...
 
const int LaeTuneVL6180TofOffsetMin = VL6180X_RANGE_OFFSET_MIN
 Minimum Time-of-Flight part-to-part offset value.
 
const int LaeTuneVL6180TofOffsetMax = VL6180X_RANGE_OFFSET_MAX
 Maximum Time-of-Flight part-to-part offset value.
 
const int LaeTuneVL6180TofXTalkDft = VL6180X_FACTORY_DFT
 Default Time-of-Flight cross-talk compensation. More...
 
const int LaeTuneVL6180TofXTalkMin = VL6180X_RANGE_XTALK_MIN
 Minimum Time-of-Flight cross-talk compensation value.
 
const int LaeTuneVL6180TofXTalkMax = VL6180X_RANGE_XTALK_MAX
 Maximum Time-of-Flight cross-talk compensation value.
 
const double LaeTuneVL6180AlsGainDft = VL6180X_AMBIENT_GAIN_MIN
 Default Ambient Light Sensor analog gain. More...
 
const double LaeTuneVL6180AlsGainMin = VL6180X_AMBIENT_GAIN_MIN
 Minimum Ambient Light Sensor analog gain.
 
const double LaeTuneVL6180AlsGainMax = VL6180X_AMBIENT_GAIN_MAX
 Maximum Ambient Light Sensor analog gain.
 
const int LaeTuneVL6180AlsIntPeriodDft = VL6180X_AMBIENT_INT_T_REC
 Default Ambient Light Sensor integration period (msec). More...
 
const int LaeTuneVL6180AlsIntPeriodMin = VL6180X_AMBIENT_INT_T_MIN
 Minimum Ambient Light Sensor integration period (msec).
 
const int LaeTuneVL6180AlsIntPeriodMax = VL6180X_AMBIENT_INT_T_MAX
 Maximum Ambient Light Sensor integration period (msec).
 

Static Public Attributes

static const u32_t LAE_ALARM_NONE = 0x00000000
 no alarms
 
static const u32_t LAE_ALARM_GEN = 0x00000001
 general alarm
 
static const u32_t LAE_ALARM_ESTOP = 0x00000002
 emergency stop
 
static const u32_t LAE_ALARM_BATT = 0x00000004
 battery low alarm
 
static const u32_t LAE_ALARM_TEMP = 0x00000008
 temperature alarm
 
static const u32_t LAE_ALARM_NO_RSRC = 0x00000010
 resource not found
 
static const u32_t LAE_ALARM_SUBSYS = 0x00000020
 1+ subsystem alarms
 
static const u32_t LAE_ALARM_MOTCTLR_BATT_V_HIGH = 0x00000100
 motor controller battery input over voltage alarm
 
static const u32_t LAE_ALARM_MOTCTLR_LOGIC_V_HIGH = 0x00000400
 motor controller logic over voltage alarm
 
static const u32_t LAE_ALARM_MOTCTLR_LOGIC_V_LOW = 0x00000800
 motor contorller logic under voltage alarm
 
static const u32_t LAE_ALARM_MOT_OVER_CUR = 0x00001000
 motor over current alarm
 
static const u32_t LAE_ALARM_MOT_FAULT = 0x00002000
 motor drive fault alarm
 
static const u32_t LAE_ALARM_IMU = 0x00010000
 imu alarm
 
static const u32_t LAE_ALARM_RANGE = 0x00020000
 range alarm
 
static const u32_t LAE_ALARM_FCAM = 0x00040000
 front camera alarm
 
static const u32_t LAE_WARN_NONE = 0x00000000
 The [sub]sytem warnings. More...
 
static const u32_t LAE_WARN_BATT = 0x00000004
 battery low warning
 
static const u32_t LAE_WARN_TEMP = 0x00000008
 temperature warning
 
static const u32_t LAE_WARN_SUBSYS = 0x00000020
 1+ subsystem warnings
 
static const u32_t LAE_WARN_MOTCTLR_BATT_V_HIGH = 0x00000100
 motor controller battery input over voltage warning
 
static const u32_t LAE_WARN_MOTCTLR_BATT_V_LOW = 0x00000200
 motor controller battery input under voltage warn
 
static const u32_t LAE_WARN_MOT_OVER_CUR = 0x00001000
 motor over current warning
 
static const double LAE_WARN_BATT_SOC = 20.0
 Alarm thresholds, criticalities, etc. More...
 
static const double LAE_CRIT_BATT_SOC = 5.0
 battery critical state of charge threshold
 
static const u32_t LAE_CRIT_MOTCTLR = LAE_ALARM_MOTCTLR_LOGIC_V_LOW
 critical alarms for motor controller subsystem
 
static const u32_t LAE_CRIT_MOT = LAE_ALARM_MOT_FAULT
 critacal alarms for motor subsystem
 
static const int LAE_OK = 0
 not an error, success
 
static const int LAE_ECODE_GEN = 1
 general, unspecified error
 
static const int LAE_ECODE_SYS = 2
 system (errno) error
 
static const int LAE_ECODE_INTERNAL = 3
 internal error (bug)
 
static const int LAE_ECODE_BAD_VAL = 4
 bad value general error
 
static const int LAE_ECODE_TOO_BIG = 5
 value/list/size too big
 
static const int LAE_ECODE_TOO_SMALL = 6
 value/list/size too small
 
static const int LAE_ECODE_RANGE = 7
 value out-of-range
 
static const int LAE_ECODE_BAD_OP = 8
 invalid operation error
 
static const int LAE_ECODE_TIMEDOUT = 9
 operation timed out error
 
static const int LAE_ECODE_NO_DEV = 10
 device not found error
 
static const int LAE_ECODE_NO_RSRC = 11
 no resource available error
 
static const int LAE_ECODE_BUSY = 12
 resource busy error
 
static const int LAE_ECODE_NO_EXEC = 13
 cannot execute error
 
static const int LAE_ECODE_PERM = 14
 no permissions error
 
static const int LAE_ECODE_DYNA = 15
 dynamixel error
 
static const int LAE_ECODE_VIDEO = 16
 video error
 
static const int LAE_ECODE_FORMAT = 17
 bad format
 
static const int LAE_ECODE_BOTSENSE = 18
 botsense error
 
static const int LAE_ECODE_NO_FILE = 19
 file not found
 
static const int LAE_ECODE_XML = 20
 XML error.
 
static const int LAE_ECODE_ALARMED = 21
 robot is alarmed
 
static const int LAE_ECODE_INTR = 22
 operation interrupted
 
static const int LAE_ECODE_COLLISION = 23
 robot link(s) in collision
 
static const int LAE_ECODE_ESTOP = 24
 robot emergency stopped
 
static const int LAE_ECODE_MOT_CTLR = 25
 motor controller error
 
static const int LAE_ECODE_IO = 26
 I/O error.
 
static const int LAE_ECODE_BADEC = 27
 bad error code
 
static const int LAE_ECODE_NUMOF = 28
 number of error codes
 
static const int LaeProdIdUnknown = 0
 unknown/undefined product id
 
static const int LaeProdIdStd = 1
 standard Laelaps product id
 
static const int LaeProdIdLarge = 2
 large Laelaps product id
 
static const char *const LaeKeyFront = "front"
 front
 
static const char *const LaeKeyRear = "rear"
 rear
 
static const char *const LaeKeyLeftFront = "left_front"
 left front
 
static const char *const LaeKeyRightFront = "right_front"
 right front
 
static const char *const LaeKeyLeftRear = "left_rear"
 left rear
 
static const char *const LaeKeyRightRear = "right_rear"
 right rear
 
static const int LaeMotorIdNone = -1
 no motor id
 
static const int LaeMotorIdLF = 0
 left front
 
static const int LaeMotorIdRF = 1
 right front
 
static const int LaeMotorIdLR = 2
 left rear
 
static const int LaeMotorIdRR = 3
 right rear
 
static const int LaeMotorsNumOf = 4
 number of motors
 
static const int LaeMotorCtlrIdNone = -1
 no motor controller id
 
static const int LaeMotorCtlrIdFront = 0
 front motor controller
 
static const int LaeMotorCtlrIdRear = 1
 rear motor controller
 
static const int LaeNumMotorCtlrs = 2
 number of motor controllers
 
static const byte_t LaeMotorCtlrAddrFront = motor::roboclaw::AddrMin
 front motor controller address
 
static const byte_t LaeMotorCtlrAddrRear = motor::roboclaw::AddrMin + 1
 rear motor controller address
 
static const int LaeMotorLeft = motor::roboclaw::Motor1
 left motors
 
static const int LaeMotorRight = motor::roboclaw::Motor2
 right motors
 
static const int LaeNumMotorsPerCtlr = motor::roboclaw::NumMotors
 number of motors/controller
 
static const int LaeMotorDirNormal = motor::roboclaw::MotorDirNormal
 normal
 
static const int LaeMotorDirReverse = motor::roboclaw::MotorDirReverse
 reverse
 
static const int LaeMotorAlarmNone = 0x00
 no alarms
 
static const int LaeMotorAlarmCurrent = 0x01
 under/over current
 
static const int LaeMotorAlarmVoltage = 0x02
 under/over voltage
 
static const int LaeMotorAlarmEStop = 0x04
 emergency stopped
 
static const int LaeMotorAlarmTemp = 0x08
 over temperature
 
static const int LaeMotorAlarmFault = 0x10
 motor drive fault
 
static const int LaeMotorWarnNone = 0x00
 no warnings
 
static const int LaeMotorWarnCurrent = 0x01
 over current
 
static const int LaeMotorWarnTemp = 0x02
 over temperature
 
static const int LaeMotorWarnVoltage = 0x04
 under/over voltage
 
static const int LaeQuadPulsesPerRev = 64
 pulses/motor revolution
 
static const double LaeMotorGearRatio = 30.0
 gear ratio
 
static const double LaeMotorRatedMaxRpm = 350.0
 max output shaft rpm
 
static const double LaeMotorStallTorque = 0.776771
 stall torque (N-m) @5A
 
static const double LaeMotorRatedAmps = 5.0
 motor rated max amps.
 
static const double LaeMotorMaxAmps = 30.0
 max amp limit/motor
 
static const double LaeMotorMaxAmps_2_0 = 2.5
 max amp limit/motor
 
static const double LaeMotorMaxAmps_2_1 = 5.0
 max amp limit/motor
 
static const timespec_t StartImmediately = {0, 0}
 Start navigation immediately.
 
static const int TrajDesired = 0
 Trajectory feedback identifiers (and indices). More...
 
static const int TrajActual = 1
 actual trajectory
 
static const int TrajError = 2
 errors in trajectory
 
static const int TrajNumOf = 3
 number of trajectories ids
 

Detailed Description

Definition at line 184 of file laeUtils.cxx.

Member Typedef Documentation

typedef std::map<std::string, double> laelaps::LaeMapDutyCycle

Duty cycle trajectory type.

The robot is controlled by seting the goal motor duty cycles.

  • key Name of powertrain. One of: left_front, right_front, left_rear, right_rear.
  • value Normalized duty cycle [-1.0, 1.0].

Definition at line 269 of file laeTraj.h.

typedef std::map<std::string, LaePowertrain> laelaps::LaeMapPowertrain

Map of powertrain kinodynamics.

key: powertrain unique name
mapped type: powertrain attribute and state data

Definition at line 375 of file laePowertrain.h.

typedef std::map<std::string, double> laelaps::LaeMapVelocity

Velocity trajectory type.

The robot is controlled by seting the goal velocities of a [sub]set of powertrain motors.

  • key Name of powertrain. One of: left_front, right_front, left_rear, right_rear.
  • value Wheel angular velocity (radians/second).

Definition at line 258 of file laeTraj.h.

Member Enumeration Documentation

Joint/wheel location detection types.

A joint may have more than one type.

Enumerator
LaeEncTypeUnknown 

unknown/undefined encoder type

LaeEncTypeNone 

no encoder

LaeEncTypePhys 

physical torque with relative encoder

LaeEncTypeElec 

limit switch with relative encoder

LaeEncTypeElecTDC 

top dead center switch with rel. enc.

LaeEncTypeAbs 

absolute encoder

LaeEncTypeQuadrature 

quadrature encoder

LaeEncTypeNumOf 

number of supported location types

Definition at line 90 of file laeDesc.h.

91  {
92  LaeEncTypeUnknown = 0x00, ///< unknown/undefined encoder type
93  LaeEncTypeNone = 0x01, ///< no encoder
94  LaeEncTypePhys = 0x02, ///< physical torque with relative encoder
95  LaeEncTypeElec = 0x04, ///< limit switch with relative encoder
96  LaeEncTypeElecTDC = 0x08, ///< top dead center switch with rel. enc.
97  LaeEncTypeAbs = 0x10, ///< absolute encoder
98  LaeEncTypeQuadrature = 0x20, ///< quadrature encoder
99 
100  LaeEncTypeNumOf = 6 ///< number of supported location types
101  };
absolute encoder
Definition: laeDesc.h:97
number of supported location types
Definition: laeDesc.h:100
physical torque with relative encoder
Definition: laeDesc.h:94
limit switch with relative encoder
Definition: laeDesc.h:95
unknown/undefined encoder type
Definition: laeDesc.h:92
top dead center switch with rel. enc.
Definition: laeDesc.h:96
quadrature encoder
Definition: laeDesc.h:98

Supported joint/wheel types. Not really used for now.

Enumerator
LaeJointTypeUnknown 

unknown/undefined joint type

LaeJointTypeFixed 

fixed joint

LaeJointTypeRevolute 

limited rotation

LaeJointTypeContinuous 

continuous rotation

LaeJointTypeRevMimic 

mimic rotation (e.g. fingers)

LaeJointTypeNumOf 

number of supported joint types

Definition at line 74 of file laeDesc.h.

75  {
76  LaeJointTypeUnknown = 0, ///< unknown/undefined joint type
77  LaeJointTypeFixed, ///< fixed joint
78  LaeJointTypeRevolute, ///< limited rotation
79  LaeJointTypeContinuous, ///< continuous rotation
80  LaeJointTypeRevMimic, ///< mimic rotation (e.g. fingers)
81 
82  LaeJointTypeNumOf = 4 ///< number of supported joint types
83  };
number of supported joint types
Definition: laeDesc.h:82
continuous rotation
Definition: laeDesc.h:79
mimic rotation (e.g. fingers)
Definition: laeDesc.h:80
unknown/undefined joint type
Definition: laeDesc.h:76
limited rotation
Definition: laeDesc.h:78

Member Data Documentation

const double laelaps::LaeTuneBattCapAh = 10.0

Fixed battery capacity (Amp-hours).

Fixed: 10 Scope: battery

Definition at line 236 of file laeTune.h.

Referenced by laelaps::LaeDescBattery::LaeDescBattery(), and laelaps::LaeTunesBattery::LaeTunesBattery().

const int laelaps::LaeTuneBattCells = 3

Fixed battery cell count.

Fixed: 3 Scope: battery

Definition at line 244 of file laeTune.h.

Referenced by laelaps::LaeDescBattery::LaeDescBattery(), and laelaps::LaeTunesBattery::LaeTunesBattery().

const char *const laelaps::LaeTuneBattChem = "NMC"

Fixed battery chemistry.

The chemistry islithium nickel manganese cobalt oxide (NMC).

Fixed: NMC Scope: battery

Definition at line 228 of file laeTune.h.

const double laelaps::LaeTuneBattMaxVDft = 12.6

brief Default maximum operating voltage.

Range: [LaeTuneBattNominalV, LaeTuneBattMaxVMax] Scope: battery

Definition at line 257 of file laeTune.h.

Referenced by laelaps::LaeDescBattery::LaeDescBattery(), and laelaps::LaeTunesBattery::LaeTunesBattery().

const double laelaps::LaeTuneBattMinVDft = 9.0

brief Default minimum operating voltage.

Range: [LaeTuneBattMinVMin, LaeTuneBattNominalV] Scope: battery

Definition at line 270 of file laeTune.h.

Referenced by laelaps::LaeDescBattery::LaeDescBattery(), and laelaps::LaeTunesBattery::LaeTunesBattery().

const char *const laelaps::LaeTuneBattType = "lithium-ion polymer"

Fixed battery type.

Fixed: lithium-ion polymer Scope: battery

Definition at line 218 of file laeTune.h.

const double laelaps::LaeTuneThreadHzMin = LaeThread::ThreadMinHz

Minimum thread cycle rate (Hertz).

Gotta give me something boys!

Definition at line 113 of file laeTune.h.

const double laelaps::LaeTuneThreadImuHzDft = LaeThreadImu::ThreadImuHzDft

Default IMU thread cycle rate (Hertz).

defgroup lae_tunes

All IMU tasks exectute per each cycle.

Range: ≥ LaeTuneThreadHzMin Scope: global

Definition at line 86 of file laeTune.h.

Referenced by laelaps::LaeTunes::LaeTunes().

const double laelaps::LaeTuneThreadKinHzDft = LaeThreadKin::ThreadKinHzDft

Default kinematics thread cycle rate (Hertz).

All dynamics and kinematics tasks exectute per each cycle.

Range: ≥ LaeTuneThreadHzMin Scope: global

Definition at line 96 of file laeTune.h.

Referenced by laelaps::LaeTunes::LaeTunes().

const double laelaps::LaeTuneThreadRangeHzDft =LaeThreadRange::ThreadRangeHzDft

Default range sensing thread cycle rate (Hertz).

All sensing tasks exectute per each cycle.

Range: ≥ LaeTuneThreadHzMin Scope: global

Definition at line 106 of file laeTune.h.

Referenced by laelaps::LaeTunes::LaeTunes().

const double laelaps::LaeTuneTireRadiusDft = 0.60

Default tire radius (meters).

Range: ≥ LaeTuneTireMin Scope: powertrains

Definition at line 319 of file laeTune.h.

Referenced by laelaps::LaeDescBase::LaeDescBase(), and laelaps::LaeTunesPowertrain::LaeTunesPowertrain().

const double laelaps::LaeTuneTireWidthDft = 0.65

Default tire width (meters).

Range: ≥ LaeTuneTireMin Scope: powertrains

Definition at line 327 of file laeTune.h.

Referenced by laelaps::LaeDescBase::LaeDescBase(), and laelaps::LaeTunesPowertrain::LaeTunesPowertrain().

const double laelaps::LaeTuneTrajEpsilonDft = 0.001

Default trajectory distance epsilon (meters).

Trajectory waypoints distances within epsilon are considered reached.

* ||WP-P|| < epsilon <==> waypoint reached
*   Where WP is the x,y goal vector of positions and P is the vector
*   of current x,y position.
* 

Range: ≥ LaeTuneTrajEpsilonMin

Definition at line 201 of file laeTune.h.

Referenced by laelaps::LaeTunes::LaeTunes().

const LaeNorm laelaps::LaeTuneTrajNormDft = LaeNormLinf

Default trajectory norm.

Range: LaeNormL1, LaeNormL2, LaeNormLinf Scope: global

Definition at line 186 of file laeTune.h.

Referenced by laelaps::LaeTunes::LaeTunes().

const double laelaps::LaeTuneVelDerateDft = 100.0

Default Laelaps robot velocity derate (% of goal velocities).

When a new move command is received, all of the goal velocities are multiplied by this derated value.

The working value is converted to a normalized value internally.

* velocity_derate = tune_velocity_derate / 100.0
* goal_vel = goal_vel * velocity_derate
* 

Range: [LaeTuneVelDerateMin, LaeTuneVelDerateMax] Scope: global

Definition at line 164 of file laeTune.h.

Referenced by laelaps::LaeTunes::LaeTunes().

const double laelaps::LaeTuneVelPidKdDft = 150.0

Default motor velocity PID derivative constant.

Range: ≥ LaeTunePidKMin Scope: powertrains

Definition at line 303 of file laeTune.h.

Referenced by laelaps::LaeTunesPowertrain::LaeTunesPowertrain().

const double laelaps::LaeTuneVelPidKiDft = 500.0

Default motor velocity PID integral constant.

Range: ≥ LaeTunePidKMin Scope: powertrains

Definition at line 295 of file laeTune.h.

Referenced by laelaps::LaeTunesPowertrain::LaeTunesPowertrain().

const double laelaps::LaeTuneVelPidKpDft = 2500.0

Default motor velocity PID proportional constant.

Range: ≥ LaeTuneVelPidKMin Scope: powertrains

Definition at line 287 of file laeTune.h.

Referenced by laelaps::LaeTunesPowertrain::LaeTunesPowertrain().

const double laelaps::LaeTuneVL6180AlsGainDft = VL6180X_AMBIENT_GAIN_MIN

Default Ambient Light Sensor analog gain.

Range: [LaeTuneVL6180AlsGainMin, LaeTuneVL6180AlsGainMax] Scope: range_sensor

Definition at line 379 of file laeTune.h.

Referenced by laelaps::LaeTunesVL6180::LaeTunesVL6180().

const int laelaps::LaeTuneVL6180AlsIntPeriodDft = VL6180X_AMBIENT_INT_T_REC

Default Ambient Light Sensor integration period (msec).

Range: [LaeTuneVL6180AlsIntPeriodMin, LaeTuneVL6180AlsIntPeriodMax] Scope: range_sensor

Definition at line 398 of file laeTune.h.

Referenced by laelaps::LaeTunesVL6180::LaeTunesVL6180().

const int laelaps::LaeTuneVL6180TofOffsetDft = VL6180X_FACTORY_DFT

Default Time-of-Flight part-to-part offset.

Range: [LaeTuneVL6180TofOffsetMin, LaeTuneVL6180TofOffsetMax] Scope: range_sensor

Definition at line 343 of file laeTune.h.

Referenced by laelaps::LaeTunesVL6180::LaeTunesVL6180().

const int laelaps::LaeTuneVL6180TofXTalkDft = VL6180X_FACTORY_DFT

Default Time-of-Flight cross-talk compensation.

Range: [LaeTuneVL6180TofXTalkMin, LaeTuneVL6180TofXTalkMax] Scope: range_sensor

Definition at line 361 of file laeTune.h.

Referenced by laelaps::LaeTunesVL6180::LaeTunesVL6180().

const double laelaps::LaeTuneWdTimeoutDft = (double)LaeWdTimeoutDft / 1000.0

Default Laelaps watchdog timeout.

The watchdog sub-processor must be petted at a faster rate than its timeout. Any received valid I2C or serial command by the watchdog results in a reset of the watchdog timer. If the watchdog timer times out, the no-service state is entered. Power to the motor controllers and motors is disabled and the deck status LED flashes green.

Units: seconds Range: [LaeTuneWdTimeoutMin, LaeTuneWdTimeoutMax] Scope: global

Definition at line 132 of file laeTune.h.

Referenced by laelaps::LaeTunes::LaeTunes().

const int laelaps::TrajDesired = 0
static

Trajectory feedback identifiers (and indices).

desired trajectory

Definition at line 78 of file laeTraj.h.

Referenced by laelaps::LaeSimplePathFeedback::getNumPoints(), laelaps::LaePathFeedback::getNumPoints(), and laelaps::LaePathFeedback::operator[]().


The documentation for this struct was generated from the following files: