Homepage Demos Overview Downloads Tutorials Reference
Credits
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members | Related Pages | Search

ERS220Info Namespace Reference


Detailed Description

Contains information about the ERS-220 Robot, such as number of joints, PID defaults, timing information, etc.


LED Bitmasks

Bitmasks for use when specifying combinations of LEDs (see LEDEngine ) Note that L/R are robot's POV

typedef unsigned int LEDBitMask_t
 So you can be clear when you're refering to a LED bitmask.

const LEDBitMask_t FaceFrontLeftLEDMask = 1<<(FaceFrontLeftLEDOffset-LEDOffset)
 So you can be clear when you're refering to a LED bitmask.

const LEDBitMask_t FaceFrontRightLEDMask = 1<<(FaceFrontRightLEDOffset-LEDOffset)
 So you can be clear when you're refering to a LED bitmask.

const LEDBitMask_t FaceCenterLeftLEDMask = 1<<(FaceCenterLeftLEDOffset-LEDOffset)
 So you can be clear when you're refering to a LED bitmask.

const LEDBitMask_t FaceCenterRightLEDMask = 1<<(FaceCenterRightLEDOffset-LEDOffset)
 So you can be clear when you're refering to a LED bitmask.

const LEDBitMask_t FaceBackLeftLEDMask = 1<<(FaceBackLeftLEDOffset-LEDOffset)
 So you can be clear when you're refering to a LED bitmask.

const LEDBitMask_t FaceBackRightLEDMask = 1<<(FaceBackRightLEDOffset-LEDOffset)
 So you can be clear when you're refering to a LED bitmask.

const LEDBitMask_t ModeLEDMask = 1<<(ModeLEDOffset-LEDOffset)
 So you can be clear when you're refering to a LED bitmask.

const LEDBitMask_t BackLeft1LEDMask = 1<<(BackLeft1LEDOffset-LEDOffset)
 So you can be clear when you're refering to a LED bitmask.

const LEDBitMask_t BackLeft2LEDMask = 1<<(BackLeft2LEDOffset-LEDOffset)
 So you can be clear when you're refering to a LED bitmask.

const LEDBitMask_t BackLeft3LEDMask = 1<<(BackLeft3LEDOffset-LEDOffset)
 So you can be clear when you're refering to a LED bitmask.

const LEDBitMask_t BackRight3LEDMask = 1<<(BackRight3LEDOffset-LEDOffset)
 So you can be clear when you're refering to a LED bitmask.

const LEDBitMask_t BackRight2LEDMask = 1<<(BackRight2LEDOffset-LEDOffset)
 So you can be clear when you're refering to a LED bitmask.

const LEDBitMask_t BackRight1LEDMask = 1<<(BackRight1LEDOffset-LEDOffset)
 So you can be clear when you're refering to a LED bitmask.

const LEDBitMask_t TailLeftLEDMask = 1<<(TailLeftLEDOffset-LEDOffset)
 So you can be clear when you're refering to a LED bitmask.

const LEDBitMask_t TailCenterLEDMask = 1<<(TailCenterLEDOffset-LEDOffset)
 So you can be clear when you're refering to a LED bitmask.

const LEDBitMask_t TailRightLEDMask = 1<<(TailRightLEDOffset-LEDOffset)
 So you can be clear when you're refering to a LED bitmask.

const LEDBitMask_t FaceFrontBLEDMask = 1<<(FaceFrontBLEDOffset-LEDOffset)
 So you can be clear when you're refering to a LED bitmask.

const LEDBitMask_t FaceFrontALEDMask = 1<<(FaceFrontALEDOffset-LEDOffset)
 So you can be clear when you're refering to a LED bitmask.

const LEDBitMask_t FaceFrontCLEDMask = 1<<(FaceFrontCLEDOffset-LEDOffset)
 So you can be clear when you're refering to a LED bitmask.

const LEDBitMask_t RetractableHeadLEDMask = 1<<(RetractableHeadLEDOffset-LEDOffset)
 So you can be clear when you're refering to a LED bitmask.

const LEDBitMask_t BotLLEDMask = 1<<(BotLLEDOffset-LEDOffset)
 bottom left (red - sad)

const LEDBitMask_t BotRLEDMask = 1<<(BotRLEDOffset-LEDOffset)
 bottom right (red - sad)

const LEDBitMask_t MidLLEDMask = 1<<(MidLLEDOffset-LEDOffset)
 middle left (green - happy)

const LEDBitMask_t MidRLEDMask = 1<<(MidRLEDOffset-LEDOffset)
 middle right (green - happy)

