|
Namespaces |
namespace | ERS210Info |
LED Bitmasks |
Bitmasks for use when specifying combinations of LEDs (see LedEngine ) Note that left/right are robot's point of view
|
typedef unsigned int | ERS210Info::LEDBitMask_t |
| So you can be clear when you're refering to a LED bitmask.
|
const LEDBitMask_t | ERS210Info::BotLLEDMask = 1<<(BotLLEDOffset-LEDOffset) |
| bottom left (red - sad)
|
const LEDBitMask_t | ERS210Info::BotRLEDMask = 1<<(BotRLEDOffset-LEDOffset) |
| bottom right (red - sad)
|
const LEDBitMask_t | ERS210Info::MidLLEDMask = 1<<(MidLLEDOffset-LEDOffset) |
| middle left (green - happy)
|
const LEDBitMask_t | ERS210Info::MidRLEDMask = 1<<(MidRLEDOffset-LEDOffset) |
| middle right (green - happy)
|
const LEDBitMask_t | ERS210Info::TopLLEDMask = 1<<(TopLLEDOffset-LEDOffset) |
| top left (red - angry)
|
const LEDBitMask_t | ERS210Info::TopRLEDMask = 1<<(TopRLEDOffset-LEDOffset) |
| top right (red - angry)
|
const LEDBitMask_t | ERS210Info::TopBrLEDMask = 1<<(TopBrLEDOffset-LEDOffset) |
| top bar (green)
|
const LEDBitMask_t | ERS210Info::TlRedLEDMask = 1<<(TlRedLEDOffset-LEDOffset) |
| red tail light
|
const LEDBitMask_t | ERS210Info::TlBluLEDMask = 1<<(TlBluLEDOffset-LEDOffset) |
| blue tail light
|
const LEDBitMask_t | ERS210Info::FaceLEDMask = BotLLEDMask|BotRLEDMask|MidLLEDMask|MidRLEDMask|TopLLEDMask|TopRLEDMask|TopBrLEDMask |
| LEDs for face (all but tail).
|
const LEDBitMask_t | ERS210Info::HeadLEDMask = BotLLEDMask|BotRLEDMask|MidLLEDMask|MidRLEDMask|TopLLEDMask|TopRLEDMask|TopBrLEDMask |
| LEDs for face (all but tail).
|
const LEDBitMask_t | ERS210Info::BackLEDMask = 0 |
| 210 has no back LEDs
|
const LEDBitMask_t | ERS210Info::TailLEDMask = TlRedLEDMask|TlBluLEDMask |
| LEDs on tail.
|
const LEDBitMask_t | ERS210Info::AllLEDMask = (LEDBitMask_t)~0 |
| selects all of the leds
|
Output Offsets |
Corresponds to entries in ERS210Info::PrimitiveName, defined at the end of this file
|
enum | ERS210Info::LegOffset_t { ERS210Info::LFrLegOffset = LegOffset+LFrLegOrder*JointsPerLeg,
ERS210Info::RFrLegOffset = LegOffset+RFrLegOrder*JointsPerLeg,
ERS210Info::LBkLegOffset = LegOffset+LBkLegOrder*JointsPerLeg,
ERS210Info::RBkLegOffset = LegOffset+RBkLegOrder*JointsPerLeg
} |
| The offsets of the individual legs. More...
|
const unsigned | ERS210Info::PIDJointOffset = 0 |
| The beginning of the PID Joints.
|
const unsigned | ERS210Info::LegOffset = PIDJointOffset |
| the offset of the beginning of the leg joints
|
const unsigned | ERS210Info::HeadOffset = LegOffset+NumLegJoints |
| the offset of the beginning of the head joints
|
const unsigned | ERS210Info::TailOffset = HeadOffset+NumHeadJoints |
| the offset of the beginning of the tail joints
|
const unsigned | ERS210Info::MouthOffset = TailOffset+NumTailJoints |
| the offset of the beginning of the mouth joint
|
const unsigned | ERS210Info::LEDOffset = PIDJointOffset + NumPIDJoints |
| the offset of LEDs in WorldState::outputs and MotionCommand functions
|
const unsigned | ERS210Info::BinJointOffset = LEDOffset + NumLEDs |
| The beginning of the binary joints.
|
const unsigned | ERS210Info::EarOffset = BinJointOffset |
| the offset of the beginning of the ear joints - note that ears aren't sensed. They can be flicked by the environment and you won't know. Nor will they be flicked back
|
const unsigned | ERS210Info::BaseFrameOffset = NumOutputs |
| Use with kinematics to refer to base reference frame.
|
const unsigned | ERS210Info::PawFrameOffset = BaseFrameOffset+1 |
| Use with kinematics to refer to paw reference frames (add appropriate LegOrder_t to specify which paw).
|
const unsigned | ERS210Info::CameraFrameOffset = PawFrameOffset+NumLegs |
| Use with kinematics to refer to camera reference frame.
|
const unsigned | ERS210Info::IRFrameOffset = CameraFrameOffset+1 |
| Use with kinematics to refer to infrared (distance) sensor reference frame.
|
Input Offsets |
The order in which inputs should be stored
|
enum | ERS210Info::ButtonOffset_t {
ERS210Info::LFrPawOffset = LFrLegOrder,
ERS210Info::RFrPawOffset = RFrLegOrder,
ERS210Info::LBkPawOffset = LBkLegOrder,
ERS210Info::RBkPawOffset = RBkLegOrder,
ERS210Info::ChinButOffset = 4,
ERS210Info::BackButOffset,
ERS210Info::HeadFrButOffset,
ERS210Info::HeadBkButOffset
} |
| holds offsets to different buttons in WorldState::buttons[] More...
|
enum | ERS210Info::SensorOffset_t {
ERS210Info::IRDistOffset = 0,
ERS210Info::BAccelOffset,
ERS210Info::LAccelOffset,
ERS210Info::DAccelOffset,
ERS210Info::ThermoOffset,
ERS210Info::PowerRemainOffset,
ERS210Info::PowerThermoOffset,
ERS210Info::PowerCapacityOffset,
ERS210Info::PowerVoltageOffset,
ERS210Info::PowerCurrentOffset
} |
| holds offset to different sensor values in WorldState::sensors[] More...
|
const char *const | ERS210Info::buttonNames [NumButtons] |
| Provides a string name for each button.
|
const char *const | ERS210Info::sensorNames [NumSensors] |
| Provides a string name for each sensor.
|
Output Types Information |
Right now all binary joints are slow, but perhaps this won't always be the case... hence the IsFast/Slow bitmasks to select which type, in order to be more general
|
const unsigned | ERS210Info::JointsPerLeg = 3 |
| The number of joints per leg.
|
const unsigned | ERS210Info::NumLegs = 4 |
| The number of legs.
|
const unsigned | ERS210Info::NumLegJoints = JointsPerLeg*NumLegs |
| the TOTAL number of joints on ALL legs
|
const unsigned | ERS210Info::NumHeadJoints = 3 |
| The number of joints in the neck.
|
const unsigned | ERS210Info::NumTailJoints = 2 |
| The number of joints assigned to the tail.
|
const unsigned | ERS210Info::NumMouthJoints = 1 |
| the number of joints that control the mouth
|
const unsigned | ERS210Info::NumEarJoints = 2 |
| The number of joints which control the ears (NOT per ear, is total).
|
const unsigned | ERS210Info::NumButtons = 8 |
| the number of buttons that are available, see ERS210Info::ButtonOffset_t
|
const unsigned | ERS210Info::NumSensors = 1+3+1+5 |
| 1 dist, 3 accel, 1 thermo, 5 from power, see ERS210Info::SensorOffset_t
|
const unsigned | ERS210Info::NumLEDs = 9 |
| The number of LEDs which can be controlled.
|
const unsigned | ERS210Info::NumPIDJoints = NumLegJoints+NumHeadJoints+NumTailJoints+NumMouthJoints |
| The number of joints which use PID motion - everything except ears.
|
const unsigned | ERS210Info::NumBinJoints = NumEarJoints |
| The number of binary joints - just the ears.
|
const unsigned | ERS210Info::NumOutputs = NumPIDJoints + NumBinJoints + NumLEDs |
| the total number of outputs
|
const unsigned | ERS210Info::NumReferenceFrames = NumOutputs + 1 + NumLegs + 1 + 1 |
| for the base, paw, camera, and IR sensor reference frames
|
const float | ERS210Info::CameraHorizFOV = 57.6/180*M_PI |
| horizontal field of view (radians)
|
const float | ERS210Info::CameraVertFOV = 47.8/180*M_PI |
| vertical field of view (radians)
|
const float | ERS210Info::CameraFOV = CameraHorizFOV |
| should be set to maximum of CameraHorizFOV or CameraVertFOV
|
const unsigned int | ERS210Info::CameraResolutionX = 176 |
| the number of pixels available in the 'full' layer
|
const unsigned int | ERS210Info::CameraResolutionY = 144 |
| the number of pixels available in the 'full' layer
|
const bool | ERS210Info::IsFastOutput [NumOutputs] = { true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,false } |
const bool | ERS210Info::IsRealERS210 [NumOutputs] = { true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true } |
| we need this so you can tell programmatically which joints are "real" and which are "fake" in ERS-2xx target mode
|
CPC IDs |
values defined by OPEN-R, used to interface with lower level OPEN-R code to read sensors - DOESN'T correspond to ERS210Info::PrimitiveName
|
static const int | ERS210Info::CPCJointNeckTilt = 0 |
static const int | ERS210Info::CPCJointNeckPan = 1 |
static const int | ERS210Info::CPCJointNeckRoll = 2 |
static const int | ERS210Info::CPCSensorHeadBackPressure = 3 |
static const int | ERS210Info::CPCSensorHeadFrontPressure = 4 |
static const int | ERS210Info::CPCSensorPSD = 5 |
static const int | ERS210Info::CPCJointMouth = 6 |
static const int | ERS210Info::CPCSensorChinSwitch = 7 |
static const int | ERS210Info::CPCJointLFRotator = 8 |
static const int | ERS210Info::CPCJointLFElevator = 9 |
static const int | ERS210Info::CPCJointLFKnee = 10 |
static const int | ERS210Info::CPCSensorLFPaw = 11 |
static const int | ERS210Info::CPCJointLHRotator = 12 |
static const int | ERS210Info::CPCJointLHElevator = 13 |
static const int | ERS210Info::CPCJointLHKnee = 14 |
static const int | ERS210Info::CPCSensorLHPaw = 15 |
static const int | ERS210Info::CPCJointRFRotator = 16 |
static const int | ERS210Info::CPCJointRFElevator = 17 |
static const int | ERS210Info::CPCJointRFKnee = 18 |
static const int | ERS210Info::CPCSensorRFPaw = 19 |
static const int | ERS210Info::CPCJointRHRotator = 20 |
static const int | ERS210Info::CPCJointRHElevator = 21 |
static const int | ERS210Info::CPCJointRHKnee = 22 |
static const int | ERS210Info::CPCSensorRHPaw = 23 |
static const int | ERS210Info::CPCJointTailPan = 24 |
static const int | ERS210Info::CPCJointTailTilt = 25 |
static const int | ERS210Info::CPCSensorThermoSensor = 26 |
static const int | ERS210Info::CPCSensorBackSwitch = 27 |
static const int | ERS210Info::CPCSensorAccelFB = 28 |
| Front-back; see RobotInfo::BAccelOffset.
|
static const int | ERS210Info::CPCSensorAccelLR = 29 |
| Left-right; see RobotInfo::LAccelOffset.
|
static const int | ERS210Info::CPCSensorAccelUD = 30 |
| Up-down; see RobotInfo::DAccelOffset.
|
Defines |
#define | RAD(deg) (((deg) * M_PI ) / 180.0) |
| Just a little macro for converting degrees to radians.
|
#define | __RI_RAD_FLAG |
| a flag so we undef these after we're done - do you have a cleaner solution?
|
Enumerations |
enum | ERS210Info::LEDOffset_t {
ERS210Info::BotLLEDOffset = LEDOffset,
ERS210Info::BotRLEDOffset,
ERS210Info::MidLLEDOffset,
ERS210Info::MidRLEDOffset,
ERS210Info::TopLLEDOffset,
ERS210Info::TopRLEDOffset,
ERS210Info::TopBrLEDOffset,
ERS210Info::TlRedLEDOffset,
ERS210Info::TlBluLEDOffset,
ERS210Info::FaceFrontLeftLEDOffset = BotLLEDOffset,
ERS210Info::FaceFrontRightLEDOffset = BotRLEDOffset,
ERS210Info::FaceCenterLeftLEDOffset = MidLLEDOffset,
ERS210Info::FaceCenterRightLEDOffset = MidRLEDOffset,
ERS210Info::FaceBackLeftLEDOffset = TopLLEDOffset,
ERS210Info::FaceBackRightLEDOffset = TopRLEDOffset,
ERS210Info::ModeLEDOffset = TopBrLEDOffset,
ERS210Info::TailRightLEDOffset = TlRedLEDOffset,
ERS210Info::TailLeftLEDOffset = TlBluLEDOffset
} |
| The offsets of the individual LEDs on the head and tail. Note that left/right are robot's point of view. See also LEDBitMask_t. More...
|
enum | ERS210Info::MinMaxRange_t { ERS210Info::MinRange,
ERS210Info::MaxRange
} |
| Defines the indexes to use to access the min and max entries of ERS210Info::outputRanges and ERS210Info::mechanicalLimits. More...
|
Variables |
const unsigned int | ERS210Info::FrameTime = 8 |
| time between frames in the motion system (milliseconds)
|
const unsigned int | ERS210Info::NumFrames = 4 |
| the number of frames per buffer (don't forget also double buffered)
|
const unsigned int | ERS210Info::SlowFrameTime = 128 |
| time between frames for the ears (which move slower for some reason, don't want to mix with other outputs) (milliseconds)
|
const unsigned int | ERS210Info::NumSlowFrames = 1 |
| the number of frames per buffer being sent to ears (double buffered as well)
|
const unsigned int | ERS210Info::SoundBufferTime = 32 |
| the number of milliseconds per sound buffer... I'm not sure if this can be changed
|
const unsigned | ERS210Info::outputNameLen = 9 |
| The length of the strings used for each of the outputs in outputNames (doesn't include null term).
|
const char *const | ERS210Info::outputNames [NumOutputs] |
| A name of uniform length for referring to joints - handy for posture files, etc.
|
const char *const | ERS210Info::PrimitiveName [NumOutputs] |
| the joint identifier strings used to refer to specific joints in OPEN-R (but not needed for others)
|
const char *const | ERS210Info::SpeakerLocator = "PRM:/r1/c1/c2/c3/s1-Speaker:S1" |
| use to open speaker connectio with the system
|
const char *const | ERS210Info::CameraLocator = "PRM:/r1/c1/c2/c3/i1-FbkImageSensor:F1" |
| use to open camera connection with the system
|
const float | ERS210Info::DefaultPIDs [NumPIDJoints][3] |
| This table holds the default PID values for each joint. see PIDMC.
|
const unsigned char | ERS210Info::DefaultPIDShifts [3] = {0x0E, 0x02, 0x0F} |
| These will control the shift values given to the system. see PIDMC.
|
const float | ERS210Info::MaxOutputSpeed [NumOutputs] |
| These values are Sony's recommended maximum joint velocities, in rad/ms.
|
const double | ERS210Info::outputRanges [NumOutputs][2] |
| This table holds the software limits of each of the outputs.
|
const double | ERS210Info::mechanicalLimits [NumOutputs][2] |
| This table holds the mechanical limits of each of the outputs.
|