61 #include "rnr/rnrconfig.h" 161 virtual void print(
int indent = 0);
223 virtual void print(
int indent = 0);
276 virtual void print(
int indent = 0);
331 virtual void print(
int indent = 0);
338 virtual void makeDesc();
386 virtual void print(
int indent = 0);
436 virtual void print(
int indent = 0);
462 static const char*
const KeyMotorCtlr[];
463 static const char*
const KeyPowertrain[];
465 static const char*
const KeyRangeSensorMax[];
466 static const char*
const KeyRangeSensorStd[];
476 static std::string prettyMotorCtlrName(
int nCtlrId);
486 static std::string prettyMotorCtlrName(
int nCtlrId, byte_t addr);
495 static std::string prettyMotorName(
int nMotorId);
506 static std::string prettyMotorName(
int nCtlrId, byte_t addr,
int nMotorId);
546 int markAsDescribed();
560 return m_bIsDescribed;
580 return m_strProdName;
590 return m_strProdBrief;
600 return m_strProdHwVer;
621 static const char *getProdName(
int eProdId);
632 static const char *getProdBrief(
int eProdId);
639 void print(
int indent = 0);
650 #endif // _LAE_DESC_H uint_t getProdHwVer() const
Get this robot's packed hardware version number.
double m_fWheelbase
wheelbase(m)
std::map< std::string, LaeDescRangeSensor * > MapDescRangeSensor
LaeDescBase * m_pDescBase
base description
Laelaps robotic mobile platform full description class.
double m_fDir
sensor direction (radians)
int m_nNumMotors
number of motors
LaeDescImu * m_pDescImu
built-in imu description
double m_fDeadzone
deadzone (meters)
std::string m_strProdBrief
product brief
number of supported location types
std::string m_strChemistry
battery chemistry
double m_fCapacity
battery capacity(Ah)
std::string m_strKey
range sensor key
LaeDescBase operator=(const LaeDescBase &rhs)
Assignment operator.
void clear()
Clear description.
Object width x height x length dimensions class.
double m_fMinV
battery minimum low at cutoff (V)
std::string m_strKey
base name
static const char *const PkgOptDeluxe
deluxe package option
std::map< std::string, LaeDescPowertrain * > MapDescPowertrain
LaeEncType m_eEncType
encoder type
std::string m_strHw
hardware
LaeJointType
Supported joint/wheel types. Not really used for now.
std::string getProdBrief() const
Get this base description's brief.
std::string m_strPkgToF
range time-of-flight package
std::string m_strFw
firmware
LaeJointType m_eJointType
powertrain joint type
int getProdId() const
Get this base description's base product id.
Robotic built-in IMU description.
number of supported joint types
int m_nNumMotorCtlrs
number of motor controllers
int m_nDir
normalize cw/ccw direction.
bool isDescribed() const
Test if required base description is adequately described.
std::string m_strProdModel
product model
Robotic powertrain description.
double m_fMaxV
battery maximum high charge (V)
MapDescPowertrain m_mapDescPowertrain
powertrain descriptions
The <b><i>Laelaps</i></b> namespace encapsulates all <b><i>Laelaps</i></b> related constructs...
LaeDescBattery * m_pDescBattery
internal battery description
std::string m_strProdHwVer
product hardware version string
Laelaps common utilities.
std::string m_strProdFamily
product family
uint_t m_uProdHwVer
product hardware version number
int m_nMotorId
unique robot motor id
int m_eProdId
base product id
mimic rotation (e.g. fingers)
Dim m_dimBody
body dimensions(m)
physical torque with relative encoder
std::string m_strPkgFCam
front camera package
static const char *const KeyFCam
front camera keys
int m_nNumCells
number of cells
limit switch with relative encoder
std::string m_strType
battery type
double m_fGearRatio
motor gear ratio
virtual ~LaeDescBase()
Destructor.
Robotic base platform description.
int m_nMotorCtlrId
unique motor controller id
Laelaps motors, encoder, and controllers hardware abstraction interfaces.
static const char *const KeyBattery
internal battery key
std::string m_strKey
base key
unknown/undefined joint type
Dim m_dimRobot
robot full dimensions(m)
std::string m_strKey
powertrain key
static const char *const KeyImu
built-in IMU keys
static const char *const PkgOptStd
standard package option
unknown/undefined encoder type
int m_nChan
channel number
std::string m_strDesc
short description string
bool m_bIsDescribed
<b><i>Laelaps</i></b> is [not] fully described
top dead center switch with rel. enc.
double m_fWheeltrack
wheeltrack(m)
Range sensor description.
std::string getProdHwVerString() const
Get this robot's hardware version string.
int m_nMotorIndex
motor controller unique motor index
std::string getProdName() const
Get this base description's name.
std::string m_strKey
battery key
LaeDescBase()
Default constructor.
static const char *const KeyRobotBase
robot base key
double m_fNomV
battery nominal voltage (V)
LaeEncType
Joint/wheel location detection types.
virtual void print(int indent=0)
Print out description to stdout.
void calcDimensions(double fTireRadius, double fTireWidth)
Calculate robot dimensions.
Top-level package include file.
std::string m_strProdName
product name
MapDescRangeSensor m_mapDescRangeSensor
range sensor descriptions