![]() |
Kuon
1.1.3
RoadNarrows Robotics Large Outdoor Mobile Robot Project
|
RoadNarrows MouseBot robot top-level header file. More...
#include "rnr/rnrconfig.h"#include "rnr/units.h"#include "rnr/log.h"Go to the source code of this file.
Classes | |
| struct | MouseBotMotorCfg_T |
| struct | MouseBotUssCfg_T |
| struct | MouseBotAttrUnits_T |
| struct | MouseBotUssEcho_T |
| struct | MouseBotUssMeas_T |
| struct | MouseBot_T |
Macros | |
| #define | MOUSEBOT_INT_MAX 2147483647 |
| integer maximum | |
| #define | MOUSEBOT_INT_MIN (-MOUSEBOT_INT_MAX-1) |
| integer minimum | |
| #define | MOUSEBOT_FWOP_INDEX_USS_MASK 0 |
| mask of enabled/disabled USSs | |
| #define | MOUSEBOT_FWOP_INDEX_USS_MAX_ECHOES 1 |
| max num of echoes/measurment | |
| #define | MOUSEBOT_FWOP_INDEX_NOT_USED_2 2 |
| not used | |
| #define | MOUSEBOT_FWOP_INDEX_NOT_USED_3 3 |
| not used | |
| #define | MOUSEBOT_FWOP_INDEX_IR_MASK 4 |
| mask of enabled/disabled IRs | |
| #define | MOUSEBOT_FWOP_INDEX_IR_GAIN_BRAIT 5 |
| Braitenberg IR gain. | |
| #define | MOUSEBOT_FWOP_INDEX_UPPER_BODY 6 |
| plastic upper body [un]mounted | |
| #define | MOUSEBOT_BUF_MAX 100 |
| command/response buffer maximum | |
| #define | MOUSEBOT_OK 0 |
| not an error, success | |
| #define | MOUSEBOT_ECODE_GEN 1 |
| general, unspecified error | |
| #define | MOUSEBOT_ECODE_LIBKB 2 |
| libkorebot error | |
| #define | MOUSEBOT_ECODE_LIBKB_RECV 3 |
| libkorebot bad knet receive | |
| #define | MOUSEBOT_ECODE_LIBKB_SEND 4 |
| libkorebot bad knet send | |
| #define | MOUSEBOT_ECODE_BAD_UNITS 5 |
| unsupported or bad units | |
| #define | MOUSEBOT_ECODE_BAD_VAL 6 |
| bad value | |
| #define | MOUSEBOT_ECODE_SYS 7 |
| system (errno) error | |
| #define | MOUSEBOT_ECODE_INTERNAL 8 |
| internal error (bug) | |
| #define | MOUSEBOT_ECODE_BADEC 9 |
| bad error code | |
| #define | MOUSEBOT_ECODE_NUMOF 10 |
| number of error codes | |
| #define | MOUSEBOT_BASE_MAX_RADIUS_MM 65 |
| maximum base radius (mm) | |
| #define | MOUSEBOT_BASE_MAX_HEIGHT_MM 70 |
| maximum base height (mm) | |
| #define | MOUSEBOT_BASE_WHEEL_BASE_MM 90 |
| wheel-to-wheel base (mm) | |
| #define | MOUSEBOT_BASE_WHEEL_DIAM_MM 41 |
| wheel diameter (mm) | |
| #define | MOUSEBOT_MOTOR_LEFT 0 |
| left motor id | |
| #define | MOUSEBOT_MOTOR_RIGHT 1 |
| right motor id | |
| #define | MOUSEBOT_MOTOR_NUMOF 2 |
| total number of motors | |
| #define | MOUSEBOT_SPEED_MIN_ABS 2000 |
| practical absolute minimum controlled raw spead | |
| #define | MOUSEBOT_SPEED_MAX_ABS 65535 |
| practical absolute maximum controlled raw spead | |
| #define | MOUSEBOT_POS_PROF_MIN_SPEED MOUSEBOT_SPEED_MIN_ABS |
| move to position profile minimum raw spead | |
| #define | MOUSEBOT_POS_PROF_MAX_SPEED 32767 |
| move to position profile maximum raw spead | |
| #define | MOUSEBOT_POS_PROF_MIN_ACCEL 10 |
| move to position profile minimum acceleration to position | |
| #define | MOUSEBOT_POS_PROF_MAX_ACCEL 255 |
| move to position profile maximum acceleration to position | |
| #define | MOUSEBOT_OD_MIN (MOUSEBOT_INT_MIN+1) |
| minimum odometer position negative raw value | |
| #define | MOUSEBOT_OD_MAX (MOUSEBOT_INT_MAX-1) |
| maximum odometer position positve raw value | |
| #define | MOUSEBOT_OD_UM_PER_STEP 47 |
| micrometers per odometer step | |
| #define | MOUSEBOT_OD_NUMOF 2 |
| total number of odometers (one per motor) | |
| #define | MOUSEBOT_IR_POS_BACK_LEFT 0 |
| back left 135 ° infrared sensor | |
| #define | MOUSEBOT_IR_POS_LEFT_90 1 |
| left 90 ° infrared sensor | |
| #define | MOUSEBOT_IR_POS_LEFT_45 2 |
| left 45 ° infrared sensor | |
| #define | MOUSEBOT_IR_POS_FRONT_LEFT 3 |
| front left 10 ° infrared sensor | |
| #define | MOUSEBOT_IR_POS_FRONT_RIGHT 4 |
| front right -10 ° infrared sensor | |
| #define | MOUSEBOT_IR_POS_RIGHT_45 5 |
| right -45 ° infrared sensor | |
| #define | MOUSEBOT_IR_POS_RIGHT_90 6 |
| right -90 ° infrared sensor | |
| #define | MOUSEBOT_IR_POS_BACK_RIGHT 7 |
| back right -135 ° infrared sensor | |
| #define | MOUSEBOT_IR_POS_BACK 8 |
| back 180 ° infrared sensor | |
| #define | MOUSEBOT_IR_POS_GROUND_RIGHT 9 |
| bottom right infrared sensor | |
| #define | MOUSEBOT_IR_POS_GROUND_LEFT 10 |
| bottom left infrared sensor | |
| #define | MOUSEBOT_IR_NUMOF 11 |
| total number of ir sensors | |
| #define | MOUSEBOT_IR_VAL_MIN 0 |
| minimum ir sensor raw value | |
| #define | MOUSEBOT_IR_VAL_MAX 4095 |
| maximum ir sensor value (12-bit) | |
| #define | MOUSEBOT_IR_GRP_FRONT 0 |
| front infrared group [3, 4] | |
| #define | MOUSEBOT_IR_GRP_RIGHT 1 |
| right infrared group [5, 6, 7] | |
| #define | MOUSEBOT_IR_GRP_BACK 2 |
| back infrared group [0, 8, 7] | |
| #define | MOUSEBOT_IR_GRP_LEFT 3 |
| left infrared group [0, 1, 2] | |
| #define | MOUSEBOT_IR_GRP_GROUND 4 |
| bottom infrared group [9, 10] | |
| #define | MOUSEBOT_USS_POS_LEFT_90 0 |
| left 90 ° uss | |
| #define | MOUSEBOT_USS_POS_LEFT_45 1 |
| left 45 ° uss | |
| #define | MOUSEBOT_USS_POS_FRONT 2 |
| front 0 ° uss | |
| #define | MOUSEBOT_USS_POS_RIGHT_45 3 |
| right -45 ° uss | |
| #define | MOUSEBOT_USS_POS_RIGHT_90 4 |
| right -90 ° uss | |
| #define | MOUSEBOT_USS_NUMOF 5 |
| total number of uss sensors | |
| #define | MOUSEBOT_USS_ECHO_MAX_MIN 1 |
| maximum minimum echoes/measure | |
| #define | MOUSEBOT_USS_ECHO_MAX_MAX 5 |
| maximum maximum echoes/measure | |
| #define | MOUSEBOT_USS_ECHO_MAX_DFT 3 |
| default maximum echoes/measure | |
| #define | MOUSEBOT_USS_DIST_MIN 20 |
| minimum echo distance (cm) | |
| #define | MOUSEBOT_USS_DIST_MAX 400 |
| maximum echo distance (cm) | |
| #define | MOUSEBOT_USS_AMPL_MAX (MOUSEBOT_INT_MAX-1) |
| maximum echo amplitude (?units) | |
| #define | MOUSEBOT_USS_TIME_MAX (MOUSEBOT_INT_MAX-1) |
| maximum echo time (? units) | |
| #define | MOUSEBOT_USS_NOISE_MAX (MOUSEBOT_INT_MAX-1) |
| maximum noise value (? units) | |
| #define | MOUSEBOT_USS_LEFT_90_EN_DFT false |
| left 90 ° uss disabled by default | |
| #define | MOUSEBOT_USS_LEFT_45_EN_DFT false |
| left 45 ° uss disabled by default | |
| #define | MOUSEBOT_USS_FRONT_EN_DFT true |
| front 0 ° enabled by default | |
| #define | MOUSEBOT_USS_RIGHT_45_EN_DFT false |
| right -45 ° uss disabled by default | |
| #define | MOUSEBOT_USS_RIGHT_90_EN_DFT false |
| right -90 ° uss disabled by default | |
| #define | MOUSEBOT_USS_HAS_BODY_DFT true |
| upper body mounted by default | |
| #define | MOUSEBOT_UNITS_SPEED_DFT units_permil |
| default speed units | |
| #define | MOUSEBOT_SPEED_MAX_FWD_DFT 1000 |
| default forward maximum speed | |
| #define | MOUSEBOT_SPEED_MAX_BWD_DFT -1000 |
| default backwrd maximum speed | |
| #define | MOUSEBOT_UNITS_OD_DFT units_mm |
| default odometery units | |
| #define | MOUSEBOT_OD_MAX_FWD_DFT 1000000 |
| default forward maximum odometer position in mm | |
| #define | MOUSEBOT_OD_MAX_BWD_DFT -1000000 |
| default backward maximum (most negative) odometer position in mm | |
| #define | MOUSEBOT_UNITS_IR_DFT units_raw |
| default sensor IR units | |
| #define | MOUSEBOT_UNITS_USS_DFT units_mm |
| default USS sensor distance units | |
Typedefs | |
| typedef struct knet_dev_s * | knet_dev_p |
| pointer to knet_dev_t | |
Functions | |
| INLINE_IN_H const char * | mousebotUnitsSym (units_t u) |
| Convert units to short symbol name. More... | |
| const char * | mousebotStrError (int ecode) |
| int | k3LibKbToMouseBotEcode (int libkb_ecode) |
| void | mousebotPrintBuf (FILE *fp, const char *sPreface, byte_t buf[], const char *sFmt, size_t uCount, size_t uNLFreq, uint_t uCol) |
| void | mousebotLogBuf (const char *sPreface, int buf[], size_t uCount, const char *sFmt) |
| MouseBot_T * | mousebotInit () |
| void | mousebotExit (MouseBot_T *pMouseBot) |
| INLINE_IN_H units_t | mousebotAttrGetUnitsSpeed (MouseBot_T *pMouseBot) |
| Get the current motor speed units. More... | |
| units_t | mousebotAttrSetUnitsSpeed (MouseBot_T *pMouseBot, units_t unitsSpeed) |
| INLINE_IN_H units_t | mousebotAttrGetUnitsOdometer (MouseBot_T *pMouseBot) |
| Get the current motor odometer units. More... | |
| units_t | mousebotAttrSetUnitsOdometer (MouseBot_T *pMouseBot, units_t unitsOdometer) |
| INLINE_IN_H units_t | mousebotAttrGetUnitsIr (MouseBot_T *pMouseBot) |
| Get the current InfraRed sensor units. More... | |
| units_t | mousebotAttrSetUnitsIr (MouseBot_T *pMouseBot, units_t unitsIr) |
| INLINE_IN_H units_t | mousebotAttrGetUnitsUss (MouseBot_T *pMouseBot) |
| Get the current UltraSonic Sensor units. More... | |
| units_t | mousebotAttrSetUnitsUss (MouseBot_T *pMouseBot, units_t unitsUss) |
| int | mousebotGetFwVer (MouseBot_T *pMouseBot, uint_t *puVersion, uint_t *puRevision) |
| int | mousebotMotorInit (MouseBot_T *pMouseBot, uint_t uWhich) |
| int | mousebotMotorGetCfg (MouseBot_T *pMouseBot, uint_t uWhich, MouseBotMotorCfg_T *pMotorCfg) |
| int | mousebotMotorSetCfg (MouseBot_T *pMouseBot, uint_t uWhich, MouseBotMotorCfg_T *pMotorCfg) |
| int | mousebotMotorGetSpeeds (MouseBot_T *pMouseBot, int *pnSpeedLeft, int *pnSpeedRight) |
| int | mousebotMotorSetSpeeds (MouseBot_T *pMouseBot, int nSpeedLeft, int nSpeedRight) |
| INLINE_IN_H int | mousebotMotorStop (MouseBot_T *pMouseBot) |
| Stop the Khepera III from moving. More... | |
| int | mousebotMotorMoveTo (MouseBot_T *pMouseBot, int nSpeed, int nOdPosLeft, int nOdPosRight) |
| int | mousebotMotorGetOdometry (MouseBot_T *pMouseBot, int *pnOdPosLeft, int *pnOdPosRight) |
| int | mousebotMotorResetOdometry (MouseBot_T *pMouseBot) |
| int | mousebotIrInit (MouseBot_T *pMouseBot) |
| int | mousebotIrGetAmbient (MouseBot_T *pMouseBot, uint_t bufIr[]) |
| int | mousebotIrGetProximity (MouseBot_T *pMouseBot, uint_t bufIr[]) |
| int | mousebotIrGetProximityGroup (MouseBot_T *pMouseBot, int iGroup) |
| int | mousebotUssInit (MouseBot_T *pMouseBot) |
| INLINE_IN_H int | mousebotUssGetCfg (MouseBot_T *pMouseBot, MouseBotUssCfg_T *pUssCfg) |
| Get the current ultrasonic sensors configuration. More... | |
| int | mousebotUssSetCfg (MouseBot_T *pMouseBot, MouseBotUssCfg_T *pUssCfg) |
| int | mousebotUssPing (MouseBot_T *pMouseBot, uint_t uUssPos, MouseBotUssMeas_T *pUssMeas) |
RoadNarrows MouseBot robot top-level header file.
Definition in file mousebot.h.
| INLINE_IN_H units_t mousebotAttrGetUnitsIr | ( | MouseBot_T * | pMouseBot | ) |
Get the current InfraRed sensor units.
| pMouseBot | Khepera3 robot instance. |
Definition at line 397 of file mousebot.h.
References MouseBot_T::m_attrUnits, and MouseBotAttrUnits_T::m_unitsIr.
| INLINE_IN_H units_t mousebotAttrGetUnitsOdometer | ( | MouseBot_T * | pMouseBot | ) |
Get the current motor odometer units.
| pMouseBot | Khepera3 robot instance. |
Definition at line 385 of file mousebot.h.
References MouseBot_T::m_attrUnits, and MouseBotAttrUnits_T::m_unitsOdometer.
| INLINE_IN_H units_t mousebotAttrGetUnitsSpeed | ( | MouseBot_T * | pMouseBot | ) |
Get the current motor speed units.
| pMouseBot | Khepera3 robot instance. |
Definition at line 373 of file mousebot.h.
References MouseBot_T::m_attrUnits, and MouseBotAttrUnits_T::m_unitsSpeed.
| INLINE_IN_H units_t mousebotAttrGetUnitsUss | ( | MouseBot_T * | pMouseBot | ) |
Get the current UltraSonic Sensor units.
| pMouseBot | Khepera3 robot instance. |
Definition at line 409 of file mousebot.h.
References MouseBot_T::m_attrUnits, and MouseBotAttrUnits_T::m_unitsUss.
| INLINE_IN_H int mousebotMotorStop | ( | MouseBot_T * | pMouseBot | ) |
Stop the Khepera III from moving.
| pMouseBot | Khepera3 robot instance. |
Definition at line 446 of file mousebot.h.
| INLINE_IN_H const char* mousebotUnitsSym | ( | units_t | u | ) |
Convert units to short symbol name.
| u | Units to look up. |
Definition at line 335 of file mousebot.h.
| INLINE_IN_H int mousebotUssGetCfg | ( | MouseBot_T * | pMouseBot, |
| MouseBotUssCfg_T * | pUssCfg | ||
| ) |
Get the current ultrasonic sensors configuration.
| pMouseBot | Khepera3 robot instance. | |
| [out] | pUssCfg | Pointer to current USS configuration. |
Definition at line 488 of file mousebot.h.
References MouseBot_T::m_cfgUss, and MOUSEBOT_OK.