const LEDBitMask_t TopLLEDMask = 1<<(TopLLEDOffset-LEDOffset)
 top left (red - angry)

const LEDBitMask_t TopRLEDMask = 1<<(TopRLEDOffset-LEDOffset)
 top right (red - angry)

const LEDBitMask_t TopBrLEDMask = 1<<(TopBrLEDOffset-LEDOffset)
 top bar (green)

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 face.

const LEDBitMask_t HeadLEDMask
 LEDs on head (face plus retractable light).

const LEDBitMask_t BackLEDMask
 LEDs on back.

const LEDBitMask_t TailLEDMask
 LEDs for tail.

const LEDBitMask_t AllLEDMask = ~0
 selects all of the leds


Input Offsets

The order in which inputs should be stored

enum  ButtonOffset_t {
  LFrPawOffset = LFrLegOrder, RFrPawOffset = RFrLegOrder, LBkPawOffset = LBkLegOrder, RBkPawOffset = RBkLegOrder,
  ChinButOffset = 4, BackButOffset, HeadFrButOffset, HeadBkButOffset,
  TailLeftButOffset, TailCenterButOffset, TailRightButOffset
}
 holds offsets to different buttons in WorldState::buttons[] More...

enum  SensorOffset_t {
  IRDistOffset = 0, BAccelOffset, LAccelOffset, DAccelOffset,
  ThermoOffset, PowerRemainOffset, PowerThermoOffset, PowerCapacityOffset,
  PowerVoltageOffset, PowerCurrentOffset
}
 holds offset to different sensor values in WorldState::sensors[] More...


Output Types Information

const unsigned NumPIDJoints = 15
 The number of joints which use PID motion - everything.

const unsigned NumLEDs = 20
 The number LEDs which can be controlled.

const unsigned NumBinJoints = 0
 The number of binary joints (210 has ears).

const unsigned NumOutputs = NumPIDJoints + NumBinJoints + NumLEDs
 the total number of outputs

const bool IsFastOutput [NumOutputs]
 true for joints which can be updated every 32 ms (all but the ears on a 210)

const bool IsRealERS220 [NumOutputs]
 true for joints which can be updated every 32 ms (all but the ears on a 210)

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 = 0
 The number of joints assigned to the tail.

const unsigned NumMouthJoints = 0
 the number of joints that control the mouth

const unsigned NumEarJoints = 0
 The number of joints which control the ears (NOT per ear, is total).

const unsigned NumButtons = 11
 the number of buttons that are available, see ButtonOffset_t

const unsigned NumSensors = 1+3+1+5
 1 dist, 3 accel, 1 thermo, 5 from power, see SensorOffset_t


Output Offsets

Corresponds to entries in PrimitiveName, defined at the end of this file

const unsigned PIDJointOffset = 0
 The beginning of the PID Joints.

const unsigned LegOffset = PIDJointOffset
 the offset of the beginning of the leg joints

const unsigned HeadOffset = LegOffset+NumLegJoints
 the offset of the beginning of the head joints

const unsigned LEDOffset = PIDJointOffset + NumPIDJoints
 the offset of LEDs in WorldState::outputs and MotionCommand functions

const unsigned BinJointOffset = NumOutputs
 The beginning of the binary joints.


CPC IDs

values defined by OPEN-R, used to interface with lower level OPEN-R code to read sensors - DOESN'T correspond to ::PrimitiveName

const int CPCJointNeckTilt = 0
const int CPCJointNeckPan = 1
const int CPCJointNeckRoll = 2
const int CPCSensorPSD = 3
const int CPCSensorHeadBackPressure = 4
const int CPCSensorHeadFrontPressure = 5
const int CPCSensorChinSwitch = 6
const int CPCJointLFRotator = 7
const int CPCJointLFElevator = 8
const int CPCJointLFKnee = 9
const int CPCSensorLFPaw = 10
const int CPCJointLHRotator = 11
const int CPCJointLHElevator = 12
const int CPCJointLHKnee = 13
const int CPCSensorLHPaw = 14
const int CPCJointRFRotator = 15
const int CPCJointRFElevator = 16
const int CPCJointRFKnee = 17
const int CPCSensorRFPaw = 18
const int CPCJointRHRotator = 19
const int CPCJointRHElevator = 20
const int CPCJointRHKnee = 21
const int CPCSensorRHPaw = 22
const int CPCSensorThermoSensor = 23
const int CPCSensorBackSwitch = 24
const int CPCSensorTailLeftSwitch = 25
const int CPCSensorTailCenterSwitch = 26
const int CPCSensorTailRightSwitch = 27
const int CPCSensorAccelFB = 28
const int CPCSensorAccelLR = 29
const int CPCSensorAccelUD = 30

