51 #include "rnr/rnrconfig.h" 75 void LaeMotorCtlrState::clear()
105 LaePlatform::LaePlatform() : m_strName(
"plaform")
230 double fTuneTireRadius, fTuneTireWidth;
266 static double ReallyZero = 1e-4;
268 LaeMapPowertrain::const_iterator iter;
274 double fDistL, fDistR;
288 for(iter = mapPowertrains.begin(); iter != mapPowertrains.end(); ++iter)
300 fDeltaOd += fDeltaDist[nMotorId];
337 s = (fDistR + fDistL) / 2.0;
343 if( fabs(s) <= ReallyZero )
355 else if( fabs(c) <= ReallyZero )
421 LOGERROR(
"Motor controller id %d: Out-of-range.", nCtlr);
434 LaeMapPowertrain::const_iterator iter;
444 for(iter = mapPowertrains.begin(); iter != mapPowertrains.end(); ++iter)
static const int LaeMotorIdRR
right rear
double m_fAmps
motor draw (A)
std::string m_strName
motor controller name
double m_fWheelbase
wheelbase(m)
static const int LaeMotorCtlrIdRear
rear motor controller
Laelaps tuning data class.
Trajectory classes interfaces.
double m_fTemp
motor temperature (C)
LaeDbKin m_kin
kinodynamics
LaeDbRobotStatus m_robotstatus
robot status data
static const int LaeMotorsNumOf
number of motors
double m_y
robot absolute y position (meters)
double m_theta
robot orientation (radians)
double m_fVelocity
robot velocity (meters/second)
RoboClaw motor controller class interface.
static const char *const LaeKeyRear
rear
LaeDbKinRobot m_robot
robot kinodynmics
static const char *const LaeKeyFront
front
double m_fOdometer
robot odometer (meters)
LaeDb RtDb
The real-time database.
double m_fBoardTemp
average sensed interior tempature (C)
double m_x
robot absolute x position (meters)
static const int LaeMotorIdRF
right front
static const int LaeMotorIdLR
left rear
double m_y
robot absolute y position (meters)
LaePowertrainAttr m_attr
semi-fixed attribute data
double m_theta
robot orientation (radians)
The <b><i>Laelaps</i></b> namespace encapsulates all <b><i>Laelaps</i></b> related constructs...
Laelaps robotic base mobile platform description class interface.
Laelaps common utilities.
double m_fVolts
input motor voltage (V)
double m_x
robot absolute x position (meters)
Laelaps powertrain class interfaces.
std::map< std::string, LaePowertrain > LaeMapPowertrain
Map of powertrain kinodynamics.
Robot base motor controller board state.
Dim m_dimBody
body dimensions(m)
double m_fMainVolts
average sensed battery voltage (V)
static const int LaeMotorIdLF
left front
double m_fMetersPerRadian
tire meters per radian
uint_t m_uStatus
board status
Robotic base platform description.
Laelaps motors, encoder, and controllers hardware abstraction interfaces.
Dim m_dimRobot
robot full dimensions(m)
void clear()
Clear data sans name.
static const int LAE_ECODE_BAD_VAL
bad value general error
static const int LaeNumMotorCtlrs
number of motor controllers
LaePowertrainState m_state
dynamic state data
static const int LaeMotorCtlrIdFront
front motor controller
double m_fVelocity
wheel angular velocity (radians/second)
double m_fTempAvg
average interior temperature
double m_fWheeltrack
wheeltrack(m)
#define M_TAU
tau = 2 * pi
double m_fPosition
wheel angular position (radians)
void getTireDimParams(const std::string &strName, double &fTireRadius, double &fTireWidth) const
Get tire dimensions tune parameters.
Laelaps real-time "database".
static const char *const LaeKeyLeftFront
left front
void calcDimensions(double fTireRadius, double fTireWidth)
Calculate robot dimensions.
Top-level package include file.
static const int LAE_OK
not an error, success