Homepage Demos Overview Downloads Tutorials Reference
Credits

ERS2xxInfo.h File Reference


Detailed Description

Defines RobotInfo namespace for ERS-2xx series of robots, such as joint counts, offsets, names and PID values.

Author:
Daishi MORI (Creator)
Author
ejt
Name
tekkotsu-2_2_1
Revision
1.13
State
Exp
Date
2004/08/31 19:48:41

Definition in file ERS2xxInfo.h.

#include <math.h>
#include <Types.h>
#include "CommonInfo.h"

Include dependency graph for ERS2xxInfo.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace  ERS2xxInfo

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 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 TlRedLEDMask = 1<<(TlRedLEDOffset-LEDOffset)
 red tail light
const LEDBitMask_t TlBluLEDMask = 1<<(TlBluLEDOffset-LEDOffset)
 blue tail light
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 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

Output Offsets

Corresponds to entries in ERS2xxInfo::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. 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 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 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, 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 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 = 11
 the number of buttons that are available, see ERS2xxInfo::ButtonOffset_t
const unsigned NumSensors = 1+3+1+5
 1 dist, 3 accel, 1 thermo, 5 from power, see ERS2xxInfo::SensorOffset_t
const unsigned NumLEDs = 22
 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.
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 bool IsFastOutput [NumOutputs]
 true for joints which can be updated every 32 ms (all but the ears on a 210)
const bool IsRealERS210 [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)

Defines

#define RAD(deg)   (((deg) * M_PI ) / 180.0)
 Just a little macro for converting degrees to radians.
#define __RI_RAD_FLAG
 a flag so we undef these after we're done - do you have a cleaner solution?

Enumerations

enum  LEDOffset_t {
  FaceFrontLeftLEDOffset = LEDOffset, FaceFrontRightLEDOffset, FaceCenterLeftLEDOffset, FaceCenterRightLEDOffset,
  FaceBackLeftLEDOffset, FaceBackRightLEDOffset, ModeLEDOffset, BackLeft1LEDOffset,
  BackLeft2LEDOffset, BackLeft3LEDOffset, BackRight3LEDOffset, BackRight2LEDOffset,
  BackRight1LEDOffset, TailLeftLEDOffset, TailCenterLEDOffset, TailRightLEDOffset,
  FaceFrontBLEDOffset, FaceFrontALEDOffset, FaceFrontCLEDOffset, RetractableHeadLEDOffset,
  TlBluLEDOffset, TlRedLEDOffset, BotLLEDOffset = FaceFrontLeftLEDOffset, BotRLEDOffset = FaceFrontRightLEDOffset,
  MidLLEDOffset = FaceCenterLeftLEDOffset, MidRLEDOffset = FaceCenterRightLEDOffset, TopLLEDOffset = FaceBackLeftLEDOffset, TopRLEDOffset = FaceBackRightLEDOffset,
  TopBrLEDOffset = ModeLEDOffset
}
 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...
enum  MinMaxRange_t { MinRange, MaxRange }
 Defines the indexes to use to access the min and max entries of ERS2xxInfo::outputRanges and ERS2xxInfo::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 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/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.


Define Documentation

#define __RI_RAD_FLAG
 

a flag so we undef these after we're done - do you have a cleaner solution?

Definition at line 541 of file ERS2xxInfo.h.

#define RAD deg   )     (((deg) * M_PI ) / 180.0)
 

Just a little macro for converting degrees to radians.

Definition at line 539 of file ERS2xxInfo.h.


Typedef Documentation

typedef unsigned int ERS2xxInfo::LEDBitMask_t
 

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

Definition at line 197 of file ERS2xxInfo.h.


Enumeration Type Documentation

enum 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  see ERS210Info::HeadFrButOffset, ERS220Info::HeadFrButOffset
HeadBkButOffset  see ERS210Info::HeadBkButOffset, ERS220Info::HeadBkButOffset
TailLeftButOffset 
TailCenterButOffset 
TailRightButOffset 

Definition at line 283 of file ERS2xxInfo.h.

enum LEDOffset_t
 

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.