Enumerations

enum  LegOrder_t { LFrLegOrder = 0, RFrLegOrder, LBkLegOrder, RBkLegOrder }
 the ordering of legs 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. 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 }
 The offsets of appendages with tilt (elevation), pan (heading), and roll 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  LEDOffset_t {
  FaceFrontLeftLEDOffset = LEDOffset, FaceFrontRightLEDOffset, FaceCenterLeftLEDOffset, FaceCenterRightLEDOffset,
  FaceBackLeftLEDOffset, FaceBackRightLEDOffset, ModeLEDOffset, BackLeft1LEDOffset,
  BackLeft2LEDOffset, BackLeft3LEDOffset, BackRight3LEDOffset, BackRight2LEDOffset,
  BackRight1LEDOffset, TailLeftLEDOffset, TailCenterLEDOffset, TailRightLEDOffset,
  FaceFrontBLEDOffset, FaceFrontALEDOffset, FaceFrontCLEDOffset, RetractableHeadLEDOffset,
  BotLLEDOffset = FaceFrontLeftLEDOffset, BotRLEDOffset = FaceFrontRightLEDOffset, MidLLEDOffset = FaceCenterLeftLEDOffset, MidRLEDOffset = FaceCenterRightLEDOffset,
  TopLLEDOffset = FaceBackLeftLEDOffset, TopRLEDOffset = FaceBackRightLEDOffset, TopBrLEDOffset = ModeLEDOffset, TlBluLEDOffset = TailLeftLEDOffset,
  TlRedLEDOffset = TailRightLEDOffset
}
 The offsets of the individual LEDs on the head and tail. Note that L/R are robot's POV. See also LEDBitMask_t. More...

enum  MinMaxRange_t { MinRange, MaxRange }
 Defines the min and max index of entries in #outputRanges and #mechanicalLimits. More...


Variables

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 = 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 NumSlowFrames = 1
 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 float DefaultPIDs [NumPIDJoints][3]
 This table holds the default PID values for each joint.
See also:
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.

const double mechanicalLimits [NumOutputs][2]
 This table holds the mechanical limits of each of the outputs.


Typedef Documentation

typedef unsigned int ERS220Info::LEDBitMask_t
 

So you can be clear when you're refering to a LED bitmask.

Definition at line 177 of file ERS220Info.h.


Enumeration Type Documentation

enum ERS220Info::ButtonOffset_t
 

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

Enumeration values:
LFrPawOffset 
RFrPawOffset 
LBkPawOffset 
RBkPawOffset 
ChinButOffset 
BackButOffset 
HeadFrButOffset  for the "antenna" - this is <.2 if pushed back all the way
HeadBkButOffset  for the "antenna" - this is >.98 if pulled forward, <.2 if pushed back partly
TailLeftButOffset 
TailCenterButOffset 
TailRightButOffset 

Definition at line 260 of file ERS220Info.h.

enum ERS220Info::LEDOffset_t
 

The offsets of the individual LEDs on the head and tail. Note that L/R are robot's POV. See also LEDBitMask_t.

