Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

ERS210Info Namespace Reference

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

Classes

class  ERS210Capabilities
 provides polymorphic robot capability detection/mapping More...

Enumerations

enum  LEDOffset_t {
  BotLLEDOffset = LEDOffset, BotRLEDOffset, MidLLEDOffset, MidRLEDOffset,
  TopLLEDOffset, TopRLEDOffset, TopBrLEDOffset, TlRedLEDOffset,
  TlBluLEDOffset, FaceFrontLeftLEDOffset = BotLLEDOffset, FaceFrontRightLEDOffset = BotRLEDOffset, FaceCenterLeftLEDOffset = MidLLEDOffset,
  FaceCenterRightLEDOffset = MidRLEDOffset, FaceBackLeftLEDOffset = TopLLEDOffset, FaceBackRightLEDOffset = TopRLEDOffset, ModeLEDOffset = TopBrLEDOffset,
  TailRightLEDOffset = TlRedLEDOffset, TailLeftLEDOffset = TlBluLEDOffset
}
 

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

Variables

const char *const TargetName = "ERS-210"
 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 = 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 fmat::Column< 3 > AgentBoundingBoxBaseFrameOffset = fmat::pack(0,0,0)
 Offset needed so that the centroid of the robot is correct relative to the bounding box.
const fmat::Column< 3 > AgentBoundingBoxHalfDims = fmat::pack(304.8/2, 304.8/2, 0)
 Half of the length, width, and height of the robot.
const char *const outputNames [NumReferenceFrames+1]
 Names for each of the outputs.
const ERS210Capabilities 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:/r1/c1/c2/c3/s1-Speaker:S1"
 use to open speaker connectio 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, 0x0F}
 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/s.
const float outputRanges [NumOutputs][2]
 This table holds the software limits of each of the outputs.
const float mechanicalLimits [NumOutputs][2]
 This table holds the mechanical limits of each of the outputs.
Output Types Information

Corresponds to entries in ERS210Info::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 = 8
 the number of buttons that are available, see ERS210Info::ButtonOffset_t
const unsigned NumSensors = 1+3+1+5
 1 dist, 3 accel, 1 thermo, 5 from power, see ERS210Info::SensorOffset_t
const unsigned NumLEDs = 9
 The number of LEDs which can be controlled.
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 (Aperios only).
const unsigned NumOutputs = NumPIDJoints + NumBinJoints + NumLEDs
 the total number of outputs
const unsigned NumReferenceFrames = NumOutputs + 1 + NumLegs + 1 + 1
 for the base, paw, camera, and IR sensor reference frames
const float BallOfFootRadius = 27.922f/2
 radius of the ball of the foot
const float CylinderOfFootRadius = 24.606f/2
 radius of the cylinder of the foot
const bool IsFastOutput [NumOutputs]
 true for joints which can be updated every 32 ms (all but the ears)
CPC IDs

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

const int CPCJointNeckTilt = 0
 Front-back; see RobotInfo::BAccelOffset.
const int CPCJointNeckPan = 1
 Front-back; see RobotInfo::BAccelOffset.
const int CPCJointNeckRoll = 2
 Front-back; see RobotInfo::BAccelOffset.
const int CPCSensorHeadBackPressure = 3
 Front-back; see RobotInfo::BAccelOffset.
const int CPCSensorHeadFrontPressure = 4
 Front-back; see RobotInfo::BAccelOffset.
const int CPCSensorPSD = 5
 Front-back; see RobotInfo::BAccelOffset.
const int CPCJointMouth = 6
 Front-back; see RobotInfo::BAccelOffset.
const int CPCSensorChinSwitch = 7
 Front-back; see RobotInfo::BAccelOffset.
const int CPCJointLFRotator = 8
 Front-back; see RobotInfo::BAccelOffset.
const int CPCJointLFElevator = 9
 Front-back; see RobotInfo::BAccelOffset.
const int CPCJointLFKnee = 10
 Front-back; see RobotInfo::BAccelOffset.
const int CPCSensorLFPaw = 11
 Front-back; see RobotInfo::BAccelOffset.
const int CPCJointLHRotator = 12
 Front-back; see RobotInfo::BAccelOffset.