Enumeration values:
FaceFrontLeftLEDOffset  head face side light (front left - blue) (ERS-220)
FaceFrontRightLEDOffset  head face side light (front right - blue) (ERS-220)
FaceCenterLeftLEDOffset  head face side light (center left - blue) (ERS-220)
FaceCenterRightLEDOffset  head face side light (center right - blue) (ERS-220)
FaceBackLeftLEDOffset  head face side light (back left - red) (ERS-220)
FaceBackRightLEDOffset  head face side light (back right - red) (ERS-220)
ModeLEDOffset  mode indicator (back of the head - orange) (ERS-220)
BackLeft1LEDOffset  back multi-indicator (left #1 - blue) (ERS-220)
BackLeft2LEDOffset  back multi-indicator (left #2 - blue) (ERS-220)
BackLeft3LEDOffset  back multi-indicator (left #3 - blue) (ERS-220)
BackRight3LEDOffset  back multi-indicator (right #3 - blue) (ERS-220)
BackRight2LEDOffset  back multi-indicator (right #2 - blue) (ERS-220)
BackRight1LEDOffset  back multi-indicator (right #1 - blue) (ERS-220)
TailLeftLEDOffset  tail light (left - blue) (ERS-220)
TailCenterLEDOffset  tail light (center - red) (ERS-220)
TailRightLEDOffset  tail light (right - blue) (ERS-220)
FaceFrontBLEDOffset  face front light B (blue) (ERS-220)
FaceFrontALEDOffset  face front light A (blue) (ERS-220)
FaceFrontCLEDOffset  face front light C (red) (ERS-220)
RetractableHeadLEDOffset  retractable head light (ERS-220)
TlBluLEDOffset  blue tail light (ERS-210)
TlRedLEDOffset  red tail light (ERS-210)
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)

Definition at line 160 of file ERS2xxInfo.h.

enum 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 150 of file ERS2xxInfo.h.

enum MinMaxRange_t
 

Defines the indexes to use to access the min and max entries of ERS2xxInfo::outputRanges and ERS2xxInfo::mechanicalLimits.

Enumeration values:
MinRange 
MaxRange 

Definition at line 545 of file ERS2xxInfo.h.

enum 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 299 of file ERS2xxInfo.h.


Variable Documentation

const LEDBitMask_t ERS2xxInfo::AllLEDMask = ~0
 

selects all of the leds

Definition at line 262 of file ERS2xxInfo.h.

const LEDBitMask_t ERS2xxInfo::BackLEDMask
 

Initial value:

LEDs on back.

Definition at line 248 of file ERS2xxInfo.h.

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

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

Definition at line 205 of file ERS2xxInfo.h.

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

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

Definition at line 206 of file ERS2xxInfo.h.

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

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

Definition at line 207 of file ERS2xxInfo.h.

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

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

Definition at line 210 of file ERS2xxInfo.h.

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

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

Definition at line 209 of file ERS2xxInfo.h.

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

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

Definition at line 208 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::BaseFrameOffset = NumOutputs
 

Use with kinematics to refer to base reference frame.

Definition at line 144 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::BinJointOffset = LEDOffset+NumLEDs
 

The beginning of the binary joints.

Definition at line 141 of file ERS2xxInfo.h.

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

bottom left (red - sad)

Definition at line 223 of file ERS2xxInfo.h.

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

bottom right (red - sad)

Definition at line 224 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::CameraFrameOffset = PawFrameOffset+NumLegs
 

Use with kinematics to refer to camera reference frame.

Definition at line 146 of file ERS2xxInfo.h.

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

use to open camera connection with the system

Definition at line 440 of file ERS2xxInfo.h.

const float ERS2xxInfo::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)) },

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

      { 0x0E/(double)(1<<(16-0xE)), 0x08/(double)(1<<(16-0x2)), 0x10/(double)(1<<(16-0xF)) }
    }
This table holds the default PID values for each joint. see PIDMC.

Definition at line 468 of file ERS2xxInfo.h.

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

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

Definition at line 494 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::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

Definition at line 142 of file ERS2xxInfo.h.

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

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

Definition at line 202 of file ERS2xxInfo.h.

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

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

Definition at line 203 of file ERS2xxInfo.h.

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

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

Definition at line 200 of file ERS2xxInfo.h.

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

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

Definition at line 201 of file ERS2xxInfo.h.

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

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

Definition at line 215 of file ERS2xxInfo.h.

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

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

Definition at line 214 of file ERS2xxInfo.h.

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

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

Definition at line 216 of file ERS2xxInfo.h.

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

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

Definition at line 198 of file ERS2xxInfo.h.

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

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

Definition at line 199 of file ERS2xxInfo.h.

const LEDBitMask_t ERS2xxInfo::FaceLEDMask
 

Initial value:

LEDs for face.

Definition at line 232 of file ERS2xxInfo.h.

const unsigned int ERS2xxInfo::FrameTime = 8
 

time between frames in the motion system (milliseconds)

Definition at line 29 of file ERS2xxInfo.h.

const LEDBitMask_t ERS2xxInfo::HeadLEDMask
 

Initial value:

LEDs on head (face plus retractable light).

Definition at line 244 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::HeadOffset = LegOffset+NumLegJoints
 

the offset of the beginning of the head joints

Definition at line 135 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::IRFrameOffset = CameraFrameOffset+1
 

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

Definition at line 147 of file ERS2xxInfo.h.

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

Definition at line 54 of file ERS2xxInfo.h.

const bool ERS2xxInfo::IsRealERS210[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,                       
    false, false, false,        
    false, false, false,        
    false, false, false,        
    false, false, false,        
    false,                      
    true, true,                 
    
    true, true
  }
true for joints which can be updated every 32 ms (all but the ears on a 210)

Definition at line 78 of file ERS2xxInfo.h.

const bool ERS2xxInfo::IsRealERS220[NumOutputs]
 

Initial value:

 {
    
    true, true, true, 
    true, true, true,
    true, true, true,
    true, true, true,
    true, true, true, 
    false, false,     
    false,            
    
    true, true, true,           
    true, true, true,           
    true,                       
    true, true, true,           
    true, true, true,           
    true, true, true,           
    true, true, true,           
    true,                       
    false, false,               
    
    false, false
  }
true for joints which can be updated every 32 ms (all but the ears on a 210)

Definition at line 102 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::JointsPerLeg = 3
 

The number of joints per leg.

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 38 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::LEDOffset = PIDJointOffset + NumPIDJoints
 

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

Definition at line 139 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::LegOffset = PIDJointOffset
 

the offset of the beginning of the leg joints

Definition at line 134 of file ERS2xxInfo.h.

const float ERS2xxInfo::MaxOutputSpeed[NumOutputs]
 

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

Definition at line 501 of file ERS2xxInfo.h.

const double ERS2xxInfo::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) }, 
        
      { 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},{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 575 of file ERS2xxInfo.h.

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

middle left (green - happy)

Definition at line 225 of file ERS2xxInfo.h.

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

middle right (green - happy)

Definition at line 226 of file ERS2xxInfo.h.

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

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

Definition at line 204 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::MouthOffset = TailOffset+NumTailJoints
 

the offset of the beginning of the mouth joint

Definition at line 137 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::NumBinJoints = NumEarJoints
 

The number of binary joints - just the ears.

Definition at line 50 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::NumButtons = 11
 

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

Definition at line 45 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::NumEarJoints = 2
 

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

Definition at line 44 of file ERS2xxInfo.h.

const unsigned int ERS2xxInfo::NumFrames = 4
 

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

Definition at line 30 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::NumHeadJoints = 3
 

The number of joints in the neck.

Definition at line 41 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::NumLEDs = 22
 

The number of LEDs which can be controlled.

Definition at line 47 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::NumLegJoints = JointsPerLeg*NumLegs
 

the TOTAL number of joints on ALL legs

Definition at line 40 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::NumLegs = 4
 

The number of legs.

Definition at line 39 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::NumMouthJoints = 1
 

the number of joints that control the mouth

Definition at line 43 of file ERS2xxInfo.h.

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

the total number of outputs

Definition at line 51 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::NumPIDJoints = NumLegJoints+NumHeadJoints+NumTailJoints+NumMouthJoints
 

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

Definition at line 49 of file ERS2xxInfo.h.

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

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

Definition at line 52 of file ERS2xxInfo.h.

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

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

Definition at line 46 of file ERS2xxInfo.h.

const unsigned int ERS2xxInfo::NumSlowFrames = 1
 

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

Definition at line 32 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::NumTailJoints = 2
 

The number of joints assigned to the tail.

Definition at line 42 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::outputNameLen = 9
 

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

Definition at line 316 of file ERS2xxInfo.h.

const char* const ERS2xxInfo::outputNames[NumOutputs]
 

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

Definition at line 318 of file ERS2xxInfo.h.

const double ERS2xxInfo::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) }, 
        
      { 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},{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 548 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::PawFrameOffset = BaseFrameOffset+1
 

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

Definition at line 145 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::PIDJointOffset = 0
 

The beginning of the PID Joints.

Definition at line 133 of file ERS2xxInfo.h.

const char* const ERS2xxInfo::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:/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/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", 

    "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 381 of file ERS2xxInfo.h.

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

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

Definition at line 217 of file ERS2xxInfo.h.

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

const unsigned int ERS2xxInfo::SoundBufferTime = 32
 

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

Definition at line 33 of file ERS2xxInfo.h.

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

use to open speaker connectio with the system

Definition at line 437 of file ERS2xxInfo.h.

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

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

Definition at line 212 of file ERS2xxInfo.h.

const LEDBitMask_t ERS2xxInfo::TailLEDMask
 

Initial value:

LEDs for tail.

Definition at line 256 of file ERS2xxInfo.h.

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

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

Definition at line 211 of file ERS2xxInfo.h.

const unsigned ERS2xxInfo::TailOffset = HeadOffset+NumHeadJoints
 

the offset of the beginning of the tail joints

Definition at line 136 of file ERS2xxInfo.h.

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

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

Definition at line 213 of file ERS2xxInfo.h.

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

blue tail light

Definition at line 220 of file ERS2xxInfo.h.

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

red tail light

Definition at line 219 of file ERS2xxInfo.h.

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

top bar (green)

Definition at line 229 of file ERS2xxInfo.h.

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

top left (red - angry)

Definition at line 227 of file ERS2xxInfo.h.

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

top right (red - angry)

Definition at line 228 of file ERS2xxInfo.h.


Tekkotsu v2.2.1
Generated Tue Nov 23 16:36:54 2004 by Doxygen 1.3.9.1