ERS7Info Namespace Reference
Detailed Description
Contains information about the ERS-7 Robot, such as number of joints, PID defaults, timing information, etc.
You may be particularly interested in the "Output Offsets" section, which, along with the offsets of the common RobotInfo namespace, allows you to reference any specific joint or LED on the robot.
The "Input Offsets" section gives the index order of the buttons (ButtonOffset_t) and sensors (SensorOffset_t), as well as string names for each for easier debugging (buttonNames, sensorNames)
"Output Types" section provides "meta-information" regarding the capabilities of the robot, such as the number of head joints, or the number of LEDs, etc.
For more information on your robot's specifications, see also DefaultPIDs, MaxOutputSpeed, outputRanges, and mechanicalLimits.
"Outputs" (i.e. Joints, LEDs) are often refered to by index ("offset") value within an array. These values are formed by specifying a section offset, plus a specific offset. Sections are typically general across robot models, whereas the specifics are model-dependent (but can be aliased to provide compatability).
For most joints, the positive direction is "up", and the 0 position yields a forward looking, fully extended standing posture.
- {L,R}{FrBk}LegOffset - NumLegs combinations, each with JointsPerLeg items, add REKOffset_t; see also LegOffset_t
- HeadOffset - NumHeadJoints items, add TPROffset_t:
- TailOffset - NumTailJoints items, add TPROffset_t:
- + TiltOffset: positive raises the joint (lowers the tail itself)
- + PanOffset: positive points the tail to the Aibo's right
- MouthOffset - NumMouthJoints items (no specific, only 1 joint)
- LEDs: NumLEDs items, see LEDOffset_t; these are all direct offsets, and do not need to be added to anything else
- EarOffset - NumEarJoints items (no specifics, first is left ear, second is right ear)
It happens that these joints can also be grouped by the type of joint, so there are additionally a few other offsets that can be used in order to loop across a group of joints:
- PIDJointOffset - NumPIDJoints items, servos using PID control
- LegOffset - NumLegJoints items, a subset of PID servos corresponding to the leg joints
- LEDOffset - NumLEDs items
- BinJointOffset - NumBinJoints items, solenoids, such as the ears (if any) which flip between two positions
- NumOutputs - total number of outputs available
LEDs are often handled in groups to display patterns. Some functions take an LEDBitMask_t parameter, which allows you to specify a set of several LEDs in a single parameter. For any given LED offset fooLEDOffset , the corresponding bitmask constant is fooLEDMask . Alternatively, you could calculate the bitmask of fooLEDOffset by 1<<(fooLEDOffset-LEDOffset) .
- See also:
- ERS-7 Quick Reference Sheet
|
Classes |
class | ERS7Capabilities |
| provides polymorphic robot capability detection/mapping More...
|
Output Offsets |
Corresponds to entries in ERS7Info::PrimitiveName, defined at the end of this file
|
enum | LegOrder_t { LFrLegOrder = 0,
RFrLegOrder,
LBkLegOrder,
RBkLegOrder
} |
| the ordering of legs More...
|
enum | REKOffset_t { RotatorOffset = 0,
ElevatorOffset,
KneeOffset
} |
| The offsets within appendages (the legs) Note that the ordering matches the actual physical ordering of joints on the appendage (and not that of the head's TPROffset_t's). More...
|
enum | TPROffset_t { TiltOffset = 0,
PanOffset,
RollOffset,
NodOffset = RollOffset
} |
| The offsets of appendages with tilt (elevation), pan (heading), and roll or nod joints (i.e. head) Note that the ordering matches the actual physical ordering of joints on the appendage (and not that of the leg's REKOffset_t's). More...
|
enum | LegOffset_t { LFrLegOffset = LegOffset+LFrLegOrder*JointsPerLeg,
RFrLegOffset = LegOffset+RFrLegOrder*JointsPerLeg,
LBkLegOffset = LegOffset+LBkLegOrder*JointsPerLeg,
RBkLegOffset = LegOffset+RBkLegOrder*JointsPerLeg
} |
| The offsets of the individual legs, add REKOffset_t value to access specific joint. More...
|
enum | LEDOffset_t {
HeadColorLEDOffset = LEDOffset,
HeadWhiteLEDOffset,
ModeRedLEDOffset,
ModeGreenLEDOffset,
ModeBlueLEDOffset,
WirelessLEDOffset,
FaceLEDPanelOffset,
FrBackColorLEDOffset = FaceLEDPanelOffset+NumFacePanelLEDs,
FrBackWhiteLEDOffset,
MdBackColorLEDOffset,
MdBackWhiteLEDOffset,
RrBackColorLEDOffset,
RrBackWhiteLEDOffset,
LEDABModeOffset,
BotLLEDOffset = FaceLEDPanelOffset+1,
BotRLEDOffset = FaceLEDPanelOffset+0,
MidLLEDOffset = FaceLEDPanelOffset+3,
MidRLEDOffset = FaceLEDPanelOffset+2,
TopLLEDOffset = FaceLEDPanelOffset+7,
TopRLEDOffset = FaceLEDPanelOffset+6,
TopBrLEDOffset = HeadColorLEDOffset,
TlRedLEDOffset = RrBackColorLEDOffset,
TlBluLEDOffset = FrBackColorLEDOffset
} |
| 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...
|
const unsigned | PIDJointOffset = 0 |
| The beginning of the PID Joints.
|
const unsigned | LegOffset = PIDJointOffset |
| the offset of the beginning of the leg joints, NumLegs of JointsPerLeg each, in LegOrder_t order; see LegOffset_t
|
const unsigned | HeadOffset = LegOffset+NumLegJoints |
| the offset of the beginning of the head joints, add TPROffset_t to get specific joint
|
const unsigned | TailOffset = HeadOffset+NumHeadJoints |
| the offset of the beginning of the tail joints, add TPROffset_t to get specific joint (except RollOffset not available)
|
const unsigned | MouthOffset = TailOffset+NumTailJoints |
| the offset of the beginning of the mouth joint, is specific joint
|
const unsigned | LEDOffset = PIDJointOffset + NumPIDJoints |
| the offset of LEDs in WorldState::outputs and MotionCommand functions, see LedOffset_t for specific offsets
|
const unsigned | BinJointOffset = LEDOffset + NumLEDs |
| The beginning of the binary joints.
|
const unsigned | 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.
|
const unsigned | BaseFrameOffset = NumOutputs |
| Use with kinematics to refer to base reference frame.
|
const unsigned | PawFrameOffset = BaseFrameOffset+1 |
| Use with kinematics to refer to paw reference frames (add appropriate LegOrder_t to specify which paw).
|
const unsigned | CameraFrameOffset = PawFrameOffset+NumLegs |
| Use with kinematics to refer to camera reference frame.
|
const unsigned | NearIRFrameOffset = CameraFrameOffset+1 |
| Use with kinematics to refer to short-range infrared (distance) sensor reference frame.
|
const unsigned | FarIRFrameOffset = NearIRFrameOffset+1 |
| Use with kinematics to refer to long-range infrared (distance) sensor reference frame.
|
const unsigned | ChestIRFrameOffset = FarIRFrameOffset+1 |
| Use with kinematics to refer to chest-mounted infrared (distance) sensor reference frame.
|
Input Offsets |
The order in which inputs should be stored
|
enum | ButtonOffset_t {
LFrPawOffset = LFrLegOrder,
RFrPawOffset = RFrLegOrder,
LBkPawOffset = LBkLegOrder,
RBkPawOffset = RBkLegOrder,
ChinButOffset = 4,
HeadButOffset,
HeadFrButOffset = HeadButOffset,
FrontBackButOffset,
MiddleBackButOffset,
BackButOffset = MiddleBackButOffset,
RearBackButOffset,
WirelessSwOffset
} |
| holds offsets to different buttons in WorldState::buttons[] More...
|
enum | SensorOffset_t {
NearIRDistOffset = 0,
IRDistOffset = NearIRDistOffset,
FarIRDistOffset,
ChestIRDistOffset,
BAccelOffset,
LAccelOffset,
DAccelOffset,
PowerRemainOffset,
PowerThermoOffset,
PowerCapacityOffset,
PowerVoltageOffset,
PowerCurrentOffset
} |
| holds offset to different sensor values in WorldState::sensors[] More...
|
const char *const | buttonNames [NumButtons] |
| Provides a string name for each button.
|
const char *const | sensorNames [NumSensors] |
| Provides a string name for each sensor.
|
LED Bitmasks |
Bitmasks for use when specifying combinations of LEDs (see LedEngine ) Note that left/right are robot's point of view
|
const LEDBitMask_t | HeadColorLEDMask = 1<<(HeadColorLEDOffset-LEDOffset) |
| mask corresponding to HeadColorLEDOffset
|
const LEDBitMask_t | HeadWhiteLEDMask = 1<<(HeadWhiteLEDOffset-LEDOffset) |
| mask corresponding to HeadWhiteLEDOffset
|
const LEDBitMask_t | ModeRedLEDMask = 1<<(ModeRedLEDOffset-LEDOffset) |
| mask corresponding to ModeRedLEDOffset
|
const LEDBitMask_t | ModeGreenLEDMask = 1<<(ModeGreenLEDOffset-LEDOffset) |
| mask corresponding to ModeGreenLEDOffset
|
const LEDBitMask_t | ModeBlueLEDMask = 1<<(ModeBlueLEDOffset-LEDOffset) |
| mask corresponding to ModeBlueLEDOffset
|
const LEDBitMask_t | WirelessLEDMask = 1<<(WirelessLEDOffset-LEDOffset) |
| mask corresponding to WirelessLEDOffset
|
const LEDBitMask_t | FaceLEDPanelMask = 1<<(FaceLEDPanelOffset-LEDOffset) |
| mask corresponding to FaceLEDPanelOffset, selects only the first of the panel - shift this to get the others
|
const LEDBitMask_t | FrBackColorLEDMask = 1<<(FrBackColorLEDOffset-LEDOffset) |
| mask corresponding to FrBackColorLEDOffset
|
const LEDBitMask_t | FrBackWhiteLEDMask = 1<<(FrBackWhiteLEDOffset-LEDOffset) |
| mask corresponding to FrBackWhiteLEDOffset
|
const LEDBitMask_t | MdBackColorLEDMask = 1<<(MdBackColorLEDOffset-LEDOffset) |
| mask corresponding to MdBackColorLEDOffset
|
const LEDBitMask_t | MdBackWhiteLEDMask = 1<<(MdBackWhiteLEDOffset-LEDOffset) |
| mask corresponding to MdBackWhiteLEDOffset
|
const LEDBitMask_t | RrBackColorLEDMask = 1<<(RrBackColorLEDOffset-LEDOffset) |
| mask corresponding to RrBackColorLEDOffset
|
const LEDBitMask_t | RrBackWhiteLEDMask = 1<<(RrBackWhiteLEDOffset-LEDOffset) |
| mask corresponding to RrBackWhiteLEDOffset
|
const LEDBitMask_t | LEDABModeMask = 1<<(LEDABModeOffset-LEDOffset) |
| mask corresponding to LEDABModeOffset
|
const LEDBitMask_t | BotLLEDMask = 1<<(BotLLEDOffset-LEDOffset) |
| bottom left
|
const LEDBitMask_t | BotRLEDMask = 1<<(BotRLEDOffset-LEDOffset) |
| bottom right
|
const LEDBitMask_t | MidLLEDMask = 1<<(MidLLEDOffset-LEDOffset) |
| middle left
|
const LEDBitMask_t | MidRLEDMask = 1<<(MidRLEDOffset-LEDOffset) |
| middle right
|
const LEDBitMask_t | TopLLEDMask = 1<<(TopLLEDOffset-LEDOffset) |
| top left
|
const LEDBitMask_t | TopRLEDMask = 1<<(TopRLEDOffset-LEDOffset) |
| top right
|
const LEDBitMask_t | TopBrLEDMask = 1<<(TopBrLEDOffset-LEDOffset) |
| top bar
|
const LEDBitMask_t | TlRedLEDMask = 1<<(TlRedLEDOffset-LEDOffset) |
| red tail light
|
const LEDBitMask_t | TlBluLEDMask = 1<<(TlBluLEDOffset-LEDOffset) |
| blue tail light
|
const LEDBitMask_t | FaceLEDMask |
| LEDs for the face panel (all FaceLEDPanelMask<<(0:NumFacePanelLEDs-1) entries).
|
const LEDBitMask_t | HeadLEDMask |
| LEDs for face (all but back lights).
|
const LEDBitMask_t | BackLEDMask |
| LEDS on the back.
|
const LEDBitMask_t | TailLEDMask = 0 |
| LEDs on tail (ERS-7 has none).
|
const LEDBitMask_t | AllLEDMask = (LEDBitMask_t)~0 |
| selects all of the leds
|
typedef unsigned int | LEDBitMask_t |
| So you can be clear when you're refering to a LED bitmask.
|
Variables |
const char *const | TargetName = "ERS-7" |
| the name of the model, to be used for logging and remote GUIs
|
const unsigned int | FrameTime = 8 |
| time between frames in the motion system (milliseconds)
|
const unsigned int | NumFrames = 4 |
| the number of frames per buffer (don't forget also double buffered)
|
const unsigned int | SlowFrameTime = 8 |
| time between frames for the ears (ERS-7 doesn't seem to have any "slow" joints; this only applied for the ears on the ERS-210)
|
const unsigned int | NumSlowFrames = 4 |
| the number of frames per buffer being sent to ears (double buffered as well)
|
const unsigned int | SoundBufferTime = 32 |
| the number of milliseconds per sound buffer... I'm not sure if this can be changed
|
const char *const | outputNames [NumOutputs] |
| Names for each of the outputs.
|
ERS7Capabilities | capabilities |
| allocation declared in RobotInfo.cc
|
const char *const | PrimitiveName [NumOutputs] |
| the joint identifier strings used to refer to specific joints in OPEN-R (but not needed for others)
|
const char *const | SpeakerLocator = "PRM:/s1-Speaker:S1" |
| use to open speaker connection with the system
|
const char *const | CameraLocator = "PRM:/r1/c1/c2/c3/i1-FbkImageSensor:F1" |
| use to open camera connection with the system
|
const float | DefaultPIDs [NumPIDJoints][3] |
| This table holds the default PID values for each joint. see PIDMC.
|
const unsigned char | DefaultPIDShifts [3] = {0x0E, 0x02-1, 0x0F-3} |
| These will control the shift values given to the system. see PIDMC.
|
const float | MaxOutputSpeed [NumOutputs] |
| These values are Sony's recommended maximum joint velocities, in rad/ms.
|
const double | 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 double | 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).
|
|
Corresponds to entries in ERS7Info::PrimitiveName, defined at the end of this file, these are the primary grouping
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 | NumWheels = 0 |
| no wheels, just legs
|
const unsigned | JointsPerArm = 0 |
| no arms, just legs
|
const unsigned | NumArms = 0 |
| no arms, just legs
|
const unsigned | NumArmJoints = JointsPerArm*NumArms |
| no wheels, just legs
|
const unsigned | JointsPerLeg = 3 |
| The number of joints per leg.
|
const unsigned | NumLegs = 4 |
| The number of legs.
|
const unsigned | NumLegJoints = JointsPerLeg*NumLegs |
| the TOTAL number of joints on ALL legs
|
const unsigned | NumHeadJoints = 3 |
| The number of joints in the neck.
|
const unsigned | NumTailJoints = 2 |
| The number of joints assigned to the tail.
|
const unsigned | NumMouthJoints = 1 |
| the number of joints that control the mouth
|
const unsigned | NumEarJoints = 2 |
| The number of joints which control the ears (NOT per ear, is total).
|
const unsigned | NumButtons = 2+4+3+1 |
| the number of buttons that are available, 2 head, 4 paws, 3 back, 1 underbelly see ERS7Info::ButtonOffset_t
|
const unsigned | NumSensors = 3+3+5 |
| 3 IR (distance), 3 accel (force), 5 from power, see ERS7Info::SensorOffset_t
|
const unsigned | NumLEDs = 27 |
| The number of LEDs which can be controlled.
|
const unsigned | NumFacePanelLEDs = 14 |
| The number of face panel LEDs.
|
const unsigned | NumPIDJoints = NumLegJoints+NumHeadJoints+NumTailJoints+NumMouthJoints |
| The number of joints which use PID motion - everything except ears.
|
const unsigned | NumBinJoints = NumEarJoints |
| The number of binary joints - just the ears.
|
const unsigned | NumOutputs = NumPIDJoints + NumBinJoints + NumLEDs |
| the total number of outputs
|
const unsigned | NumReferenceFrames = NumOutputs + 1 + NumLegs + 1 + 3 |
| for the base, paws (NumLegs), camera, and IR sensors (3) reference frames
|
const float | CameraHorizFOV = 56.9/180*M_PI |
| horizontal field of view (radians)
|
const float | CameraVertFOV = 45.2/180*M_PI |
| vertical field of view (radians)
|
const float | CameraFOV = CameraHorizFOV |
| should be set to maximum of CameraHorizFOV or CameraVertFOV
|
const unsigned int | CameraResolutionX = 208 |
| the number of pixels available in the 'full' layer
|
const unsigned int | CameraResolutionY = 160 |
| the number of pixels available in the 'full' layer
|
const float | BallOfFootRadius = 23.433/2 |
| radius of the ball of the foot
|
const bool | IsFastOutput [NumOutputs] |
| true for joints which can be updated every 32 ms (all joints on ERS-7)
|
|
Values defined by OPEN-R, used to interface with lower level OPEN-R code to read sensors - values don't correspond to order of ERS7Info::PrimitiveName |
const int | CPCJointMouth = 0 |
| Mouth.
|
const int | CPCSwitchChin = 1 |
| Chin sensor.
|
const int | CPCJointNeckNod = 2 |
| Neck tilt2.
|
const int | CPCSensorHead = 3 |
| Head sensor.
|
const int | CPCSensorNearPSD = 4 |
| Head distance sensor(near).
|
const int | CPCSensorFarPSD = 5 |
| Head distance sensor(far).
|
const int | CPCJointNeckPan = 6 |
| Neck pan.
|
const int | CPCJointNeckTilt = 7 |
| Neck tilt1.
|
const int | CPCSwitchLFPaw = 8 |
| Left fore leg paw sensor.
|
const int | CPCJointLFKnee = 9 |
| Left fore legJ3.
|
const int | CPCJointLFElevator = 10 |
| Left fore legJ2.
|
const int | CPCJointLFRotator = 11 |
| Left fore legJ1.
|
const int | CPCSwitchLHPaw = 12 |
| Left hind leg paw sensor.
|
const int | CPCJointLHKnee = 13 |
| Left hind legJ3.
|
const int | CPCJointLHElevator = 14 |
| Left hind legJ2.
|
const int | CPCJointLHRotator = 15 |
| Left hind legJ1.
|
const int | CPCSwitchRFPaw = 16 |
| Right fore leg paw sensor.
|
const int | CPCJointRFKnee = 17 |
| Right fore legJ3.
|
const int | CPCJointRFElevator = 18 |
| Right fore legJ2.
|
const int | CPCJointRFRotator = 19 |
| Right fore legJ1.
|
const int | CPCSwitchRHPaw = 20 |
| Right hind leg paw sensor.
|
const int | CPCJointRHKnee = 21 |
| Right hind legJ3.
|
const int | CPCJointRHElevator = 22 |
| Right hind legJ2.
|
const int | CPCJointRHRotator = 23 |
| Right hind legJ1.
|
const int | CPCJointTailTilt = 24 |
| Tail tilt.
|
const int | CPCJointTailPan = 25 |
| Tail pan.
|
const int | CPCSensorAccelFB = 26 |
| Acceleration sensor(front-back).
|
const int | CPCSensorAccelLR = 27 |
| Acceleration sensor(right-left).
|
const int | CPCSensorAccelUD = 28 |
| Acceleration sensor(up-down).
|
const int | CPCSensorChestPSD = 29 |
| Chest distance sensor.
|
const int | CPCSwitchWireless = 30 |
| Wireless LAN switch.
|
const int | CPCSensorBackRear = 31 |
| Back sensor(rear).
|
const int | CPCSensorBackMiddle = 32 |
| Back sensor(middle).
|
const int | CPCSensorBackFront = 33 |
| Back sensor(front).
|
Typedef Documentation
So you can be clear when you're refering to a LED bitmask.
Definition at line 209 of file ERS7Info.h.
Enumeration Type Documentation
holds offsets to different buttons in WorldState::buttons[]
Should be a straight mapping to the ButtonSourceIDs
Note that the chest (power) button is not a normal button. It kills power to the motors at a hardware level, and isn't sensed in the normal way. If you want to know when it is pressed (and you are about to shut down) see PowerSrcID::PauseSID.
- See also:
- WorldState::buttons
ButtonSourceID_t
- Enumerator:
-
LFrPawOffset |
|
RFrPawOffset |
|
LBkPawOffset |
|
RBkPawOffset |
|
ChinButOffset |
|
HeadButOffset |
|
HeadFrButOffset |
|
FrontBackButOffset |
|
MiddleBackButOffset |
|
BackButOffset |
|
RearBackButOffset |
|
WirelessSwOffset |
|
Definition at line 279 of file ERS7Info.h.
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.
- Enumerator:
-
HeadColorLEDOffset |
the orange LED immediately above the head button (copositioned with HeadWhiteLEDOffset) |
HeadWhiteLEDOffset |
the LED immediately above the head button (copositioned with HeadColorLEDOffset) |
ModeRedLEDOffset |
controls both of the red LEDs above the ears (copositioned with ModeGreenLEDOffset and ModeBlueLEDOffset) |
ModeGreenLEDOffset |
controls both of the green LEDs above the ears (copositioned with ModeRedLEDOffset and ModeBlueLEDOffset) |
ModeBlueLEDOffset |
controls both of the blue LEDs above the ears (copositioned with ModeRedLEDOffset and ModeGreenLEDOffset) |
WirelessLEDOffset |
controls the small rectangular blue LED on the back of the head |
FaceLEDPanelOffset |
the first LED in the panel - add 0 up to (not including) NumFacePanelLEDs to this to access specific face panel LEDs, see LedEngine for diagram of placement |
FrBackColorLEDOffset |
blue/purple LED on back, closest to head (copositioned with FrBackWhiteLEDOffset) |
FrBackWhiteLEDOffset |
white LED on back, closest to head (copositioned with FrBackColorLEDOffset) |
MdBackColorLEDOffset |
orange LED on back, in between FrBackColorLEDOffset and RrBackColorLEDOffset (copositioned with MdBackWhiteLEDOffset) |
MdBackWhiteLEDOffset |
white LED on back, in between FrBackWhiteLEDOffset and RrBackWhiteLEDOffset (copositioned with MdBackColorLEDOffset) |
RrBackColorLEDOffset |
red LED on back, farthest from head (copositioned with RrBackWhiteLEDOffset) |
RrBackWhiteLEDOffset |
white LED on back, farthest from head (copositioned with RrBackColorLEDOffset) |
LEDABModeOffset |
|
BotLLEDOffset |
aliases for backward compatability with ERS-210 (use mode A); bottom left of face panel |
BotRLEDOffset |
aliases for backward compatability with ERS-210 (use mode A); bottom right of face panel |
MidLLEDOffset |
aliases for backward compatability with ERS-210 (use mode A); middle left of face panel |
MidRLEDOffset |
aliases for backward compatability with ERS-210 (use mode A); middle right of face panel |
TopLLEDOffset |
aliases for backward compatability with ERS-210 (use mode A); top left of face panel |
TopRLEDOffset |
aliases for backward compatability with ERS-210(use mode A); top right of face panel |
TopBrLEDOffset |
aliases for backward compatability with ERS-210 (use mode A); top bar (HeadColorLEDOffset) |
TlRedLEDOffset |
aliases for backward compatability with ERS-210; red tail light (RrBackColorLEDOffset) |
TlBluLEDOffset |
aliases for backward compatability with ERS-210; blue tail light (FrBackColorLEDOffset) |
Definition at line 178 of file ERS7Info.h.
The offsets of the individual legs, add REKOffset_t value to access specific joint.
- Enumerator:
-
LFrLegOffset |
beginning of left front leg's joints |
RFrLegOffset |
beginning of right front leg's joints |
LBkLegOffset |
beginning of left back leg's joints |
RBkLegOffset |
beginning of right back leg's joints |
Definition at line 169 of file ERS7Info.h.
the ordering of legs
- Enumerator:
-
LFrLegOrder |
left front leg |
RFrLegOrder |
right front leg |
LBkLegOrder |
left back leg |
RBkLegOrder |
right back leg |
Definition at line 145 of file ERS7Info.h.
The offsets within appendages (the legs) Note that the ordering matches the actual physical ordering of joints on the appendage (and not that of the head's TPROffset_t's).
- Enumerator:
-
RotatorOffset |
moves leg forward or backward along body |
ElevatorOffset |
moves leg toward or away from body |
KneeOffset |
moves knee |
Definition at line 153 of file ERS7Info.h.
holds offset to different sensor values in WorldState::sensors[]
- See also:
- WorldState::sensors[]
- Enumerator:
-
NearIRDistOffset |
in millimeters, ranges from 50 to 500 |
IRDistOffset |
alias for ERS-2xx's solitary range finder |
FarIRDistOffset |
in millimeters, ranges from 200 to 1500 |
ChestIRDistOffset |
in millimeters, ranges from 100 to 900 |
BAccelOffset |
backward acceleration, in , negative if sitting on butt (positive for faceplant) |
LAccelOffset |
acceleration to the robot's left, in , negative if lying on robot's left side |
DAccelOffset |
downward acceleration, in , negative if standing up... be careful about the signs on all of these... |
PowerRemainOffset |
percentage, 0-1 |
PowerThermoOffset |
degrees Celcius |
PowerCapacityOffset |
milli-amp hours |
PowerVoltageOffset |
volts |
PowerCurrentOffset |
milli-amp negative values (maybe positive while charging?) |
Definition at line 304 of file ERS7Info.h.
The offsets of appendages with tilt (elevation), pan (heading), and roll or nod joints (i.e. head) Note that the ordering matches the actual physical ordering of joints on the appendage (and not that of the leg's REKOffset_t's).
- Enumerator:
-
TiltOffset |
tilt/elevation (vertical) |
PanOffset |
pan/heading (horizontal) |
RollOffset |
roll (rotational) |
NodOffset |
nod (second tilt) |
Definition at line 160 of file ERS7Info.h.
Variable Documentation
selects all of the leds
Definition at line 256 of file ERS7Info.h.
Initial value: LEDS on the back.
Definition at line 248 of file ERS7Info.h.
radius of the ball of the foot
Definition at line 105 of file ERS7Info.h.
Use with kinematics to refer to base reference frame.
Definition at line 137 of file ERS7Info.h.
The beginning of the binary joints.
Definition at line 134 of file ERS7Info.h.
Initial value: {
"LFrPaw","RFrPaw","LBkPaw","RBkPaw",
"ChinBut","HeadBut",
"FrontBackBut","MiddleBackBut","RearBackBut",
"WirelessSw"
}
Provides a string name for each button.
Definition at line 295 of file ERS7Info.h.
Use with kinematics to refer to camera reference frame.
Definition at line 139 of file ERS7Info.h.
horizontal field of view (radians)
Definition at line 100 of file ERS7Info.h.
use to open camera connection with the system
Definition at line 460 of file ERS7Info.h.
the number of pixels available in the 'full' layer
Definition at line 103 of file ERS7Info.h.
the number of pixels available in the 'full' layer
Definition at line 104 of file ERS7Info.h.
vertical field of view (radians)
Definition at line 101 of file ERS7Info.h.
Use with kinematics to refer to chest-mounted infrared (distance) sensor reference frame.
Definition at line 142 of file ERS7Info.h.
Acceleration sensor(front-back).
Definition at line 613 of file ERS7Info.h.
Acceleration sensor(right-left).
Definition at line 614 of file ERS7Info.h.
Acceleration sensor(up-down).
Definition at line 615 of file ERS7Info.h.
Chest distance sensor.
Definition at line 616 of file ERS7Info.h.
Head distance sensor(far).
Definition at line 592 of file ERS7Info.h.
Head distance sensor(near).
Definition at line 591 of file ERS7Info.h.
Left fore leg paw sensor.
Definition at line 595 of file ERS7Info.h.
Left hind leg paw sensor.
Definition at line 599 of file ERS7Info.h.
Right fore leg paw sensor.
Definition at line 603 of file ERS7Info.h.
Right hind leg paw sensor.
Definition at line 607 of file ERS7Info.h.
Initial value:
{
{ 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
{ 0x14/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
{ 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
{ 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
{ 0x14/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
{ 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
{ 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
{ 0x14/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
{ 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
{ 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
{ 0x14/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
{ 0x1C/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x01/(double)(1<<(16-0xF)) },
{ 0x0A/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x02/(double)(1<<(16-0xF)) },
{ 0x08/(double)(1<<(16-0xE)), 0x02/(double)(1<<(16-0x2)), 0x04/(double)(1<<(16-0xF)) },
{ 0x08/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x02/(double)(1<<(16-0xF)) },
{ 0x0A/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x04/(double)(1<<(16-0xF)) },
{ 0x0A/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x04/(double)(1<<(16-0xF)) },
{ 0x08/(double)(1<<(16-0xE)), 0x00/(double)(1<<(16-0x2)), 0x04/(double)(1<<(16-0xF)) }
}
This table holds the default PID values for each joint. see PIDMC.
Definition at line 463 of file ERS7Info.h.
These will control the shift values given to the system. see PIDMC.
These are modified from the default values to give better range of values to the gains
Definition at line 490 of file ERS7Info.h.
Referenced by MotionManager::updatePIDs().
LEDs for the face panel (all FaceLEDPanelMask<<(0:NumFacePanelLEDs-1) entries).
Definition at line 238 of file ERS7Info.h.
mask corresponding to FaceLEDPanelOffset, selects only the first of the panel - shift this to get the others
Definition at line 217 of file ERS7Info.h.
Use with kinematics to refer to long-range infrared (distance) sensor reference frame.
Definition at line 141 of file ERS7Info.h.
time between frames in the motion system (milliseconds)
Definition at line 68 of file ERS7Info.h.
mask corresponding to FrBackColorLEDOffset
Definition at line 218 of file ERS7Info.h.
mask corresponding to FrBackWhiteLEDOffset
Definition at line 219 of file ERS7Info.h.
mask corresponding to HeadColorLEDOffset
Definition at line 211 of file ERS7Info.h.
Initial value: LEDs for face (all but back lights).
Definition at line 242 of file ERS7Info.h.
mask corresponding to HeadWhiteLEDOffset
Definition at line 212 of file ERS7Info.h.
true for joints which can be updated every 32 ms (all joints on ERS-7)
Definition at line 109 of file ERS7Info.h.
no arms, just legs
Definition at line 79 of file ERS7Info.h.
The number of joints per leg.
Definition at line 83 of file ERS7Info.h.
mask corresponding to LEDABModeOffset
Definition at line 224 of file ERS7Info.h.
Initial value: {
4.86510529e-3,
5.27962099e-3,
5.27962099e-3,
4.86510529e-3,
5.27962099e-3,
5.27962099e-3,
4.86510529e-3,
5.27962099e-3,
5.27962099e-3,
4.86510529e-3,
5.27962099e-3,
5.27962099e-3,
3.18522588e-3,
1.00574598e-2,
5.78140315e-3,
1.51625479e-2,
1.51625479e-2,
1.01447263e-2,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0
}
These values are Sony's recommended maximum joint velocities, in rad/ms.
a value <= 0 means infinite speed (e.g. LEDs)
These limits are not enforced by the framework. They are simply available for you to use as you see fit. HeadPointerMC and PostureMC are primary examples of included classes which do respect these values (although they can be overridden)
These values were obtained from the administrators of the Sony OPEN-R BBS
Definition at line 499 of file ERS7Info.h.
mask corresponding to MdBackColorLEDOffset
Definition at line 220 of file ERS7Info.h.
mask corresponding to MdBackWhiteLEDOffset
Definition at line 221 of file ERS7Info.h.
Initial value:
{
{ RAD(-115),RAD(130) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
{ RAD(-115),RAD(130) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
{ RAD(-115),RAD(130) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
{ RAD(-115),RAD(130) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
{ RAD(-75),RAD(0) },{ RAD(-88),RAD(88) },{ RAD(-15),RAD(45) },
{ RAD(5),RAD(60) },{ RAD(-45),RAD(45) },
{ RAD(-55),RAD(-3) },
{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},
{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},
{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},
{0,1},
{0,1},{0,1}
}
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).
Same as outputRanges, don't know actual values because they were never specified by Sony
Definition at line 558 of file ERS7Info.h.
mask corresponding to ModeBlueLEDOffset
Definition at line 215 of file ERS7Info.h.
mask corresponding to ModeGreenLEDOffset
Definition at line 214 of file ERS7Info.h.
mask corresponding to ModeRedLEDOffset
Definition at line 213 of file ERS7Info.h.
the offset of the beginning of the mouth joint, is specific joint
Definition at line 130 of file ERS7Info.h.
Use with kinematics to refer to short-range infrared (distance) sensor reference frame.
Definition at line 140 of file ERS7Info.h.
no wheels, just legs
Definition at line 81 of file ERS7Info.h.
no arms, just legs
Definition at line 80 of file ERS7Info.h.
The number of binary joints - just the ears.
Definition at line 96 of file ERS7Info.h.
The number of face panel LEDs.
Definition at line 93 of file ERS7Info.h.
the number of frames per buffer (don't forget also double buffered)
Definition at line 69 of file ERS7Info.h.
The number of joints in the neck.
Definition at line 86 of file ERS7Info.h.
The number of LEDs which can be controlled.
Definition at line 92 of file ERS7Info.h.
the TOTAL number of joints on ALL legs
Definition at line 85 of file ERS7Info.h.
The number of legs.
Definition at line 84 of file ERS7Info.h.
the number of joints that control the mouth
Definition at line 88 of file ERS7Info.h.
the total number of outputs
Definition at line 97 of file ERS7Info.h.
The number of joints which use PID motion - everything except ears.
Definition at line 95 of file ERS7Info.h.
for the base, paws (NumLegs), camera, and IR sensors (3) reference frames
Definition at line 98 of file ERS7Info.h.
the number of frames per buffer being sent to ears (double buffered as well)
Definition at line 71 of file ERS7Info.h.
The number of joints assigned to the tail.
Definition at line 87 of file ERS7Info.h.
no wheels, just legs
Definition at line 77 of file ERS7Info.h.
Initial value: {
"LFr:rotor","LFr:elvtr","LFr:knee",
"RFr:rotor","RFr:elvtr","RFr:knee",
"LBk:rotor","LBk:elvtr","LBk:knee",
"RBk:rotor","RBk:elvtr","RBk:knee",
"NECK:tilt","NECK:pan","NECK:nod",
"TAIL:tilt", "TAIL:pan",
"MOUTH",
"LED:headC","LED:headW",
"LED:modeR","LED:modeG",
"LED:modeB","LED:wless",
"LED:faceA","LED:faceB","LED:faceC","LED:faceD","LED:faceE","LED:faceF","LED:faceG",
"LED:faceH","LED:faceI","LED:faceJ","LED:faceK","LED:faceL","LED:faceM","LED:faceN",
"LED:bkFrC","LED:bkFrW",
"LED:bkMdC","LED:bkMdW",
"LED:bkRrC","LED:bkRrW",
"LED:ABmod",
"EAR:left","EAR:right"
}
Names for each of the outputs.
Definition at line 330 of file ERS7Info.h.
Referenced by PostureMC::defaultMaxSpeed(), HeadPointerMC::defaultMaxSpeed(), EmergencyStopMC::EmergencyStopMC(), WalkToTargetNode::processEvent(), HeadPointControllerBehavior::runCommand(), BatteryMonitorBehavior::setFlipper(), and HeadPointerMC::setJoints().
Initial value:
{
{ RAD(-115),RAD(130) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
{ RAD(-115),RAD(130) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
{ RAD(-130),RAD(115) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
{ RAD(-130),RAD(115) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
{ RAD(-75),RAD(0) },{ RAD(-88),RAD(88) },{ RAD(-15),RAD(45) },
{ RAD(5),RAD(60) },{ RAD(-45),RAD(45) },
{ RAD(-55),RAD(-3) },
{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},
{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},
{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},
{0,1},
{0,1},{0,1}
}
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).
Definition at line 535 of file ERS7Info.h.
Use with kinematics to refer to paw reference frames (add appropriate LegOrder_t to specify which paw).
Definition at line 138 of file ERS7Info.h.
The beginning of the PID Joints.
Definition at line 126 of file ERS7Info.h.
Initial value: {
"PRM:/r2/c1-Joint2:21",
"PRM:/r2/c1/c2-Joint2:22",
"PRM:/r2/c1/c2/c3-Joint2:23",
"PRM:/r4/c1-Joint2:41",
"PRM:/r4/c1/c2-Joint2:42",
"PRM:/r4/c1/c2/c3-Joint2:43",
"PRM:/r3/c1-Joint2:31",
"PRM:/r3/c1/c2-Joint2:32",
"PRM:/r3/c1/c2/c3-Joint2:33",
"PRM:/r5/c1-Joint2:51",
"PRM:/r5/c1/c2-Joint2:52",
"PRM:/r5/c1/c2/c3-Joint2:53",
"PRM:/r1/c1-Joint2:11",
"PRM:/r1/c1/c2-Joint2:12",
"PRM:/r1/c1/c2/c3-Joint2:13",
"PRM:/r6/c1-Joint2:61",
"PRM:/r6/c2-Joint2:62",
"PRM:/r1/c1/c2/c3/c4-Joint2:14",
"PRM:/r1/c1/c2/c3/l1-LED2:l1",
"PRM:/r1/c1/c2/c3/l2-LED2:l2",
"PRM:/r1/c1/c2/c3/l3-LED2:l3",
"PRM:/r1/c1/c2/c3/l4-LED2:l4",
"PRM:/r1/c1/c2/c3/l5-LED2:l5",
"PRM:/r1/c1/c2/c3/l6-LED2:l6",
"PRM:/r1/c1/c2/c3/la-LED3:la",
"PRM:/r1/c1/c2/c3/lb-LED3:lb",
"PRM:/r1/c1/c2/c3/lc-LED3:lc",
"PRM:/r1/c1/c2/c3/ld-LED3:ld",
"PRM:/r1/c1/c2/c3/le-LED3:le",
"PRM:/r1/c1/c2/c3/lf-LED3:lf",
"PRM:/r1/c1/c2/c3/lg-LED3:lg",
"PRM:/r1/c1/c2/c3/lh-LED3:lh",
"PRM:/r1/c1/c2/c3/li-LED3:li",
"PRM:/r1/c1/c2/c3/lj-LED3:lj",
"PRM:/r1/c1/c2/c3/lk-LED3:lk",
"PRM:/r1/c1/c2/c3/ll-LED3:ll",
"PRM:/r1/c1/c2/c3/lm-LED3:lm",
"PRM:/r1/c1/c2/c3/ln-LED3:ln",
"PRM:/lu-LED3:lu",
"PRM:/lv-LED3:lv",
"PRM:/lw-LED3:lw",
"PRM:/lx-LED3:lx",
"PRM:/ly-LED3:ly",
"PRM:/lz-LED3:lz",
"",
"PRM:/r1/c1/c2/c3/e5-Joint4:15",
"PRM:/r1/c1/c2/c3/e6-Joint4:16"
}
the joint identifier strings used to refer to specific joints in OPEN-R (but not needed for others)
The offset consts defined in this file correspond to this table and will make life easier if you feel the need to reorder things, but they can't be arbitrarily reordered...
In particular, assumptions are made that the pid joints will be in slots 0-numPIDJoints and that the fast outputs (ie NOT ears) will be in slots 0-NumFastOutputs
There may be other assumptions not noted here!!! - Note:
- These entries DON'T correspond to the CPC index numbers (this only lists joints for identifying joints to Aperios, CPCs are for identifying sensors from Aperios
Definition at line 398 of file ERS7Info.h.
mask corresponding to RrBackColorLEDOffset
Definition at line 222 of file ERS7Info.h.
mask corresponding to RrBackWhiteLEDOffset
Definition at line 223 of file ERS7Info.h.
Initial value: {
"NearIRDist","FarIRDist","ChestIRDist",
"BAccel","LAccel","DAccel",
"PowerRemain","PowerThermo","PowerCapacity","PowerVoltage","PowerCurrent"
}
Provides a string name for each sensor.
Definition at line 320 of file ERS7Info.h.
time between frames for the ears (ERS-7 doesn't seem to have any "slow" joints; this only applied for the ears on the ERS-210)
Definition at line 70 of file ERS7Info.h.
the number of milliseconds per sound buffer... I'm not sure if this can be changed
Definition at line 72 of file ERS7Info.h.
use to open speaker connection with the system
Definition at line 457 of file ERS7Info.h.
LEDs on tail (ERS-7 has none).
Definition at line 253 of file ERS7Info.h.
mask corresponding to WirelessLEDOffset
Definition at line 216 of file ERS7Info.h.
|