Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

QwerkInfo Namespace Reference


Output Offsets

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

typedef unsigned int LEDBitMask_t
enum  WheelOffset_t { LWheelOffset = WheelOffset, RWheelOffset }
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 WheelOffset = PIDJointOffset
const unsigned ArmOffset = WheelOffset+NumWheels
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 NumWheels = 2
const unsigned JointsPerArm = 1
const unsigned NumArms = 0
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 = 2
 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 = NumWheels + 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 = "Qwerk"
 the name of the model, to be used for logging and remote GUIs
const unsigned int FrameTime = 15
 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 = 15
 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 our 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 QwerkInfo::LEDBitMask_t

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

Definition at line 105 of file QwerkInfo.h.


Enumeration Type Documentation

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

Definition at line 85 of file QwerkInfo.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 131 of file QwerkInfo.h.

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

See also:
WorldState::sensors[]

Definition at line 138 of file QwerkInfo.h.


Variable Documentation

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

Definition at line 69 of file QwerkInfo.h.

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

Definition at line 70 of file QwerkInfo.h.

const char* const QwerkInfo::outputNames[NumOutputs]

Initial value:

 {
    "WHEEL:L~~",
    "WHEEL:R~~",
    "NECK:tilt",
    "NECK:pan~"
  }
A name of uniform length for referring to joints - handy for posture files, etc.

Definition at line 149 of file QwerkInfo.h.

Initial value:

 {
    {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 157 of file QwerkInfo.h.

Initial value:

 {
    1e-3, 
    1e-3,
    3.14e-3, 
    6.28e-3,
  }
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

Definition at line 171 of file QwerkInfo.h.

Initial value:

    {
      { -1 , 1 },
      { -1 , 1 },
      { 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 186 of file QwerkInfo.h.

Initial value:

    {
      { -1 , 1 },
      { -1 , 1 },
      { 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 outputLimits, don't know actual values because they were never specified by Sony

Definition at line 196 of file QwerkInfo.h.


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