const int CPCJointLHElevator = 13
 Front-back; see RobotInfo::BAccelOffset.
const int CPCJointLHKnee = 14
 Front-back; see RobotInfo::BAccelOffset.
const int CPCSensorLHPaw = 15
 Front-back; see RobotInfo::BAccelOffset.
const int CPCJointRFRotator = 16
 Front-back; see RobotInfo::BAccelOffset.
const int CPCJointRFElevator = 17
 Front-back; see RobotInfo::BAccelOffset.
const int CPCJointRFKnee = 18
 Front-back; see RobotInfo::BAccelOffset.
const int CPCSensorRFPaw = 19
 Front-back; see RobotInfo::BAccelOffset.
const int CPCJointRHRotator = 20
 Front-back; see RobotInfo::BAccelOffset.
const int CPCJointRHElevator = 21
 Front-back; see RobotInfo::BAccelOffset.
const int CPCJointRHKnee = 22
 Front-back; see RobotInfo::BAccelOffset.
const int CPCSensorRHPaw = 23
 Front-back; see RobotInfo::BAccelOffset.
const int CPCJointTailPan = 24
 Front-back; see RobotInfo::BAccelOffset.
const int CPCJointTailTilt = 25
 Front-back; see RobotInfo::BAccelOffset.
const int CPCSensorThermoSensor = 26
 Front-back; see RobotInfo::BAccelOffset.
const int CPCSensorBackSwitch = 27
 Front-back; see RobotInfo::BAccelOffset.
const int CPCSensorAccelFB = 28
 Front-back; see RobotInfo::BAccelOffset.
const int CPCSensorAccelLR = 29
 Left-right; see RobotInfo::LAccelOffset.
const int CPCSensorAccelUD = 30
 Up-down; see RobotInfo::DAccelOffset.

Output Offsets

Corresponds to entries in ERS210Info::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.

More...
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 TailOffset = HeadOffset+NumHeadJoints
 the offset of the beginning of the tail joints
const unsigned MouthOffset = TailOffset+NumTailJoints
 the offset of the beginning of the mouth joint
const unsigned LEDOffset = PIDJointOffset + NumPIDJoints
 the offset of LEDs in WorldState::outputs and MotionCommand functions
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. Nor will they be flicked back
const unsigned BaseFrameOffset = NumOutputs
 Use with kinematics to refer to base reference frame.
const unsigned FootFrameOffset = BaseFrameOffset+1
 Use with kinematics to refer to paw reference frames (add appropriate LegOrder_t to specify which paw).
const unsigned PawFrameOffset = FootFrameOffset
 Aibo-era alias for FootFrameOffset.
const unsigned CameraFrameOffset = FootFrameOffset+NumLegs
 Use with kinematics to refer to camera reference frame.
const unsigned IRFrameOffset = CameraFrameOffset+1
 Use with kinematics to refer to 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, BackButOffset, HeadFrButOffset, HeadButOffset = HeadFrButOffset,
  HeadBkButOffset
}
 

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



typedef unsigned int LEDBitMask_t
 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 (all but tail).
const LEDBitMask_t HeadLEDMask
 LEDs for face (all but tail).
const LEDBitMask_t BackLEDMask = 0
 210 has no back LEDs
const LEDBitMask_t TailLEDMask = TlRedLEDMask|TlBluLEDMask
 LEDs on tail.
const LEDBitMask_t AllLEDMask = (LEDBitMask_t)~0
 selects all of the leds

Detailed Description

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


Typedef Documentation

typedef unsigned int ERS210Info::LEDBitMask_t

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

Definition at line 141 of file ERS210Info.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 
BackButOffset 
HeadFrButOffset 

not in reliable pressure units, but 1.0 is fairly stiff pressure, 0 is none

HeadButOffset 

for ERS-7 compatibility

HeadBkButOffset 

not in reliable pressure units, but 1.0 is fairly stiff pressure, 0 is none

Definition at line 195 of file ERS210Info.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:
BotLLEDOffset 

bottom left (red - sad)

BotRLEDOffset 

bottom right (red - sad)

MidLLEDOffset 

middle left (green - happy)

MidRLEDOffset 

middle right (green - happy)

TopLLEDOffset 

top left (red - angry)

TopRLEDOffset 

