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
|
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 | LEDBitMask_t |
| | So you can be clear when you're refering to a LED bitmask.
|
|
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
|
Output Offsets |
Corresponds to entries in ERS7Info::PrimitiveName, defined at the end of this file
|
| 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,
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.
|
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 | 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)
|
|
const bool | IsRealERS7 [NumOutputs] |
| | we need this so you can tell programmatically which joints are "real" and which are "fake" in a compatability mode
|
CPC IDs |
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
|
|
static const int | CPCJointMouth = 0 |
| | Mouth.
|
|
static const int | CPCSwitchChin = 1 |
| | Chin sensor.
|
|
static const int | CPCJointNeckNod = 2 |
| | Neck tilt2.
|
|
static const int | CPCSensorHead = 3 |
| | Head sensor.
|
|
static const int | CPCSensorNearPSD = 4 |
| | Head distance sensor(near).
|
|
static const int | CPCSensorFarPSD = 5 |
| | Head distance sensor(far).
|
|
static const int | CPCJointNeckPan = 6 |
| | Neck pan.
|
|
static const int | CPCJointNeckTilt = 7 |
| | Neck tilt1.
|
|
static const int | CPCSwitchLFPaw = 8 |
| | Left fore leg paw sensor.
|
|
static const int | CPCJointLFKnee = 9 |
| | Left fore legJ3.
|
|
static const int | CPCJointLFElevator = 10 |
| | Left fore legJ2.
|
|
static const int | CPCJointLFRotator = 11 |
| | Left fore legJ1.
|
|
static const int | CPCSwitchLHPaw = 12 |
| | Left hind leg paw sensor.
|
|
static const int | CPCJointLHKnee = 13 |
| | Left hind legJ3.
|
|
static const int | CPCJointLHElevator = 14 |
| | Left hind legJ2.
|
|
static const int | CPCJointLHRotator = 15 |
| | Left hind legJ1.
|
|
static const int | CPCSwitchRFPaw = 16 |
| | Right fore leg paw sensor.
|
|
static const int | CPCJointRFKnee = 17 |
| | Right fore legJ3.
|
|
static const int | CPCJointRFElevator = 18 |
| | Right fore legJ2.
|
|
static const int | CPCJointRFRotator = 19 |
| | Right fore legJ1.
|
|
static const int | CPCSwitchRHPaw = 20 |
| | Right hind leg paw sensor.
|
|
static const int | CPCJointRHKnee = 21 |
| | Right hind legJ3.
|
|
static const int | CPCJointRHElevator = 22 |
| | Right hind legJ2.
|
|
static const int | CPCJointRHRotator = 23 |
| | Right hind legJ1.
|
|
static const int | CPCJointTailTilt = 24 |
| | Tail tilt.
|
|
static const int | CPCJointTailPan = 25 |
| | Tail pan.
|
|
static const int | CPCSensorAccelFB = 26 |
| | Acceleration sensor(front-back).
|
|
static const int | CPCSensorAccelLR = 27 |
| | Acceleration sensor(right-left).
|
|
static const int | CPCSensorAccelUD = 28 |
| | Acceleration sensor(up-down).
|
|
static const int | CPCSensorChestPSD = 29 |
| | Chest distance sensor.
|
|
static const int | CPCSwitchWireless = 30 |
| | Wireless LAN switch.
|
|
static const int | CPCSensorBackRear = 31 |
| | Back sensor(rear).
|
|
static const int | CPCSensorBackMiddle = 32 |
| | Back sensor(middle).
|
|
static const int | CPCSensorBackFront = 33 |
| | Back sensor(front).
|
Variables |
|
const char *const | RobotName = "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 unsigned | outputNameLen = 9 |
| | The length of the strings used for each of the outputs in outputNames (doesn't include null term).
|
| const char *const | outputNames [NumOutputs] |
| | A name of uniform length for referring to joints - handy for posture files, etc.
|
| 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).
|
Enumeration Type Documentation
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 139 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) |
| 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 148 of file ERS7Info.h.
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 PowerSourceID::PauseSID.
- See also:
- WorldState::buttons
ButtonSourceID_t
Definition at line 248 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 |
| 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 273 of file ERS7Info.h.
Variable Documentation
Initial value: LEDs for face (all but back lights).
Definition at line 212 of file ERS7Info.h.
Initial value: LEDS on the back.
Definition at line 218 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 264 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 288 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"
}
A name of uniform length for referring to joints - handy for posture files, etc.
Definition at line 300 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 334 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 399 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 426 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 435 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(-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 471 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 outputLimits, don't know actual values because they were never specified by Sony
Definition at line 494 of file ERS7Info.h.
|