Classes |
| class | MantisArmInfo::MantisArmCapabilities |
| | provides polymorphic robot capability detection/mapping More...
|
Namespaces |
| namespace | MantisArmInfo |
| | Contains information about an Mantis 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?
|
Enumerations |
| enum | MantisArmInfo::ServoParam_t { MantisArmInfo::DYNAMIXEL_SLOPE = 0,
MantisArmInfo::DYNAMIXEL_PUNCH,
MantisArmInfo::DYNAMIXEL_MARGIN
} |
| | offsets into DefaultPIDs, since Dynamixel servos don't actually use PID control, but a different set of parameters
More...
|
Variables |
| const char *const | MantisArmInfo::TargetName = "MantisArm" |
| | the name of the model, to be used for logging and remote GUIs
|
| const unsigned int | MantisArmInfo::FrameTime = 32 |
| | time between frames in the motion system (milliseconds)
|
| const unsigned int | MantisArmInfo::NumFrames = 1 |
| | the number of frames per buffer (don't forget also double buffered)
|
| const unsigned int | MantisArmInfo::SoundBufferTime = 32 |
| | the number of milliseconds per sound buffer... I'm not sure if this can be changed
|
| const fmat::Column< 3 > | MantisArmInfo::AgentBoundingBoxBaseFrameOffset = fmat::pack(400,70,350) |
| | Offset needed so that the centroid of the robot is correct related to the bounding box.
|
| const fmat::Column< 3 > | MantisArmInfo::AgentBoundingBoxHalfDims = fmat::pack(100,100,100) |
| | Half of the length, width, and height of the robot.
|
| const char *const | MantisArmInfo::outputNames [NumReferenceFrames+1] |
| | Names for each of the outputs.
|
| const MantisArmCapabilities | MantisArmInfo::capabilities |
| | allocation declared in RobotInfo.cc
|
| const float | MantisArmInfo::DefaultPIDs [NumPIDJoints][3] |
| | Dynamixel MX servos use PID control.
|
| const float | MantisArmInfo::MaxOutputSpeed [NumOutputs] |
| | These values are our recommended maximum joint velocities, in rad/ms.
|
| const float | MantisArmInfo::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 | MantisArmInfo::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 | MantisArmInfo::NumWheels = 0 |
| | The number of joints per leg.
|
| const unsigned | MantisArmInfo::JointsPerArm = 6 |
| | The number of joints per leg.
|
| const unsigned | MantisArmInfo::NumArms = 1 |
| | The number of joints per leg.
|
| const unsigned | MantisArmInfo::NumArmJoints = JointsPerArm*NumArms |
| | The number of joints per leg.
|
| const unsigned | MantisArmInfo::JointsPerLeg = 0 |
| | The number of joints per leg.
|
| const unsigned | MantisArmInfo::NumLegs = 0 |
| | The number of legs.
|
| const unsigned | MantisArmInfo::NumLegJoints = JointsPerLeg*NumLegs |
| | the TOTAL number of joints on ALL legs
|
| const unsigned | MantisArmInfo::NumHeadJoints = 0 |
| | The number of joints in the pantilt.
|
| const unsigned | MantisArmInfo::NumTailJoints = 0 |
| | The number of joints assigned to the tail.
|
| const unsigned | MantisArmInfo::NumMouthJoints = 0 |
| | the number of joints that control the mouth
|
| const unsigned | MantisArmInfo::NumEarJoints = 0 |
| | The number of joints which control the ears (NOT per ear, is total).
|
| const unsigned | MantisArmInfo::NumButtons = 3 |
| | the number of buttons that are available
|
| const unsigned | MantisArmInfo::NumSensors = 0 |
| | the number of sensors available
|
| const unsigned | MantisArmInfo::NumFacePanelLEDs = 0 |
| | The number of face panel LEDs.
|
| const unsigned | MantisArmInfo::NumPIDJoints = NumArmJoints + NumLegJoints + NumHeadJoints + NumTailJoints + NumMouthJoints |
| | servo pins
|
| const unsigned | MantisArmInfo::NumLEDs = NumPIDJoints |
| | There's an LED on every dynamixel, but can't see most of them, so save some computational resources and only expose the visible ones.
|
| const unsigned | MantisArmInfo::NumOutputs = NumWheels + NumPIDJoints + NumLEDs |
| | the total number of outputs
|
| const unsigned | MantisArmInfo::NumReferenceFrames = NumOutputs + NumLegs + NumArms + 1 |
| | for the base, feet, gripper, camera, and IR distance rangefinder
|
| const unsigned | MantisArmInfo::FingerJointsPerArm = 0 |
| | The number of joints per leg.
|
| const float | MantisArmInfo::BallOfFootRadius = 0 |
| | radius of the ball of the foot
|
Output Offsets |
Corresponds to entries in ERS7Info::PrimitiveName, defined at the end of this file
|
| enum | MantisArmInfo::ArmOrder_t { MantisArmInfo::MdArmOrder = 0
} |
| | the ordering of arms
More...
|
| enum | MantisArmInfo::SEKOffset_t {
MantisArmInfo::SweepOffset = 0,
MantisArmInfo::ElevatorOffset,
MantisArmInfo::Twist1Offset,
MantisArmInfo::ElbowOffset,
MantisArmInfo::Twist2Offset,
MantisArmInfo::WristOffset
} |
| | The offsets within appendages (the legs) Note that the ordering matches the actual physical ordering of joints on the appendage.
More...
|
| enum | MantisArmInfo::TPROffset_t { MantisArmInfo::PanOffset = 0,
MantisArmInfo::TiltOffset,
MantisArmInfo::NodOffset = TiltOffset,
MantisArmInfo::RollOffset
} |
| | The offsets of appendages with tilt (elevation), pan (heading), and roll or nod joints (i.e. head/wrist).
More...
|
| enum | MantisArmInfo::ArmOffset_t { MantisArmInfo::MdArmOffset = ArmOffset+MdArmOrder*JointsPerArm
} |
| | The offsets of the individual legs, add REKOffset_t value to access specific joint.
More...
|
| enum | MantisArmInfo::LEDOffset_t {
MantisArmInfo::ElevatorLEDOffset = LEDOffset,
MantisArmInfo::ShoulderLEDOffset,
MantisArmInfo::Twist1LEDOffset,
MantisArmInfo::ElbowLEDOffset,
MantisArmInfo::Twist2LEDOffset,
MantisArmInfo::WristLEDOffset
} |
| | The offsets of the individual LEDs.
More...
|
| typedef unsigned int | MantisArmInfo::LEDBitMask_t |
| | So you can be clear when you're refering to a LED bitmask.
|
| const unsigned | MantisArmInfo::PIDJointOffset = 0 |
| | The beginning of the PID Joints.
|
| const unsigned | MantisArmInfo::ArmOffset = PIDJointOffset |
| | the offset of the beginning of the regular leg joints (after the 1 rotator joint for the right front leg): NumLegs of JointsPerLeg each, in LegOrder_t order; see LegOffset_t
|
| const unsigned | MantisArmInfo::LEDOffset = PIDJointOffset + NumPIDJoints |
| | the offset of LEDs in WorldState::outputs and MotionCommand functions, see LedOffset_t for specific offsets
|
| const unsigned | MantisArmInfo::BaseFrameOffset = NumOutputs |
| | Use with kinematics to refer to base reference frame.
|
| const unsigned | MantisArmInfo::FootFrameOffset = BaseFrameOffset+1 |
| | Use with kinematics to refer to feet reference frames (add appropriate LegOrder_t to specify which paw).
|
| const unsigned | MantisArmInfo::GripperFrameOffset = FootFrameOffset+NumLegs |
| | Use with kinematics to refer to gripper reference frame.
|
| const unsigned | MantisArmInfo::CameraFrameOffset = GripperFrameOffset+NumArms |
| | Use with kinematics to refer to camera reference frame.
|
| const unsigned | MantisArmInfo::LeftIRFrameOffset = CameraFrameOffset+1 |
| | Use with kinematics to refer to left IR distance rangefinder reference frame.
|
| const unsigned | MantisArmInfo::CenterIRFrameOffset = LeftIRFrameOffset+1 |
| | Use with kinematics to refer to center IR distance rangefinder reference frame.
|
| const unsigned | MantisArmInfo::IRFrameOffset = CenterIRFrameOffset |
| | alias for CenterIRFrameOffset
|
| const unsigned | MantisArmInfo::RightIRFrameOffset = CenterIRFrameOffset+1 |
| | Use with kinematics to refer to right IR distance rangefinder reference frame.
|
| const LEDOffset_t | MantisArmInfo::RedLEDOffset = ElevatorLEDOffset |
| | the ordering of arms
|
| const LEDOffset_t | MantisArmInfo::YellowLEDOffset = ShoulderLEDOffset |
| | the ordering of arms
|
| const LEDOffset_t | MantisArmInfo::GreenLEDOffset = ElbowLEDOffset |
| | the ordering of arms
|
| const LEDOffset_t | MantisArmInfo::BlueLEDOffset = WristLEDOffset |
| | the ordering of arms
|
| const LEDBitMask_t | MantisArmInfo::RedLEDMask = 1<<(ElevatorLEDOffset-LEDOffset) |
| | mask corresponding to RedLEDOffset
|
| const LEDBitMask_t | MantisArmInfo::YellowLEDMask = 1<<(ShoulderLEDOffset-LEDOffset) |
| | mask corresponding to YellowLEDOffset
|
| const LEDBitMask_t | MantisArmInfo::GreenLEDMask = 1<<(ElbowLEDOffset-LEDOffset) |
| | mask corresponding to GreenLEDOffset
|
| const LEDBitMask_t | MantisArmInfo::BlueLEDMask = (1<<(WristLEDOffset-LEDOffset)) |
| | mask corresponding to BlueLEDOffset
|
| const LEDBitMask_t | MantisArmInfo::FaceLEDMask = 0 |
| | LEDs for the face panel (all FaceLEDPanelMask<<(0:NumFacePanelLEDs-1) entries).
|
| const LEDBitMask_t | MantisArmInfo::AllLEDMask = (LEDBitMask_t)~0 |
| | selects all of the leds
|
Input Offsets |
The order in which inputs should be stored
|
| enum | MantisArmInfo::ButtonOffset_t { MantisArmInfo::GreenButOffset,
MantisArmInfo::RedButOffset,
MantisArmInfo::YellowButOffset
} |
| | holds offsets to different buttons in WorldState::buttons[]
More...
|
| enum | MantisArmInfo::SensorOffset_t |
| | holds offset to different sensor values in WorldState::sensors[]
More...
|
| const char *const | MantisArmInfo::buttonNames [NumButtons+1] = { "GreenBut", "RedBut", "YellowBut", NULL } |
| | Provides a string name for each button.
|
| const char *const | MantisArmInfo::sensorNames [NumSensors+1] |
| | Provides a string name for each sensor.
|
Defines some capabilities of the Mantis arm Robots.