top right (red - angry)

TopBrLEDOffset 

top bar (green)

TlRedLEDOffset 

red tail light

TlBluLEDOffset 

blue tail light

FaceFrontLeftLEDOffset 

alias for 220 cross-compatibility

FaceFrontRightLEDOffset 

alias for 220 cross-compatibility

FaceCenterLeftLEDOffset 

alias for 220 cross-compatibility

FaceCenterRightLEDOffset 

alias for 220 cross-compatibility

FaceBackLeftLEDOffset 

alias for 220 cross-compatibility

FaceBackRightLEDOffset 

alias for 220 cross-compatibility

ModeLEDOffset 

alias for 220 cross-compatibility

TailRightLEDOffset 

alias for 220 cross-compatibility

TailLeftLEDOffset 

alias for 220 cross-compatibility

Definition at line 116 of file ERS210Info.h.

The offsets of the individual legs.

Enumerator:
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 106 of file ERS210Info.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 83 of file ERS210Info.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 91 of file ERS210Info.h.

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

See also:
WorldState::sensors[]
Enumerator:
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 216 of file ERS210Info.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 98 of file ERS210Info.h.


Variable Documentation

Offset needed so that the centroid of the robot is correct relative to the bounding box.

Definition at line 172 of file ERS210Info.h.

const fmat::Column<3> ERS210Info::AgentBoundingBoxHalfDims = fmat::pack(304.8/2, 304.8/2, 0)

Half of the length, width, and height of the robot.

Definition at line 175 of file ERS210Info.h.

selects all of the leds

Definition at line 168 of file ERS210Info.h.

210 has no back LEDs

Definition at line 166 of file ERS210Info.h.

radius of the ball of the foot

Definition at line 47 of file ERS210Info.h.

Use with kinematics to refer to base reference frame.

Definition at line 76 of file ERS210Info.h.

The beginning of the binary joints.

Definition at line 73 of file ERS210Info.h.

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

bottom left (red - sad)

Definition at line 142 of file ERS210Info.h.

Referenced by LedEngine::displayPercent(), and CameraBehavior::doEvent().

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

bottom right (red - sad)

Definition at line 143 of file ERS210Info.h.

Referenced by LedEngine::displayPercent(), and CameraBehavior::doEvent().

const char* const ERS210Info::buttonNames[NumButtons]
Initial value:
 {
    "LFrPaw","RFrPaw","LBkPaw","RBkPaw",
    "ChinBut","BackBut",
    "HeadFrBut","HeadBkBut"
  }

Provides a string name for each button.

Definition at line 208 of file ERS210Info.h.

Referenced by EmergencyStopMC::trigger().

Use with kinematics to refer to camera reference frame.

Definition at line 79 of file ERS210Info.h.

const char* const ERS210Info::CameraLocator = "PRM:/r1/c1/c2/c3/i1-FbkImageSensor:F1"

use to open camera connection with the system

Definition at line 360 of file ERS210Info.h.

allocation declared in RobotInfo.cc

Definition at line 14 of file RobotInfo.cc.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 510 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 511 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 509 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 514 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 515 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 513 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 507 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 502 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 503 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 501 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 518 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 519 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 517 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 522 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 523 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 521 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 525 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 526 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 529 of file ERS210Info.h.

Left-right; see RobotInfo::LAccelOffset.

Definition at line 530 of file ERS210Info.h.

Up-down; see RobotInfo::DAccelOffset.

Definition at line 531 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 528 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 508 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 504 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 505 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 512 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 516 of file ERS210Info.h.

const int ERS210Info::CPCSensorPSD = 5

Front-back; see RobotInfo::BAccelOffset.

Definition at line 506 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 520 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 524 of file ERS210Info.h.

Front-back; see RobotInfo::BAccelOffset.

Definition at line 527 of file ERS210Info.h.

radius of the cylinder of the foot

Definition at line 48 of file ERS210Info.h.

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

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

      { 0x0A/(float)(1<<(16-0xE)), 0x00/(float)(1<<(16-0x2)), 0x18/(float)(1<<(16-0xF)) },
      { 0x07/(float)(1<<(16-0xE)), 0x00/(float)(1<<(16-0x2)), 0x11/(float)(1<<(16-0xF)) },

      { 0x0E/(float)(1<<(16-0xE)), 0x08/(float)(1<<(16-0x2)), 0x10/(float)(1<<(16-0xF)) }
    }