Enumeration values:
FaceFrontLeftLEDOffset  head face side light (front left - blue)
FaceFrontRightLEDOffset  head face side light (front right - blue)
FaceCenterLeftLEDOffset  head face side light (center left - blue)
FaceCenterRightLEDOffset  head face side light (center right - blue)
FaceBackLeftLEDOffset  head face side light (back left - red)
FaceBackRightLEDOffset  head face side light (back right - red)
ModeLEDOffset  mode indicator (back of the head - orange)
BackLeft1LEDOffset  back multi-indicator (left #1 - blue)
BackLeft2LEDOffset  back multi-indicator (left #2 - blue)
BackLeft3LEDOffset  back multi-indicator (left #3 - blue)
BackRight3LEDOffset  back multi-indicator (right #3 - blue)
BackRight2LEDOffset  back multi-indicator (right #2 - blue)
BackRight1LEDOffset  back multi-indicator (right #1 - blue)
TailLeftLEDOffset  tail light (left - blue)
TailCenterLEDOffset  tail light (center - red)
TailRightLEDOffset  tail light (right - blue)
FaceFrontBLEDOffset  face front light B (blue)
FaceFrontALEDOffset  face front light A (blue)
FaceFrontCLEDOffset  face front light C (red)
RetractableHeadLEDOffset  retractable head light
BotLLEDOffset  bottom left (red - sad) (ERS-210)
BotRLEDOffset  bottom right (red - sad) (ERS-210)
MidLLEDOffset  middle left (green - happy) (ERS-210)
MidRLEDOffset  middle right (green - happy) (ERS-210)
TopLLEDOffset  top left (red - angry) (ERS-210)
TopRLEDOffset  top right (red - angry) (ERS-210)
TopBrLEDOffset  top bar (green) (ERS-210)
TlBluLEDOffset  blue tail light (ERS-210)
TlRedLEDOffset  red tail light (ERS-210)

Definition at line 141 of file ERS220Info.h.

enum ERS220Info::LegOffset_t
 

The offsets of the individual legs.

Enumeration values:
LFrLegOffset  beginning of left front leg
RFrLegOffset  beginning of right front leg
LBkLegOffset  beginning of left back leg
RBkLegOffset  beginning of right back leg

Definition at line 119 of file ERS220Info.h.

enum ERS220Info::LegOrder_t
 

the ordering of legs

Enumeration values:
LFrLegOrder  left front leg
RFrLegOrder  right front leg
LBkLegOrder  left back leg
RBkLegOrder  right back leg

Definition at line 111 of file ERS220Info.h.

enum ERS220Info::MinMaxRange_t
 

Defines the min and max index of entries in outputRanges and mechanicalLimits.

Enumeration values:
MinRange 
MaxRange 

Definition at line 480 of file ERS220Info.h.

enum ERS220Info::REKOffset_t
 

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).

Enumeration values:
RotatorOffset  moves leg forward or backward along body
ElevatorOffset  moves leg toward or away from body
KneeOffset  moves knee

Definition at line 127 of file ERS220Info.h.

enum ERS220Info::SensorOffset_t
 

holds offset to different sensor values in WorldState::sensors[]

See also:
WorldState::sensors[]
Enumeration values:
IRDistOffset  in millimeters
BAccelOffset  backward acceleration, in $m/s^2$, negative if sitting on butt (positive for faceplant)
LAccelOffset  acceleration to the robot's left, in $m/s^2$, negative if lying on robot's left side
DAccelOffset  downward acceleration, in $m/s^2$, negative if standing up... be careful about the signs on all of these...
ThermoOffset  in degrees Celcius
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 276 of file ERS220Info.h.

enum ERS220Info::TPROffset_t
 

The offsets of appendages with tilt (elevation), pan (heading), and roll 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).

Enumeration values:
TiltOffset  tilt/elevation (vertical)
PanOffset  pan/heading (horizontal)
RollOffset  roll (rotational)

Definition at line 134 of file ERS220Info.h.


Variable Documentation

const LEDBitMask_t ERS220Info::AllLEDMask = ~0
 

selects all of the leds

Definition at line 239 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::BackLEDMask
 

Initial value:

LEDs on back.

Definition at line 227 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::BackLeft1LEDMask = 1<<(BackLeft1LEDOffset-LEDOffset)
 

So you can be clear when you're refering to a LED bitmask.

Definition at line 185 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::BackLeft2LEDMask = 1<<(BackLeft2LEDOffset-LEDOffset)
 

So you can be clear when you're refering to a LED bitmask.

Definition at line 186 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::BackLeft3LEDMask = 1<<(BackLeft3LEDOffset-LEDOffset)
 

So you can be clear when you're refering to a LED bitmask.

Definition at line 187 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::BackRight1LEDMask = 1<<(BackRight1LEDOffset-LEDOffset)
 

So you can be clear when you're refering to a LED bitmask.

Definition at line 190 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::BackRight2LEDMask = 1<<(BackRight2LEDOffset-LEDOffset)
 

So you can be clear when you're refering to a LED bitmask.

Definition at line 189 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::BackRight3LEDMask = 1<<(BackRight3LEDOffset-LEDOffset)
 

So you can be clear when you're refering to a LED bitmask.

Definition at line 188 of file ERS220Info.h.

const unsigned ERS220Info::BinJointOffset = NumOutputs
 

The beginning of the binary joints.

Definition at line 107 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::BotLLEDMask = 1<<(BotLLEDOffset-LEDOffset)
 

bottom left (red - sad)

Definition at line 200 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::BotRLEDMask = 1<<(BotRLEDOffset-LEDOffset)
 

bottom right (red - sad)

Definition at line 201 of file ERS220Info.h.

const int ERS220Info::CPCJointLFElevator = 8 [static]
 

Definition at line 539 of file ERS220Info.h.

const int ERS220Info::CPCJointLFKnee = 9 [static]
 

Definition at line 540 of file ERS220Info.h.

const int ERS220Info::CPCJointLFRotator = 7 [static]
 

Definition at line 538 of file ERS220Info.h.

const int ERS220Info::CPCJointLHElevator = 12 [static]
 

Definition at line 543 of file ERS220Info.h.

const int ERS220Info::CPCJointLHKnee = 13 [static]
 

Definition at line 544 of file ERS220Info.h.

const int ERS220Info::CPCJointLHRotator = 11 [static]
 

Definition at line 542 of file ERS220Info.h.

const int ERS220Info::CPCJointNeckPan = 1 [static]
 

Definition at line 532 of file ERS220Info.h.

const int ERS220Info::CPCJointNeckRoll = 2 [static]
 

Definition at line 533 of file ERS220Info.h.

const int ERS220Info::CPCJointNeckTilt = 0 [static]
 

Definition at line 531 of file ERS220Info.h.

const int ERS220Info::CPCJointRFElevator = 16 [static]
 

Definition at line 547 of file ERS220Info.h.

const int ERS220Info::CPCJointRFKnee = 17 [static]
 

Definition at line 548 of file ERS220Info.h.

const int ERS220Info::CPCJointRFRotator = 15 [static]
 

Definition at line 546 of file ERS220Info.h.

const int ERS220Info::CPCJointRHElevator = 20 [static]
 

Definition at line 551 of file ERS220Info.h.

const int ERS220Info::CPCJointRHKnee = 21 [static]
 

Definition at line 552 of file ERS220Info.h.

const int ERS220Info::CPCJointRHRotator = 19 [static]
 

Definition at line 550 of file ERS220Info.h.

const int ERS220Info::CPCSensorAccelFB = 28 [static]
 

Definition at line 559 of file ERS220Info.h.

const int ERS220Info::CPCSensorAccelLR = 29 [static]
 

Definition at line 560 of file ERS220Info.h.

const int ERS220Info::CPCSensorAccelUD = 30 [static]
 

Definition at line 561 of file ERS220Info.h.

const int ERS220Info::CPCSensorBackSwitch = 24 [static]
 

Definition at line 555 of file ERS220Info.h.

const int ERS220Info::CPCSensorChinSwitch = 6 [static]
 

Definition at line 537 of file ERS220Info.h.

const int ERS220Info::CPCSensorHeadBackPressure = 4 [static]
 

Definition at line 535 of file ERS220Info.h.

const int ERS220Info::CPCSensorHeadFrontPressure = 5 [static]
 

Definition at line 536 of file ERS220Info.h.

const int ERS220Info::CPCSensorLFPaw = 10 [static]
 

Definition at line 541 of file ERS220Info.h.

const int ERS220Info::CPCSensorLHPaw = 14 [static]
 

Definition at line 545 of file ERS220Info.h.

const int ERS220Info::CPCSensorPSD = 3 [static]
 

Definition at line 534 of file ERS220Info.h.

const int ERS220Info::CPCSensorRFPaw = 18 [static]
 

Definition at line 549 of file ERS220Info.h.

const int ERS220Info::CPCSensorRHPaw = 22 [static]
 

Definition at line 553 of file ERS220Info.h.

const int ERS220Info::CPCSensorTailCenterSwitch = 26 [static]
 

Definition at line 557 of file ERS220Info.h.

const int ERS220Info::CPCSensorTailLeftSwitch = 25 [static]
 

Definition at line 556 of file ERS220Info.h.

const int ERS220Info::CPCSensorTailRightSwitch = 27 [static]
 

Definition at line 558 of file ERS220Info.h.

const int ERS220Info::CPCSensorThermoSensor = 23 [static]
 

Definition at line 554 of file ERS220Info.h.

const float ERS220Info::DefaultPIDs[NumPIDJoints][3]
 

Initial value:

    {
      { 0x16/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x08/(double)(1<<(16-0xF)) },
      { 0x14/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x06/(double)(1<<(16-0xF)) },
      { 0x23/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x05/(double)(1<<(16-0xF)) },
      { 0x16/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x08/(double)(1<<(16-0xF)) },
      { 0x14/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x06/(double)(1<<(16-0xF)) },
      { 0x23/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x05/(double)(1<<(16-0xF)) },
      { 0x16/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x08/(double)(1<<(16-0xF)) },
      { 0x14/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x06/(double)(1<<(16-0xF)) },
      { 0x23/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x05/(double)(1<<(16-0xF)) },
      { 0x16/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x08/(double)(1<<(16-0xF)) },
      { 0x14/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x06/(double)(1<<(16-0xF)) },
      { 0x23/(double)(1<<(16-0xE)), 0x04/(double)(1<<(16-0x2)), 0x05/(double)(1<<(16-0xF)) },

      { 0x0A/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x0C/(double)(1<<(16-0xF)) },
      { 0x0D/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x0B/(double)(1<<(16-0xF)) },
      { 0x0A/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x0C/(double)(1<<(16-0xF)) }





    }
This table holds the default PID values for each joint.
See also:
PIDMC.

Definition at line 417 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::FaceBackLeftLEDMask = 1<<(FaceBackLeftLEDOffset-LEDOffset)
 

So you can be clear when you're refering to a LED bitmask.

Definition at line 182 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::FaceBackRightLEDMask = 1<<(FaceBackRightLEDOffset-LEDOffset)
 

So you can be clear when you're refering to a LED bitmask.

Definition at line 183 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::FaceCenterLeftLEDMask = 1<<(FaceCenterLeftLEDOffset-LEDOffset)
 

So you can be clear when you're refering to a LED bitmask.

Definition at line 180 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::FaceCenterRightLEDMask = 1<<(FaceCenterRightLEDOffset-LEDOffset)
 

So you can be clear when you're refering to a LED bitmask.

Definition at line 181 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::FaceFrontALEDMask = 1<<(FaceFrontALEDOffset-LEDOffset)
 

So you can be clear when you're refering to a LED bitmask.

Definition at line 195 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::FaceFrontBLEDMask = 1<<(FaceFrontBLEDOffset-LEDOffset)
 

So you can be clear when you're refering to a LED bitmask.

Definition at line 194 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::FaceFrontCLEDMask = 1<<(FaceFrontCLEDOffset-LEDOffset)
 

So you can be clear when you're refering to a LED bitmask.

Definition at line 196 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::FaceFrontLeftLEDMask = 1<<(FaceFrontLeftLEDOffset-LEDOffset)
 

So you can be clear when you're refering to a LED bitmask.

Definition at line 178 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::FaceFrontRightLEDMask = 1<<(FaceFrontRightLEDOffset-LEDOffset)
 

So you can be clear when you're refering to a LED bitmask.

Definition at line 179 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::FaceLEDMask
 

Initial value:

LEDs for face.

Definition at line 211 of file ERS220Info.h.

const unsigned int ERS220Info::FrameTime = 8
 

time between frames in the motion system (milliseconds)

Definition at line 30 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::HeadLEDMask
 

Initial value:

LEDs on head (face plus retractable light).

Definition at line 223 of file ERS220Info.h.

const unsigned ERS220Info::HeadOffset = LegOffset+NumLegJoints
 

the offset of the beginning of the head joints

Definition at line 103 of file ERS220Info.h.

const bool ERS220Info::IsFastOutput[NumOutputs]
 

Initial value:

 {
    
    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, true, true,           
    true, true, true,           
    true,                       
    
  }
true for joints which can be updated every 32 ms (all but the ears on a 210)

Definition at line 44 of file ERS220Info.h.

const bool ERS220Info::IsRealERS220[NumOutputs]
 

Initial value:

 {
    
    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, true, true,           
    true, true, true,           
    true,                       
    
  }
true for joints which can be updated every 32 ms (all but the ears on a 210)

Definition at line 64 of file ERS220Info.h.

const unsigned ERS220Info::JointsPerLeg = 3
 

The number of joints per leg.

Definition at line 83 of file ERS220Info.h.

const unsigned ERS220Info::LEDOffset = PIDJointOffset + NumPIDJoints
 

the offset of LEDs in WorldState::outputs and MotionCommand functions

Definition at line 105 of file ERS220Info.h.

const unsigned ERS220Info::LegOffset = PIDJointOffset
 

the offset of the beginning of the leg joints

Definition at line 102 of file ERS220Info.h.

const float ERS220Info::MaxOutputSpeed[NumOutputs]
 

Initial value:

 {
    2.8143434e-03,     
    2.4980025e-03,
    2.8361600e-03,
    2.8143434e-03,
    2.4980025e-03,
    2.8361600e-03,
    2.8143434e-03,
    2.4980025e-03,
    2.8361600e-03,
    2.8143434e-03,
    2.4980025e-03,
    2.8361600e-03,
  
    2.1053034e-03,     
    3.0106930e-03,
    3.0106930e-03,
  
    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)

Definition at line 444 of file ERS220Info.h.

const double ERS220Info::mechanicalLimits[NumOutputs][2]
 

Initial value:

    {
      { RAD(-120),RAD(120) },{ RAD(-14),RAD(92) },{ RAD(-30),RAD(150) }, 
      { RAD(-120),RAD(120) },{ RAD(-14),RAD(92) },{ RAD(-30),RAD(150) }, 
      { RAD(-120),RAD(120) },{ RAD(-14),RAD(92) },{ RAD(-30),RAD(150) }, 
      { RAD(-120),RAD(120) },{ RAD(-14),RAD(92) },{ RAD(-30),RAD(150) }, 

      { RAD(-85),RAD(46) },{ RAD(-92.6),RAD(92.6) },{ RAD(-32),RAD(32) }, 
        
      {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.

Definition at line 503 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::MidLLEDMask = 1<<(MidLLEDOffset-LEDOffset)
 

middle left (green - happy)

Definition at line 202 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::MidRLEDMask = 1<<(MidRLEDOffset-LEDOffset)
 

middle right (green - happy)

Definition at line 203 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::ModeLEDMask = 1<<(ModeLEDOffset-LEDOffset)
 

So you can be clear when you're refering to a LED bitmask.

Definition at line 184 of file ERS220Info.h.

const unsigned ERS220Info::NumBinJoints = 0
 

The number of binary joints (210 has ears).

Definition at line 41 of file ERS220Info.h.

const unsigned ERS220Info::NumButtons = 11
 

the number of buttons that are available, see ButtonOffset_t

Definition at line 90 of file ERS220Info.h.

const unsigned ERS220Info::NumEarJoints = 0
 

The number of joints which control the ears (NOT per ear, is total).

Definition at line 89 of file ERS220Info.h.

const unsigned int ERS220Info::NumFrames = 4
 

the number of frames per buffer (don't forget also double buffered)

Definition at line 31 of file ERS220Info.h.

const unsigned ERS220Info::NumHeadJoints = 3
 

The number of joints in the neck.

Definition at line 86 of file ERS220Info.h.

const unsigned ERS220Info::NumLEDs = 20
 

The number LEDs which can be controlled.

Definition at line 40 of file ERS220Info.h.

const unsigned ERS220Info::NumLegJoints = JointsPerLeg*NumLegs
 

the TOTAL number of joints on ALL legs

Definition at line 85 of file ERS220Info.h.

const unsigned ERS220Info::NumLegs = 4
 

The number of legs.

Definition at line 84 of file ERS220Info.h.

const unsigned ERS220Info::NumMouthJoints = 0
 

the number of joints that control the mouth

Definition at line 88 of file ERS220Info.h.

const unsigned ERS220Info::NumOutputs = NumPIDJoints + NumBinJoints + NumLEDs
 

the total number of outputs

Definition at line 42 of file ERS220Info.h.

const unsigned ERS220Info::NumPIDJoints = 15
 

The number of joints which use PID motion - everything.

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

Definition at line 39 of file ERS220Info.h.

const unsigned ERS220Info::NumSensors = 1+3+1+5
 

1 dist, 3 accel, 1 thermo, 5 from power, see SensorOffset_t

Definition at line 91 of file ERS220Info.h.

const unsigned int ERS220Info::NumSlowFrames = 1
 

the number of frames per buffer being sent to ears (double buffered as well)

Definition at line 33 of file ERS220Info.h.

const unsigned ERS220Info::NumTailJoints = 0
 

The number of joints assigned to the tail.

Definition at line 87 of file ERS220Info.h.

const unsigned ERS220Info::outputNameLen = 9
 

The length of the strings used for each of the outputs in outputNames (doesn't include null term).

Definition at line 293 of file ERS220Info.h.

const char* const ERS220Info::outputNames[NumOutputs]
 

A name of uniform length for referring to joints - handy for posture files, etc.

Definition at line 295 of file ERS220Info.h.

const double ERS220Info::outputRanges[NumOutputs][2]
 

Initial value:

    {
      { RAD(-117),RAD(117) },{ RAD(-11),RAD(89) },{ RAD(-27),RAD(147) }, 
      { RAD(-117),RAD(117) },{ RAD(-11),RAD(89) },{ RAD(-27),RAD(147) }, 
      { RAD(-117),RAD(117) },{ RAD(-11),RAD(89) },{ RAD(-27),RAD(147) }, 
      { RAD(-117),RAD(117) },{ RAD(-11),RAD(89) },{ RAD(-27),RAD(147) }, 

      { RAD(-82),RAD(43) },{ RAD(-89.6),RAD(89.6) },{ RAD(-29),RAD(29) }, 
        
      {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.

Definition at line 483 of file ERS220Info.h.

const unsigned ERS220Info::PIDJointOffset = 0
 

The beginning of the PID Joints.

Definition at line 101 of file ERS220Info.h.

const char* const ERS220Info::PrimitiveName[NumOutputs]
 

Initial value:

 {
    "PRM:/r2/c1-Joint2:j1",       
    "PRM:/r2/c1/c2-Joint2:j2",    
    "PRM:/r2/c1/c2/c3-Joint2:j3", 
    "PRM:/r4/c1-Joint2:j1",       
    "PRM:/r4/c1/c2-Joint2:j2",    
    "PRM:/r4/c1/c2/c3-Joint2:j3", 
    
    "PRM:/r3/c1-Joint2:j1",       
    "PRM:/r3/c1/c2-Joint2:j2",    
    "PRM:/r3/c1/c2/c3-Joint2:j3", 
    "PRM:/r5/c1-Joint2:j1",       
    "PRM:/r5/c1/c2-Joint2:j2",    
    "PRM:/r5/c1/c2/c3-Joint2:j3", 

    "PRM:/r1/c1-Joint2:j1",       
    "PRM:/r1/c1/c2-Joint2:j2",    
    "PRM:/r1/c1/c2/c3-Joint2:j3", 
        
    "PRM:/r1/c1/c2/c3/l1-LED2:l1", 
    "PRM:/r1/c1/c2/c3/l4-LED2:l4", 
    "PRM:/r1/c1/c2/c3/l2-LED2:l2", 
    "PRM:/r1/c1/c2/c3/l5-LED2:l5", 
    "PRM:/r1/c1/c2/c3/l3-LED2:l3", 
    "PRM:/r1/c1/c2/c3/l6-LED2:l6", 
    "PRM:/r1/c1/c2/c3/l7-LED2:l7", 
    
    "PRM:/r6/l1-LED2:l1", 
    "PRM:/r6/l2-LED2:l2", 
    "PRM:/r6/l3-LED2:l3", 
    "PRM:/r6/l4-LED2:l4", 
    "PRM:/r6/l5-LED2:l5", 
    "PRM:/r6/l6-LED2:l6", 
 
    "PRM:/r6/l9-LED2:l9", 
    "PRM:/r6/l7-LED2:l7", 
    "PRM:/r6/l8-LED2:l8", 
 
    "PRM:/r1/c1/c2/c3/l8-LED2:l8", 
    "PRM:/r1/c1/c2/c3/l9-LED2:l9", 
    "PRM:/r1/c1/c2/c3/la-LED2:la", 
    "PRM:/r1/c1/c2/c3/lb-LED2:lb", 
  }
the joint identifier strings used to refer to specific joints in OPEN-R (but not needed for others)

Warning:
IMPORTANT!!!! DO NOT CHANGE THE ORDER OF ITEMS IN THIS TABLE!!!
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 aren't used perfect everywhere
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 defined in WorldState (this only lists joints, and in a different order defined by OPEN-R, that one has sensors as well

Definition at line 347 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::RetractableHeadLEDMask = 1<<(RetractableHeadLEDOffset-LEDOffset)
 

So you can be clear when you're refering to a LED bitmask.

Definition at line 197 of file ERS220Info.h.

const unsigned int ERS220Info::SlowFrameTime = 128
 

time between frames for the ears (which move slower for some reason, don't want to mix with other outputs) (milliseconds)

Definition at line 32 of file ERS220Info.h.

const unsigned int ERS220Info::SoundBufferTime = 32
 

the number of milliseconds per sound buffer... I'm not sure if this can be changed

Definition at line 34 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::TailCenterLEDMask = 1<<(TailCenterLEDOffset-LEDOffset)
 

So you can be clear when you're refering to a LED bitmask.

Definition at line 192 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::TailLEDMask
 

Initial value:

LEDs for tail.

Definition at line 235 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::TailLeftLEDMask = 1<<(TailLeftLEDOffset-LEDOffset)
 

So you can be clear when you're refering to a LED bitmask.

Definition at line 191 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::TailRightLEDMask = 1<<(TailRightLEDOffset-LEDOffset)
 

So you can be clear when you're refering to a LED bitmask.

Definition at line 193 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::TlBluLEDMask = 1<<(TlBluLEDOffset-LEDOffset)
 

blue tail light

Definition at line 208 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::TlRedLEDMask = 1<<(TlRedLEDOffset-LEDOffset)
 

red tail light

Definition at line 207 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::TopBrLEDMask = 1<<(TopBrLEDOffset-LEDOffset)
 

top bar (green)

Definition at line 206 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::TopLLEDMask = 1<<(TopLLEDOffset-LEDOffset)
 

top left (red - angry)

Definition at line 204 of file ERS220Info.h.

const LEDBitMask_t ERS220Info::TopRLEDMask = 1<<(TopRLEDOffset-LEDOffset)
 

top right (red - angry)

Definition at line 205 of file ERS220Info.h.


Tekkotsu v1.4
Generated Sat Jul 19 00:09:17 2003 by Doxygen 1.3.2