Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

LynxArm6Info Namespace Reference

Declares configuration of the 6-DOF PUMA style arm from Lynx Motion, such as number of joints, LEDs, etc. More...

Functions

const Capabilities capabilities (TargetName, NumReferenceFrames, outputNames, NumButtons, buttonNames, NumSensors, sensorNames, PIDJointOffset, NumPIDJoints, 0, 0, NumOutputs)

Variables

const char *const TargetName = "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 SoundBufferTime = 32
 the number of milliseconds per sound buffer... I'm not sure if this can be changed
const char *const outputNames [NumReferenceFrames+1]
 Names for each of the outputs.
const Capabilities capabilities
 allocation declared in RobotInfo.cc
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/sec.
const float 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 float 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).
Output Types Information

const unsigned NumWheels = 0
 no wheels, just legs
const unsigned JointsPerArm = 6
 no wheels, just legs
const unsigned NumArms = 1
 no wheels, just legs
const unsigned NumArmJoints = JointsPerArm*NumArms
 no wheels, just legs
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 = 4
 the four input pins
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 NumOutputs = NumPIDJoints + NumLEDs
 the total number of outputs
const unsigned NumReferenceFrames = NumOutputs + 1 + NumArms
 for the base, gripper (* NumArms)
const float CameraHorizFOV = 56.9f/180*(float)M_PI
 horizontal field of view (radians)
const float CameraVertFOV = 45.2f/180*(float)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

Output Offsets

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



enum  ArmOffset_t {
  ArmShoulderOffset = ArmOffset, ArmElevatorOffset, ArmElbowOffset, WristOffset,
  WristRollOffset = WristOffset, WristPitchOffset, GripperOffset
}
 

These are 'absolute' offsets for the arm joints, don't need to add to ArmOffset like TPROffset_t values do.

More...
const unsigned PIDJointOffset = 0
 The beginning of the PID Joints.
const unsigned ArmOffset = PIDJointOffset
 These are 'absolute' offsets for the arm joints, don't need to add to ArmOffset like TPROffset_t values do.
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.

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 { SensorAOffset, SensorBOffset, SensorCOffset, SensorDOffset }
 

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

More...
const char *const buttonNames [NumButtons+1] = { NULL }
 Provides a string name for each button.
const char *const sensorNames [NumSensors] = { "SensorA", "SensorB", "SensorC", "SensorD" }
 Provides a string name for each sensor.

Detailed Description

Declares configuration of the 6-DOF PUMA style arm from Lynx Motion, such as number of joints, LEDs, etc.


Enumeration Type Documentation

These are 'absolute' offsets for the arm joints, don't need to add to ArmOffset like TPROffset_t values do.

Enumerator:
ArmShoulderOffset 
ArmElevatorOffset 
ArmElbowOffset 
WristOffset 
WristRollOffset 
WristPitchOffset 
GripperOffset 

Definition at line 71 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 PowerSrcID::PauseSID.

See also:
WorldState::buttons
ButtonSourceID_t

Definition at line 105 of file LynxArm6Info.h.

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

See also:
WorldState::sensors[]
Enumerator:
SensorAOffset 
SensorBOffset 
SensorCOffset 
SensorDOffset 

Definition at line 112 of file LynxArm6Info.h.


Function Documentation

const Capabilities LynxArm6Info::capabilities ( TargetName  ,
NumReferenceFrames  ,
outputNames  ,
NumButtons  ,
buttonNames  ,
NumSensors  ,
sensorNames  ,
PIDJointOffset  ,
NumPIDJoints  ,
,
,
NumOutputs   
)

Variable Documentation

These are 'absolute' offsets for the arm joints, don't need to add to ArmOffset like TPROffset_t values do.

Definition at line 68 of file LynxArm6Info.h.

Use with kinematics to refer to base reference frame.

Definition at line 81 of file LynxArm6Info.h.

const char* const LynxArm6Info::buttonNames[NumButtons+1] = { NULL }

Provides a string name for each button.

Definition at line 108 of file LynxArm6Info.h.

should be set to maximum of CameraHorizFOV or CameraVertFOV

Definition at line 54 of file LynxArm6Info.h.

const float LynxArm6Info::CameraHorizFOV = 56.9f/180*(float)M_PI

horizontal field of view (radians)

Definition at line 52 of file LynxArm6Info.h.

const unsigned int LynxArm6Info::CameraResolutionX = 320

the number of pixels available in the 'full' layer

Definition at line 55 of file LynxArm6Info.h.

const unsigned int LynxArm6Info::CameraResolutionY = 240

the number of pixels available in the 'full' layer

Definition at line 56 of file LynxArm6Info.h.

const float LynxArm6Info::CameraVertFOV = 45.2f/180*(float)M_PI