This table holds the default PID values for each joint. see PIDMC.

Definition at line 388 of file ERS210Info.h.

const unsigned char ERS210Info::DefaultPIDShifts[3] = {0x0E, 0x02, 0x0F}

These will control the shift values given to the system. see PIDMC.

Definition at line 414 of file ERS210Info.h.

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. Nor will they be flicked back

Definition at line 74 of file ERS210Info.h.

Referenced by BatteryMonitorBehavior::setFlipper().

Initial value:

LEDs for face (all but tail).

Definition at line 154 of file ERS210Info.h.

Use with kinematics to refer to paw reference frames (add appropriate LegOrder_t to specify which paw).

Definition at line 77 of file ERS210Info.h.

const unsigned int ERS210Info::FrameTime = 8

time between frames in the motion system (milliseconds)

Definition at line 14 of file ERS210Info.h.

Initial value:

LEDs for face (all but tail).

Definition at line 161 of file ERS210Info.h.

the offset of the beginning of the head joints

Definition at line 67 of file ERS210Info.h.

Referenced by PostureMC::defaultMaxSpeed(), HeadPointerMC::defaultMaxSpeed(), and HeadController::runCommand().

Use with kinematics to refer to infrared (distance) sensor reference frame.

Definition at line 80 of file ERS210Info.h.

true for joints which can be updated every 32 ms (all but the ears)

Definition at line 52 of file ERS210Info.h.

const unsigned ERS210Info::JointsPerArm = 0

no arms, just legs

Definition at line 25 of file ERS210Info.h.

const unsigned ERS210Info::JointsPerLeg = 3

The number of joints per leg.

Definition at line 29 of file ERS210Info.h.

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

Definition at line 71 of file ERS210Info.h.

the offset of the beginning of the leg joints

Definition at line 66 of file ERS210Info.h.

Initial value:
 {
    2.8143434f,     
    2.4980025f,
    2.8361600f,
    2.8143434f,
    2.4980025f,
    2.8361600f,
    2.8143434f,
    2.4980025f,
    2.8361600f,
    2.8143434f,
    2.4980025f,
    2.8361600f,
  
    2.1053034f,     
    3.0106930f,
    3.0106930f,
  
    4.4724062f,     
    4.4724062f,
  
    4.3742314f,     
    
    0,0,0,0,0,0,0,0,0, 
    
    0,0                
  }

These values are Sony's recommended maximum joint velocities, in rad/s.

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 is (as of v1.6) the only included MotionCommand to actually use these values.

