Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

KHR2Info Namespace Reference

Contains information about an KHR2 humanoid robot, such as number of joints, LEDs, etc. More...

Functions

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

Variables

const char *const TargetName = "KHR2"
 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
Output Types Information

const unsigned NumWheels = 0
 The number of joints per leg.
const unsigned FingerJointsPerArm = 0
 The number of joints per leg.
const unsigned JointsPerArm = 3
 The number of joints per leg.
const unsigned NumArms = 2
 The number of joints per leg.
const unsigned NumArmJoints = JointsPerArm*NumArms
 The number of joints per leg.
const unsigned JointsPerLeg = 5
 The number of joints per leg.
const unsigned NumLegs = 2
 The number of legs.
const unsigned NumLegJoints = JointsPerLeg*NumLegs
 the TOTAL number of joints on ALL legs 10
const unsigned NumHeadJoints = 1
 The number of joints in the pantilt 1.
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
const unsigned SensorsPerFoot = 6
 The number of joints per leg.
const unsigned NumIMUAxes = 3
 The number of joints per leg.
const unsigned NumFootSensors = SensorsPerFoot*NumLegs
 The number of joints per leg.
const unsigned NumSensors = NumArms + NumLegs*6 + 3
 The number of joints per leg.
const unsigned NumFacePanelLEDs = 0
 The number of face panel LEDs.
const unsigned NumLEDs = 0
 The number of joints per leg.
const unsigned NumPIDJoints = NumArmJoints+NumLegJoints+NumHeadJoints
 servo pins 15
const unsigned NumOutputs = NumWheels + NumPIDJoints + NumLEDs
 the total number of outputs 17
const unsigned NumReferenceFrames = NumOutputs + NumLegs + NumArms + 1 + 1
 for the feet (NumLegs), arms, base, and camera 23
const float BallOfFootRadius = 23.433f / 2
 radius of the ball of the foot

Output Offsets

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



enum  ArmOrder_t { LeftArmOrder = 0, RightArmOrder }
 

the ordering of arms

More...
enum  LegOrder_t { LeftLegOrder = 0, RightLegOrder }
 

the ordering of legs

More...
enum  RLEOffset_t { ArmShoulderRotateOffset = 0, ArmShoulderOffset, ArmElbowOffset }
 

the ordering of arms

More...
enum  TPROffset_t { PanOffset = 0, TiltOffset = PanOffset }
 

the ordering of arms

More...
enum  AHKALOffset_t {
  LegHipAbduceOffset = 0, LegHipOffset, LegKneeOffset, LegAnkleOffset,
  LegAnkleLateralOffset
}
 

the ordering of arms

More...
enum  ArmOffset_t { LeftArmOffset = ArmOffset+LeftArmOrder*JointsPerArm, RightArmOffset = ArmOffset+RightArmOrder*JointsPerArm }
 

the ordering of arms

More...
enum  LegOffset_t { LeftLegOffset = LegOffset+LeftLegOrder*JointsPerLeg, RightLegOffset = LegOffset+RightLegOrder*JointsPerLeg }
 

the ordering of arms

More...
enum  HeadOffset_t { HeadPanOffset = HeadOffset }
 

the ordering of arms

More...
enum  LEDOffset_t
 

the ordering of arms

More...
const unsigned PIDJointOffset = 0
 The beginning of the PID Joints.
const unsigned ArmOffset = PIDJointOffset
 0 - the offset of the beginning of the arm joints
const unsigned LegOffset = ArmOffset+NumArmJoints
 6 - the offset of the beginning of the leg joints
const unsigned HeadOffset = LegOffset+NumLegJoints
 16 - the offset of the beginning of the head joint
const unsigned LEDOffset = PIDJointOffset + NumPIDJoints
 17 - the offset of LEDs
const unsigned BaseFrameOffset = NumOutputs
 17 - Use with kinematics to refer to base reference frame
const unsigned CameraFrameOffset = BaseFrameOffset+1
 18
const unsigned GripperFrameOffset = CameraFrameOffset+1
 19
const unsigned FootFrameOffset = GripperFrameOffset+NumLegs
 21

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 {
  LStressOffset, RStressOffset, LLToeOffset, LRToeOffset,
  LLSoleOffset, LRSoleOffset, LLBackOffset, LRBackOffset,
  RLToeOffset, RRToeOffset, RLSoleOffset, RRSoleOffset,
  RLBackOffset, RRBackOffset, BAccelOffset, LAccelOffset,
  DAccelOffset
}
const char *const buttonNames [NumButtons+1] = {NULL}
 Provides a string name for each button.
const char *const sensorNames [NumSensors+1]
 provides a string name for each sensor
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 our recommended maximum joint velocities, in rad/ms.
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]

Detailed Description

Contains information about an KHR2 humanoid robot, such as number of joints, LEDs, etc.


Enumeration Type Documentation

the ordering of arms

