Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

LynxArm6Info Namespace Reference


Output Offsets

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

typedef unsigned int LEDBitMask_t
enum  LegOffset_t { LFrLegOffset = LegOffset+LFrLegOrder*JointsPerLeg, RFrLegOffset = LegOffset+RFrLegOrder*JointsPerLeg, LBkLegOffset = LegOffset+LBkLegOrder*JointsPerLeg, RBkLegOffset = LegOffset+RBkLegOrder*JointsPerLeg }
 The offsets of the individual legs, add REKOffset_t value to access specific joint. More...
enum  LEDOffset_t
 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.
const unsigned PIDJointOffset = 0
 The beginning of the PID Joints.
const unsigned ArmOffset = PIDJointOffset
const unsigned LegOffset = ArmOffset+NumArmJoints
 the offset of the beginning of the leg joints, NumLegs of JointsPerLeg each, in LegOrder_t order; see LegOffset_t
const unsigned HeadOffset = LegOffset+NumLegJoints
 the offset of the beginning of the head joints, add TPROffset_t to get specific joint
const unsigned TailOffset = HeadOffset+NumHeadJoints
 the offset of the beginning of the tail joints, add TPROffset_t to get specific joint (except RollOffset not available)
const unsigned MouthOffset = TailOffset+NumTailJoints
 the offset of the beginning of the mouth joint, is specific joint
const unsigned LEDOffset = PIDJointOffset + NumPIDJoints
 the offset of LEDs in WorldState::outputs and MotionCommand functions, see LedOffset_t for specific offsets
const unsigned BinJointOffset = LEDOffset + NumLEDs
 The beginning of the binary joints.
const unsigned EarOffset = BinJointOffset
 the offset of the beginning of the ear joints - note that ears aren't sensed. They can be flicked by the environment and you won't know.
const unsigned BaseFrameOffset = NumOutputs
 Use with kinematics to refer to base reference frame.
const unsigned GripperFrameOffset = BaseFrameOffset+1
 Use with kinematics to refer to paw reference frames (add appropriate LegOrder_t to specify which paw).
const unsigned CameraFrameOffset = GripperFrameOffset+NumArms
 Use with kinematics to refer to camera reference frame.
const LEDBitMask_t FaceLEDMask = 0
 LEDs for the face panel (all FaceLEDPanelMask<<(0:NumFacePanelLEDs-1) entries).
const LEDBitMask_t AllLEDMask = (LEDBitMask_t)~0
 selects all of the leds

Input Offsets

The order in which inputs should be stored

enum  ButtonOffset_t
 holds offsets to different buttons in WorldState::buttons[] More...
enum  SensorOffset_t
 holds offset to different sensor values in WorldState::sensors[] More...
const char *const buttonNames [NumButtons] = { }
 Provides a string name for each button.
const char *const sensorNames [NumSensors] = { }
 Provides a string name for each sensor.

Output Types Information

const unsigned JointsPerArm = 6
const unsigned NumArms = 1
const unsigned NumArmJoints = JointsPerArm*NumArms
const unsigned JointsPerLeg = 0
 The number of joints per leg.
const unsigned NumLegs = 0
 The number of legs.
const unsigned NumLegJoints = JointsPerLeg*NumLegs
 the TOTAL number of joints on ALL legs
const unsigned NumHeadJoints = 0
 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 = 0
 the number of buttons that are available, 2 head, 4 paws, 3 back, 1 underbelly see ERS7Info::ButtonOffset_t
const unsigned NumSensors = 0
 3 IR (distance), 3 accel (force), 5 from power, see ERS7Info::SensorOffset_t
const unsigned NumLEDs = 0
 The number of LEDs which can be controlled.
const unsigned NumFacePanelLEDs = 0
 The number of face panel LEDs.
const unsigned NumPIDJoints = NumArmJoints + 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 + NumArms + 1
 for the base, gripper (* NumArms), and camera reference frames
const float CameraHorizFOV = 56.9/180*M_PI
 horizontal field of view (radians)
const float CameraVertFOV = 45.2/180*M_PI
 vertical field of view (radians)
const float CameraFOV = CameraHorizFOV
 should be set to maximum of CameraHorizFOV or CameraVertFOV
const unsigned int CameraResolutionX = 320
 the number of pixels available in the 'full' layer
const unsigned int CameraResolutionY = 240
 the number of pixels available in the 'full' layer