Definition at line 421 of file ERS210Info.h.

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.6f),RAD(92.6f) },{ RAD(-32),RAD(32) }, 
        
      { RAD(-25),RAD(25) },{ RAD(-25),RAD(25) }, 

      { RAD(-50),RAD(0) }, 

      {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 476 of file ERS210Info.h.

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

middle left (green - happy)

Definition at line 144 of file ERS210Info.h.

Referenced by LedEngine::displayPercent(), and CameraBehavior::doEvent().

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

middle right (green - happy)

Definition at line 145 of file ERS210Info.h.

Referenced by LedEngine::displayPercent(), and CameraBehavior::doEvent().

the offset of the beginning of the mouth joint

Definition at line 69 of file ERS210Info.h.

no wheels, just legs

Definition at line 27 of file ERS210Info.h.

const unsigned ERS210Info::NumArms = 0

no arms, just legs

Definition at line 26 of file ERS210Info.h.

The number of binary joints - just the ears (Aperios only).

Definition at line 41 of file ERS210Info.h.

const unsigned ERS210Info::NumButtons = 8

the number of buttons that are available, see ERS210Info::ButtonOffset_t

Definition at line 36 of file ERS210Info.h.

const unsigned ERS210Info::NumEarJoints = 2

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

Definition at line 35 of file ERS210Info.h.

Referenced by BatteryMonitorBehavior::setFlipper().

const unsigned int ERS210Info::NumFrames = 4

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

Definition at line 15 of file ERS210Info.h.

const unsigned ERS210Info::NumHeadJoints = 3

The number of joints in the neck.

Definition at line 32 of file ERS210Info.h.

const unsigned ERS210Info::NumLEDs = 9

The number of LEDs which can be controlled.

Definition at line 38 of file ERS210Info.h.

the TOTAL number of joints on ALL legs

Definition at line 31 of file ERS210Info.h.

const unsigned ERS210Info::NumLegs = 4

The number of legs.

Definition at line 30 of file ERS210Info.h.

const unsigned ERS210Info::NumMouthJoints = 1

the number of joints that control the mouth

Definition at line 34 of file ERS210Info.h.

the total number of outputs

Definition at line 42 of file ERS210Info.h.

The number of joints which use PID motion - everything except ears.

Definition at line 40 of file ERS210Info.h.

const unsigned ERS210Info::NumReferenceFrames = NumOutputs + 1 + NumLegs + 1 + 1

for the base, paw, camera, and IR sensor reference frames

Definition at line 43 of file ERS210Info.h.

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

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

Definition at line 37 of file ERS210Info.h.

const unsigned int ERS210Info::NumSlowFrames = 1

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

Definition at line 17 of file ERS210Info.h.

const unsigned ERS210Info::NumTailJoints = 2

The number of joints assigned to the tail.

Definition at line 33 of file ERS210Info.h.

const unsigned ERS210Info::NumWheels = 0

no wheels, just legs

Definition at line 23 of file ERS210Info.h.

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.6f),RAD(89.6f) },{ RAD(-29),RAD(29) }, 
        
      { RAD(-22),RAD(22) },{ RAD(-22),RAD(22) }, 

      { RAD(-47),RAD(-3) }, 

      {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 457 of file ERS210Info.h.

Aibo-era alias for FootFrameOffset.

Definition at line 78 of file ERS210Info.h.

const unsigned ERS210Info::PIDJointOffset = 0

The beginning of the PID Joints.

Definition at line 65 of file ERS210Info.h.

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:/r6/c2-Joint2:j2",       
    "PRM:/r6/c1-Joint2:j1",       
    
    "PRM:/r1/c1/c2/c3/c4-Joint2:j4", 
    
    "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/l2-LED2:l2", 
    "PRM:/r6/l1-LED2:l1", 
    
    "PRM:/r1/c1/c2/c3/e1-Joint3:j5", 
    "PRM:/r1/c1/c2/c3/e2-Joint3:j6" 
  }

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 317 of file ERS210Info.h.

const char* const ERS210Info::sensorNames[NumSensors]
Initial value:
 {
    "IRDist",
    "BAccel","LAccel","DAccel",
    "Thermo",
    "PowerRemain","PowerThermo","PowerCapacity","PowerVoltage","PowerCurrent"
  }

Provides a string name for each sensor.

Definition at line 230 of file ERS210Info.h.

const unsigned int ERS210Info::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 16 of file ERS210Info.h.

const unsigned int ERS210Info::SoundBufferTime = 32

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

Definition at line 18 of file ERS210Info.h.

const char* const ERS210Info::SpeakerLocator = "PRM:/r1/c1/c2/c3/s1-Speaker:S1"

use to open speaker connectio with the system

Definition at line 357 of file ERS210Info.h.

LEDs on tail.

Definition at line 167 of file ERS210Info.h.

the offset of the beginning of the tail joints

Definition at line 68 of file ERS210Info.h.

Referenced by TailWagMC::updateOutputs().

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

blue tail light

Definition at line 150 of file ERS210Info.h.

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

red tail light

Definition at line 149 of file ERS210Info.h.

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

top bar (green)

Definition at line 148 of file ERS210Info.h.

Referenced by LedEngine::displayNumber(), LedEngine::displayPercent(), and CameraBehavior::doEvent().

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

top left (red - angry)

Definition at line 146 of file ERS210Info.h.

Referenced by LedEngine::displayPercent(), and CameraBehavior::doEvent().

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

top right (red - angry)

Definition at line 147 of file ERS210Info.h.

Referenced by LedEngine::displayPercent(), and CameraBehavior::doEvent().


Tekkotsu v5.1CVS
Generated Mon May 9 04:59:22 2016 by Doxygen 1.6.3