Enumerator:
LegHipAbduceOffset 
LegHipOffset 
LegKneeOffset 
LegAnkleOffset 
LegAnkleLateralOffset 

Definition at line 114 of file KHR2Info.h.

the ordering of arms

Enumerator:
LeftArmOffset 
RightArmOffset 

Definition at line 123 of file KHR2Info.h.

the ordering of arms

Enumerator:
LeftArmOrder 

left arm

RightArmOrder 

right arm

Definition at line 87 of file KHR2Info.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 160 of file KHR2Info.h.

the ordering of arms

Enumerator:
HeadPanOffset 

Definition at line 135 of file KHR2Info.h.

the ordering of arms

Definition at line 140 of file KHR2Info.h.

the ordering of arms

Enumerator:
LeftLegOffset 
RightLegOffset 

Definition at line 129 of file KHR2Info.h.

the ordering of legs

Enumerator:
LeftLegOrder 

left leg

RightLegOrder 

right leg

Definition at line 94 of file KHR2Info.h.

the ordering of arms

Enumerator:
ArmShoulderRotateOffset 
ArmShoulderOffset 
ArmElbowOffset 

Definition at line 100 of file KHR2Info.h.

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

See also:
WorldState::sensors[]
Enumerator:
LStressOffset 
RStressOffset 
LLToeOffset 
LRToeOffset 
LLSoleOffset 
LRSoleOffset 
LLBackOffset 
LRBackOffset 
RLToeOffset 

right foot pressure sensors

RRToeOffset 
RLSoleOffset 
RRSoleOffset 
RLBackOffset 
RRBackOffset 
BAccelOffset 

... be careful about the signs on all of these...

backward acceleration, in $m/s^2$ (negative if laying on back)

LAccelOffset 

acceleration to the robot's left, in $m/s^2$ (negative if lying on the robot's right side)

DAccelOffset 

download acceleration, in $m/s^2$ (negative if standing up)

Definition at line 167 of file KHR2Info.h.

the ordering of arms

Enumerator:
PanOffset 
TiltOffset 

Definition at line 108 of file KHR2Info.h.


Function Documentation

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

Variable Documentation

0 - the offset of the beginning of the arm joints

Definition at line 77 of file KHR2Info.h.

const float KHR2Info::BallOfFootRadius = 23.433f / 2

radius of the ball of the foot

Definition at line 64 of file KHR2Info.h.

17 - Use with kinematics to refer to base reference frame

Definition at line 81 of file KHR2Info.h.

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

Provides a string name for each button.

Definition at line 163 of file KHR2Info.h.

18

Definition at line 82 of file KHR2Info.h.

