Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

KHR2Info.h File Reference

Defines some capabilities of the KHR2 humanoid robots. More...

#include <cmath>
#include <stdlib.h>
#include "CommonInfo.h"
Include dependency graph for KHR2Info.h:

Go to the source code of this file.

Namespaces

namespace  KHR2Info
 

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


Variables

const char *const KHR2Info::TargetName = "KHR2"
 the name of the model, to be used for logging and remote GUIs
const unsigned int KHR2Info::FrameTime = 32
 time between frames in the motion system (milliseconds)
const unsigned int KHR2Info::NumFrames = 1
 the number of frames per buffer (don't forget also double buffered)
const unsigned int KHR2Info::SoundBufferTime = 32
 the number of milliseconds per sound buffer... I'm not sure if this can be changed
Output Types Information

const unsigned KHR2Info::NumWheels = 0
 The number of joints per leg.
const unsigned KHR2Info::FingerJointsPerArm = 0
 The number of joints per leg.
const unsigned KHR2Info::JointsPerArm = 3
 The number of joints per leg.
const unsigned KHR2Info::NumArms = 2
 The number of joints per leg.
const unsigned KHR2Info::NumArmJoints = JointsPerArm*NumArms
 The number of joints per leg.
const unsigned KHR2Info::JointsPerLeg = 5
 The number of joints per leg.
const unsigned KHR2Info::NumLegs = 2
 The number of legs.
const unsigned KHR2Info::NumLegJoints = JointsPerLeg*NumLegs
 the TOTAL number of joints on ALL legs 10
const unsigned KHR2Info::NumHeadJoints = 1
 The number of joints in the pantilt 1.
const unsigned KHR2Info::NumTailJoints = 0
 The number of joints assigned to the tail.
const unsigned KHR2Info::NumMouthJoints = 0
 the number of joints that control the mouth
const unsigned KHR2Info::NumEarJoints = 0
 The number of joints which control the ears (NOT per ear, is total).
const unsigned KHR2Info::NumButtons = 0
 the number of buttons that are available
const unsigned KHR2Info::SensorsPerFoot = 6
 The number of joints per leg.
const unsigned KHR2Info::NumIMUAxes = 3
 The number of joints per leg.
const unsigned KHR2Info::NumFootSensors = SensorsPerFoot*NumLegs
 The number of joints per leg.
const unsigned KHR2Info::NumSensors = NumArms + NumLegs*6 + 3
 The number of joints per leg.
const unsigned KHR2Info::NumFacePanelLEDs = 0
 The number of face panel LEDs.
const unsigned KHR2Info::NumLEDs = 0
 The number of joints per leg.
const unsigned KHR2Info::NumPIDJoints = NumArmJoints+NumLegJoints+NumHeadJoints
 servo pins 15
const unsigned KHR2Info::NumOutputs = NumWheels + NumPIDJoints + NumLEDs
 the total number of outputs 17
const unsigned KHR2Info::NumReferenceFrames = NumOutputs + NumLegs + NumArms + 1 + 1
 for the feet (NumLegs), arms, base, and camera 23
const float KHR2Info::BallOfFootRadius = 23.433f / 2
 radius of the ball of the foot

Input Offsets

The order in which inputs should be stored



#define RAD(deg)   (((deg) * (float)M_PI ) / 180.0f)
 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?
enum  KHR2Info::ButtonOffset_t
 

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

More...
enum  KHR2Info::SensorOffset_t {
  KHR2Info::LStressOffset, KHR2Info::RStressOffset, KHR2Info::LLToeOffset, KHR2Info::LRToeOffset,
  KHR2Info::LLSoleOffset, KHR2Info::LRSoleOffset, KHR2Info::LLBackOffset, KHR2Info::LRBackOffset,
  KHR2Info::RLToeOffset, KHR2Info::RRToeOffset, KHR2Info::RLSoleOffset, KHR2Info::RRSoleOffset,
  KHR2Info::RLBackOffset, KHR2Info::RRBackOffset, KHR2Info::BAccelOffset, KHR2Info::LAccelOffset,
  KHR2Info::DAccelOffset
}
const char *const KHR2Info::buttonNames [NumButtons+1] = {NULL}
 Provides a string name for each button.
const char *const KHR2Info::sensorNames [NumSensors+1]
 provides a string name for each sensor
const char *const KHR2Info::outputNames [NumReferenceFrames+1]
 names for each of the outputs
const Capabilities KHR2Info::capabilities
 allocation declared in RobotInfo.cc
const float KHR2Info::DefaultPIDs [NumPIDJoints][3]
 this table holds the default PID values for each joint; see PIDMC
const float KHR2Info::MaxOutputSpeed [NumOutputs]
 These values are our recommended maximum joint velocities, in rad/ms.
const float KHR2Info::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 KHR2Info::mechanicalLimits [NumOutputs][2]

Output Offsets

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



enum  KHR2Info::ArmOrder_t { KHR2Info::LeftArmOrder = 0, KHR2Info::RightArmOrder }
 

the ordering of arms

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

the ordering of legs

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

the ordering of arms

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

the ordering of arms

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

the ordering of arms

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

the ordering of arms

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

the ordering of arms

More...
enum  KHR2Info::HeadOffset_t { KHR2Info::HeadPanOffset = HeadOffset }
 

the ordering of arms

More...
enum  KHR2Info::LEDOffset_t
 

the ordering of arms

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

Detailed Description

Defines some capabilities of the KHR2 humanoid robots.

Author
dst
Name
Revision
1.5
State
Exp
Date
2013-05-02 03:56:40

Definition in file KHR2Info.h.


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

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

Just a little macro for converting degrees to radians.

Definition at line 269 of file KHR2Info.h.


Tekkotsu v5.1CVS
Generated Mon May 9 04:58:57 2016 by Doxygen 1.6.3