| Classes | 
| class | HandEyeInfo::HandEyeCapabilities | 
|  | provides polymorphic robot capability detection/mapping  More... 
 | 
| Namespaces | 
| namespace | HandEyeInfo | 
|  | Declares configuration of the HandEye planar arm robot, such as number of joints, LEDs, etc.  
 | 
| Defines | 
| #define | RAD(deg)   (((deg) * (float)M_PI ) / 180.0f) | 
|  | 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? 
 | 
| Variables | 
| const char *const | HandEyeInfo::TargetName = "HandEye" | 
|  | the name of the model, to be used for logging and remote GUIs 
 | 
| const unsigned int | HandEyeInfo::FrameTime = 32 | 
|  | time between frames in the motion system (milliseconds) 
 | 
| const unsigned int | HandEyeInfo::NumFrames = 1 | 
|  | the number of frames per buffer (don't forget also double buffered) 
 | 
| const unsigned int | HandEyeInfo::SoundBufferTime = 32 | 
|  | the number of milliseconds per sound buffer... I'm not sure if this can be changed 
 | 
| const fmat::Column< 3 > | HandEyeInfo::AgentBoundingBoxBaseFrameOffset = fmat::pack(0,0,0) | 
|  | Offset needed so that the centroid of the robot is correct relative to the bounding box. 
 | 
| const fmat::Column< 3 > | HandEyeInfo::AgentBoundingBoxHalfDims = fmat::pack(304.8/2, 304.8/2, 0) | 
|  | Half of the length, width, and height of the robot. 
 | 
| const char *const | HandEyeInfo::outputNames [NumReferenceFrames+1] | 
|  | Names for each of the outputs. 
 | 
| const HandEyeCapabilities | HandEyeInfo::capabilities | 
|  | allocation declared in RobotInfo.cc 
 | 
| const float | HandEyeInfo::DefaultPIDs [NumPIDJoints][3] | 
|  | Dynamixel servos don't use PID control. Instead, these values indicate compliance slope (P), punch (add to P*error), compliance margin (min error to start applying torque) (see ServoParam_t). 
 | 
| const float | HandEyeInfo::MaxOutputSpeed [NumOutputs] | 
|  | These values are our recommended maximum joint velocities, in rad/ms. 
 | 
| const float | HandEyeInfo::outputRanges [NumOutputs][2] | 
|  | This table holds the software limits of each of the outputs, first index is the output offset, second index is MinMaxRange_t (i.e. MinRange or MaxRange). 
 | 
| const float | HandEyeInfo::mechanicalLimits [NumOutputs][2] | 
|  | This table holds the mechanical limits of each of the outputs, first index is the output offset, second index is MinMaxRange_t (i.e. MinRange or MaxRange). 
 | 
|  | 
|  | 
| const unsigned | HandEyeInfo::NumWheels = 0 | 
|  | The number of joints per leg. 
 | 
| const unsigned | HandEyeInfo::FingerJointsPerArm = 0 | 
|  | The number of joints per leg. 
 | 
| const unsigned | HandEyeInfo::JointsPerArm = 3 | 
|  | The number of joints per leg. 
 | 
| const unsigned | HandEyeInfo::NumArms = 1 | 
|  | The number of joints per leg. 
 | 
| const unsigned | HandEyeInfo::NumArmJoints = JointsPerArm*NumArms | 
|  | The number of joints per leg. 
 | 
| const unsigned | HandEyeInfo::JointsPerLeg = 0 | 
|  | The number of joints per leg. 
 | 
| const unsigned | HandEyeInfo::NumLegs = 0 | 
|  | The number of legs. 
 | 
| const unsigned | HandEyeInfo::NumLegJoints = JointsPerLeg*NumLegs | 
|  | the TOTAL number of joints on ALL legs 
 | 
| const unsigned | HandEyeInfo::NumHeadJoints = 2 | 
|  | The number of joints in the pantilt. 
 | 
| const unsigned | HandEyeInfo::NumTailJoints = 0 | 
|  | The number of joints assigned to the tail. 
 | 
| const unsigned | HandEyeInfo::NumMouthJoints = 0 | 
|  | the number of joints that control the mouth 
 | 
| const unsigned | HandEyeInfo::NumEarJoints = 0 | 
|  | The number of joints which control the ears (NOT per ear, is total). 
 | 
| const unsigned | HandEyeInfo::NumButtons = 3 | 
|  | the number of buttons that are available 
 | 
| const unsigned | HandEyeInfo::NumSensors = 2 | 
|  | the number of sensors available 
 | 
| const unsigned | HandEyeInfo::NumFacePanelLEDs = 0 | 
|  | The number of face panel LEDs. 
 | 
| const unsigned | HandEyeInfo::NumLEDs = 5 | 
|  | The number of LEDs which can be controlled (one per dynamixel servo). 
 | 
| const unsigned | HandEyeInfo::NumPIDJoints = NumWheels + NumArmJoints + NumLegJoints + NumHeadJoints + NumTailJoints + NumMouthJoints | 
|  | The number of joints per leg. 
 | 
| const unsigned | HandEyeInfo::NumOutputs = NumWheels + NumPIDJoints + NumLEDs | 
|  | servo pins 
 | 
| const unsigned | HandEyeInfo::NumReferenceFrames = NumOutputs + 1 + NumArms + 1 | 
|  | for the base, gripper (* NumArms), and camera reference frames 
 | 
| Output Offsets | 
| Corresponds to entries in ERS7Info::PrimitiveName, defined at the end of this file  
 
 | 
| enum | HandEyeInfo::ArmOffset_t { HandEyeInfo::ArmShoulderOffset =  ArmOffset, 
HandEyeInfo::ArmElbowOffset, 
HandEyeInfo::WristOffset, 
HandEyeInfo::WristYawOffset =  WristOffset
 } | 
|  | These are 'absolute' offsets for the arm joints. More... 
 | 
| enum | HandEyeInfo::TPROffset_t { HandEyeInfo::PanOffset =  0, 
HandEyeInfo::TiltOffset
 } | 
|  | The offsets of appendages with pan (heading), tilt (elevation), note that this should be added to HeadOffset, otherwise use HeadOffset_t (HeadPanOffset and HeadTiltOffset). More... 
 | 
| enum | HandEyeInfo::HeadOffset_t { HandEyeInfo::HeadPanOffset =  HeadOffset, 
HandEyeInfo::HeadTiltOffset
 } | 
|  | These are 'absolute' offsets for the neck joints, don't need to add to HeadOffset like TPROffset_t values do. More... 
 | 
| enum | HandEyeInfo::LEDOffset_t { HandEyeInfo::ArmShoulderLEDOffset =  LEDOffset, 
HandEyeInfo::ArmElbowLEDOffset, 
HandEyeInfo::ArmWristLEDOffset, 
HandEyeInfo::NeckPanLEDOffset,
 HandEyeInfo::NeckTiltLEDOffset
 }
 | 
|  | The offsets of the individual LEDs. More... 
 | 
| typedef unsigned int | HandEyeInfo::LEDBitMask_t | 
|  | So you can be clear when you're refering to a LED bitmask. 
 | 
| const unsigned | HandEyeInfo::PIDJointOffset = 0 | 
|  | The beginning of the PID Joints. 
 | 
| const unsigned | HandEyeInfo::ArmOffset = PIDJointOffset | 
|  | beginning of arm joints, don't add anything, just use ArmOffset_t entries directly 
 | 
| const unsigned | HandEyeInfo::HeadOffset = ArmOffset+NumArmJoints | 
|  | the offset of the beginning of the head joints, add TPROffset_t to get specific joint 
 | 
| const unsigned | HandEyeInfo::LEDOffset = PIDJointOffset + NumPIDJoints | 
|  | the offset of LEDs in WorldState::outputs and MotionCommand functions, see LedOffset_t for specific offsets 
 | 
| const unsigned | HandEyeInfo::BaseFrameOffset = NumOutputs | 
|  | Use with kinematics to refer to base reference frame. 
 | 
| const unsigned | HandEyeInfo::GripperFrameOffset = BaseFrameOffset+1 | 
|  | Use with kinematics to refer to paw reference frames (add appropriate LegOrder_t to specify which paw). 
 | 
| const unsigned | HandEyeInfo::CameraFrameOffset = GripperFrameOffset+NumArms | 
|  | Use with kinematics to refer to camera reference frame. 
 | 
| const LEDBitMask_t | HandEyeInfo::ArmShoulderLEDMask = 1 << (ArmShoulderLEDOffset-LEDOffset) | 
|  | Mask corresponding to ArmShoulderLEDOffset. 
 | 
| const LEDBitMask_t | HandEyeInfo::ArmElbowLEDMask = 1 << (ArmElbowLEDOffset-LEDOffset) | 
|  | Mask corresponding to ArmElbowLEDOffset. 
 | 
| const LEDBitMask_t | HandEyeInfo::ArmWristLEDMask = 1 << (ArmWristLEDOffset-LEDOffset) | 
|  | Mask corresponding to ArmWristLEDOffset. 
 | 
| const LEDBitMask_t | HandEyeInfo::NeckPanLEDMask = 1 << (NeckPanLEDOffset-LEDOffset) | 
|  | Mask corresponding to NeckPanLEDOffset. 
 | 
| const LEDBitMask_t | HandEyeInfo::NeckTiltLEDMask = 1 << (NeckTiltLEDOffset-LEDOffset) | 
|  | Mask corresponding to NeckTiltLEDOffset. 
 | 
| const LEDBitMask_t | HandEyeInfo::FaceLEDMask = NeckPanLEDMask | NeckTiltLEDMask | 
|  | LEDs for the face panel (all FaceLEDPanelMask<<(0:NumFacePanelLEDs-1) entries). 
 | 
| const LEDBitMask_t | HandEyeInfo::AllLEDMask = (LEDBitMask_t)~0 | 
|  | selects all of the leds 
 | 
| Input Offsets | 
|  The order in which inputs should be stored  
 
 | 
| enum | HandEyeInfo::ButtonOffset_t { HandEyeInfo::GreenButOffset, 
HandEyeInfo::RedButOffset, 
HandEyeInfo::YellowButOffset
 } | 
|  | holds offsets to different buttons in WorldState::buttons[] More... 
 | 
| enum | HandEyeInfo::SensorOffset_t { HandEyeInfo::PowerThermoOffset, 
HandEyeInfo::PowerVoltageOffset
 } | 
|  | holds offset to different sensor values in WorldState::sensors[] More... 
 | 
| const char *const | HandEyeInfo::buttonNames [NumButtons+1] = { "GreenBut", "RedBut", "YellowBut", NULL } | 
|  | Provides a string name for each button. 
 | 
| const char *const | HandEyeInfo::sensorNames [NumSensors+1] | 
|  | Provides a string name for each sensor. 
 | 
Defines some capabilities of the HandEye planar arm robot.