Initial value:
 {
    {1, 0, 0}, {1, 0, 0}, {1, 0, 0}, {1, 0, 0}, 
    {1, 0, 0}, {1, 0, 0}, {1, 0, 0}, {1, 0, 0},
    {1, 0, 0}, {1, 0, 0}, {1, 0, 0}, {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 243 of file KHR2Info.h.

const unsigned KHR2Info::FingerJointsPerArm = 0

The number of joints per leg.

Definition at line 37 of file KHR2Info.h.

21

Definition at line 84 of file KHR2Info.h.

const unsigned int KHR2Info::FrameTime = 32

time between frames in the motion system (milliseconds)

Definition at line 30 of file KHR2Info.h.

19

Definition at line 83 of file KHR2Info.h.

16 - the offset of the beginning of the head joint

Definition at line 79 of file KHR2Info.h.

const unsigned KHR2Info::JointsPerArm = 3

The number of joints per leg.

Definition at line 38 of file KHR2Info.h.

const unsigned KHR2Info::JointsPerLeg = 5

The number of joints per leg.

Definition at line 42 of file KHR2Info.h.

17 - the offset of LEDs

Definition at line 80 of file KHR2Info.h.

6 - the offset of the beginning of the leg joints

Definition at line 78 of file KHR2Info.h.

Initial value:
 {

    
    1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f,
    1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 1.f, 
    1.f
  }

These values are our 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 haven't determined safe speeds for KHR2 yet

Definition at line 259 of file KHR2Info.h.

Initial value:
 {

    
        {RAD(0), RAD(180)}, {RAD(0), RAD(180)}, {RAD(-90), RAD(90)},

    
    {RAD(0), RAD(180)}, {RAD(0), RAD(180)}, {RAD(-90), RAD(90)},

    
    {RAD(-10), RAD(90)}, {RAD(-90), RAD(90)}, {RAD(-90), RAD(20)},
    {RAD(-90), RAD(90)},
     {RAD(-70), RAD(20)},

    
    {RAD(-10), RAD(90)}, {RAD(-90), RAD(90)}, {RAD(-90), RAD(20)},
    {RAD(-90), RAD(90)},
     {RAD(-70), RAD(20)},

    
    {RAD(-90), RAD(90)}
  }

the range that can be reached by external interaction (i.e. the domain of the output feedback); this is probably identical to outputRanges, but may differ if the output have some built-in safety margin...

Definition at line 301 of file KHR2Info.h.

The number of joints per leg.

Definition at line 40 of file KHR2Info.h.

const unsigned KHR2Info::NumArms = 2

The number of joints per leg.

Definition at line 39 of file KHR2Info.h.

const unsigned KHR2Info::NumButtons = 0

the number of buttons that are available

Definition at line 49 of file KHR2Info.h.

const unsigned KHR2Info::NumEarJoints = 0

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

Definition at line 48 of file KHR2Info.h.

const unsigned KHR2Info::NumFacePanelLEDs = 0

The number of face panel LEDs.

Definition at line 54 of file KHR2Info.h.

The number of joints per leg.

Definition at line 52 of file KHR2Info.h.

const unsigned int KHR2Info::NumFrames = 1

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

Definition at line 31 of file KHR2Info.h.

const unsigned KHR2Info::NumHeadJoints = 1

The number of joints in the pantilt 1.

Definition at line 45 of file KHR2Info.h.

const unsigned KHR2Info::NumIMUAxes = 3

The number of joints per leg.

Definition at line 51 of file KHR2Info.h.

const unsigned KHR2Info::NumLEDs = 0

The number of joints per leg.

Definition at line 56 of file KHR2Info.h.

the TOTAL number of joints on ALL legs 10

Definition at line 44 of file KHR2Info.h.

const unsigned KHR2Info::NumLegs = 2

The number of legs.

Definition at line 43 of file KHR2Info.h.

const unsigned KHR2Info::NumMouthJoints = 0

the number of joints that control the mouth

Definition at line 47 of file KHR2Info.h.

the total number of outputs 17

Definition at line 59 of file KHR2Info.h.

servo pins 15

Definition at line 57 of file KHR2Info.h.

for the feet (NumLegs), arms, base, and camera 23

Definition at line 60 of file KHR2Info.h.

const unsigned KHR2Info::NumSensors = NumArms + NumLegs*6 + 3

The number of joints per leg.

Definition at line 53 of file KHR2Info.h.

const unsigned KHR2Info::NumTailJoints = 0

The number of joints assigned to the tail.

Definition at line 46 of file KHR2Info.h.

const unsigned KHR2Info::NumWheels = 0

The number of joints per leg.

Definition at line 35 of file KHR2Info.h.

Initial value:
 {

    
    "LArm:Rotate", "LArm:Elevator", "LArm:Elbow",

    
    "RArm:Rotate", "RArm:Elevator", "RArm:Elbow",
    
    
    "LLeg:Abduce", "LLeg:Flex", "LLeg:Knee",
    "LLeg:AnkleFlex",
     "LLeg:AnkleLateral",

    
    "RLeg:Abduce", "RLeg:Flex", "RLeg:Knee",
    "RLeg:AnkleFlex",
     "RLeg:AnkleLateral",

    
    "NECK:Pan",
    
    "BaseFrame",
    "CAMERA:Eye",
    "LArm:Wrist",
    "RArm:Wrist",
    "LLeg:Sole",
    "RLeg:Sole",
    NULL
  }

names for each of the outputs

Definition at line 209 of file KHR2Info.h.

Initial value:
 {

    
    {RAD(0), RAD(180)}, {RAD(0), RAD(180)}, {RAD(-90), RAD(90)},

    
    {RAD(0), RAD(180)}, {RAD(0), RAD(180)}, {RAD(-90), RAD(90)},

    
    {RAD(-10), RAD(90)}, {RAD(-90), RAD(90)}, {RAD(-90), RAD(20)},
    {RAD(-90), RAD(90)},
     {RAD(-70), RAD(20)},

    
    {RAD(-10), RAD(90)}, {RAD(-90), RAD(90)}, {RAD(-90), RAD(20)},
    {RAD(-90), RAD(90)},
     {RAD(-70), RAD(20)},

    
    {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 275 of file KHR2Info.h.

const unsigned KHR2Info::PIDJointOffset = 0

The beginning of the PID Joints.

Definition at line 75 of file KHR2Info.h.

const char* const KHR2Info::sensorNames[NumSensors+1]
Initial value:
 {
    "LStress", "RStress",

    
    "LLToe", "LRToe", "LLSole", "LRSole", "LLBack", "LRBack",

    
    "RLToe", "RRToe", "RLSole", "RRSole", "RLBack", "RRBack",

    "BAccel", "LAccel", "DAccel"

    
  }

provides a string name for each sensor

Definition at line 194 of file KHR2Info.h.

const unsigned KHR2Info::SensorsPerFoot = 6

The number of joints per leg.

Definition at line 50 of file KHR2Info.h.

const unsigned int KHR2Info::SoundBufferTime = 32

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

Definition at line 32 of file KHR2Info.h.

const char *const KHR2Info::TargetName = "KHR2"

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

Definition at line 158 of file RobotInfo.cc.


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