vertical field of view (radians)

Definition at line 53 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 133 of file LynxArm6Info.h.

const unsigned int LynxArm6Info::FrameTime = 32

time between frames in the motion system (milliseconds)

Definition at line 24 of file LynxArm6Info.h.

Use with kinematics to refer to paw reference frames.

Definition at line 82 of file LynxArm6Info.h.

const unsigned LynxArm6Info::JointsPerArm = 6

no wheels, just legs

Definition at line 31 of file LynxArm6Info.h.

const unsigned LynxArm6Info::JointsPerLeg = 0

The number of joints per leg.

Definition at line 35 of file LynxArm6Info.h.

Initial value:
 {
    4.86510529f, 
    5.27962099f,
    5.27962099f,
    4.86510529f,
    5.27962099f,
    5.27962099f
  }

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

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 145 of file LynxArm6Info.h.

Initial value:
    {
      { RAD(-90),RAD(90) },{ RAD(-90),RAD(90) },{ RAD(-90),RAD(90) },
      { RAD(-90),RAD(90) },{ RAD(-90),RAD(90) },{ RAD(-90),RAD(90) },
    }

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 outputRanges

Definition at line 170 of file LynxArm6Info.h.

no wheels, just legs

Definition at line 33 of file LynxArm6Info.h.

const unsigned LynxArm6Info::NumArms = 1

no wheels, just legs

Definition at line 32 of file LynxArm6Info.h.

const unsigned LynxArm6Info::NumButtons = 0

the number of buttons that are available, 2 head, 4 paws, 3 back, 1 underbelly see ERS7Info::ButtonOffset_t

Definition at line 42 of file LynxArm6Info.h.

const unsigned LynxArm6Info::NumEarJoints = 0

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

Definition at line 41 of file LynxArm6Info.h.

const unsigned LynxArm6Info::NumFacePanelLEDs = 0

The number of face panel LEDs.

Definition at line 45 of file LynxArm6Info.h.

const unsigned int LynxArm6Info::NumFrames = 1

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

Definition at line 25 of file LynxArm6Info.h.

const unsigned LynxArm6Info::NumHeadJoints = 0

The number of joints in the neck.

Definition at line 38 of file LynxArm6Info.h.

const unsigned LynxArm6Info::NumLEDs = 0

The number of LEDs which can be controlled.

Definition at line 44 of file LynxArm6Info.h.

the TOTAL number of joints on ALL legs

Definition at line 37 of file LynxArm6Info.h.

const unsigned LynxArm6Info::NumLegs = 0

The number of legs.

Definition at line 36 of file LynxArm6Info.h.

const unsigned LynxArm6Info::NumMouthJoints = 0

the number of joints that control the mouth

Definition at line 40 of file LynxArm6Info.h.

the total number of outputs

Definition at line 48 of file LynxArm6Info.h.

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

Definition at line 47 of file LynxArm6Info.h.

for the base, gripper (* NumArms)

Definition at line 49 of file LynxArm6Info.h.

const unsigned LynxArm6Info::NumSensors = 4

the four input pins

Definition at line 43 of file LynxArm6Info.h.

const unsigned LynxArm6Info::NumTailJoints = 0

The number of joints assigned to the tail.

Definition at line 39 of file LynxArm6Info.h.

const unsigned LynxArm6Info::NumWheels = 0

no wheels, just legs

Definition at line 29 of file LynxArm6Info.h.

Initial value:
 {
    "Shldr:rot","Shldr:elv","Elbow",
    "Wrist:elv","Wrist:rot","Gripper",
    
    "BaseFrame", "GripperFrame",
    NULL
  }

Names for each of the outputs.

Definition at line 121 of file LynxArm6Info.h.

Initial value:
    {
      { RAD(-90),RAD(90) },{ RAD(-90),RAD(90) },{ RAD(-90),RAD(90) },
      { RAD(-90),RAD(90) },{ RAD(-90),RAD(90) },{ RAD(-90),RAD(90) },
    }

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 162 of file LynxArm6Info.h.

const unsigned LynxArm6Info::PIDJointOffset = 0

The beginning of the PID Joints.

Definition at line 67 of file LynxArm6Info.h.

const char* const LynxArm6Info::sensorNames[NumSensors] = { "SensorA", "SensorB", "SensorC", "SensorD" }

Provides a string name for each sensor.

Definition at line 115 of file LynxArm6Info.h.

const unsigned int LynxArm6Info::SoundBufferTime = 32

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

Definition at line 26 of file LynxArm6Info.h.

const char *const LynxArm6Info::TargetName = "LynxArm6"

the name of the model, to be used for logging and remote GUIs

Definition at line 38 of file RobotInfo.cc.


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