Variables

const char *const RobotName = "LynxArm6"
 the name of the model, to be used for logging and remote GUIs
const unsigned int FrameTime = 32
 time between frames in the motion system (milliseconds)
const unsigned int NumFrames = 1
 the number of frames per buffer (don't forget also double buffered)
const unsigned int SlowFrameTime = 32
 time between frames for the ears (ERS-7 doesn't seem to have any "slow" joints; this only applied for the ears on the ERS-210)
const unsigned int NumSlowFrames = 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 float DefaultPIDs [NumPIDJoints][3]
 This table holds the default PID values for each joint. see PIDMC.
const float MaxOutputSpeed [NumOutputs]
 These values are Sony's recommended maximum joint velocities, in rad/ms.
const double outputRanges [NumOutputs][2]
 This table holds the software limits of each of the outputs, first index is the output offset, second index is MinMaxRange_t (i.e. MinRange or MaxRange).
const double mechanicalLimits [NumOutputs][2]
 This table holds the mechanical limits of each of the outputs, first index is the output offset, second index is MinMaxRange_t (i.e. MinRange or MaxRange).


Typedef Documentation

typedef unsigned int LynxArm6Info::LEDBitMask_t

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

Definition at line 90 of file LynxArm6Info.h.


Enumeration Type Documentation

The offsets of the individual legs, add REKOffset_t value to access specific joint.

Enumerator:
LFrLegOffset  beginning of left front leg's joints
RFrLegOffset  beginning of right front leg's joints
LBkLegOffset  beginning of left back leg's joints
RBkLegOffset  beginning of right back leg's joints

Definition at line 79 of file LynxArm6Info.h.

holds offsets to different buttons in WorldState::buttons[]

Should be a straight mapping to the ButtonSourceIDs

Note that the chest (power) button is not a normal button. It kills power to the motors at a hardware level, and isn't sensed in the normal way. If you want to know when it is pressed (and you are about to shut down) see PowerSourceID::PauseSID.

See also:
WorldState::buttons

ButtonSourceID_t

Definition at line 116 of file LynxArm6Info.h.

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

See also:
WorldState::sensors[]

Definition at line 123 of file LynxArm6Info.h.


Variable Documentation

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

Definition at line 62 of file LynxArm6Info.h.

Initial value:

 {
    "Shldr:rot","Shldr:elv","Elbow~~~~",
    "Wrist:rot","Wrist:elv","Gripper~~"
  }
A name of uniform length for referring to joints - handy for posture files, etc.

Definition at line 134 of file LynxArm6Info.h.

Initial value:

 {
    {1,0,0}, {1,0,0}, {1,0,0},
    {1,0,0}, {1,0,0}, {1,0,0},
  }
This table holds the default PID values for each joint. see PIDMC.

Definition at line 140 of file LynxArm6Info.h.

Initial value:

 {
    4.86510529e-3, 
    5.27962099e-3,
    5.27962099e-3,
    4.86510529e-3,
    5.27962099e-3,
    5.27962099e-3
  }
These values are Sony's recommended maximum joint velocities, in rad/ms.

a value <= 0 means infinite speed (e.g. LEDs)

These limits are not enforced by the framework. They are simply available for you to use as you see fit. HeadPointerMC and PostureMC are primary examples of included classes which do respect these values (although they can be overridden)

These values were obtained from the administrators of the Sony OPEN-R BBS

Definition at line 152 of file LynxArm6Info.h.

Initial value:

    {
      { RAD(-115),RAD(130) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
      { RAD(-115),RAD(130) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
    }
This table holds the software limits of each of the outputs, first index is the output offset, second index is MinMaxRange_t (i.e. MinRange or MaxRange).

Definition at line 169 of file LynxArm6Info.h.

Initial value:

    {
      { RAD(-115),RAD(130) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
      { RAD(-115),RAD(130) },{ RAD(-10),RAD(88) },{ RAD(-25),RAD(122) },
    }
This table holds the mechanical limits of each of the outputs, first index is the output offset, second index is MinMaxRange_t (i.e. MinRange or MaxRange).

Same as outputLimits, don't know actual values because they were never specified by Sony

Definition at line 177 of file LynxArm6Info.h.


Tekkotsu v3.0
Generated Fri May 11 20:09:05 2007 by Doxygen 1.4.7