Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

QBotPlusInfo Namespace Reference

Declares configuration of the QwerkBot+, such as number of joints, LEDs, etc. More...

Classes

class  QBotPlusCapabilities
 provides polymorphic robot capability detection/mapping More...

Variables

const char *const TargetName = "QBotPlus"
 the name of the model, to be used for logging and remote GUIs
const unsigned int FrameTime = 25
 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 QBotPlusCapabilities 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/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 = 2
 The number of joints per leg.
const unsigned JointsPerArm = 0
 The number of joints per leg.
const unsigned NumArms = 0
 The number of joints per leg.
const unsigned NumArmJoints = JointsPerArm*NumArms
 The number of joints per leg.
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 movable 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 = 8
 the number of buttons. 4 analog + 4 digital
const unsigned NumSensors = 17
 the number of sensors available. (8 analog + 8 digital + 1 battery)
const unsigned NumLEDs = 14
 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 NumOutputs = NumPIDJoints + NumLEDs
 the total number of outputs
const unsigned NumReferenceFrames = NumOutputs + 1 + NumArms + 1
 for the base, gripper (* NumArms), and camera reference frames

Output Offsets

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



enum  TPROffset_t { PanOffset = 0, TiltOffset, NodOffset = TiltOffset }
 

The offsets of appendages with pan (heading), tilt (elevation), note that this should be added to HeadOffset, otherwise use HeadOffset_t (HeadPanOffset and HeadTiltOffset).

More...
enum  HeadOffset_t { HeadPanOffset = HeadOffset, HeadTiltOffset }
 

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

More...
enum  WheelOffset_t { LWheelOffset = WheelOffset, RWheelOffset }
 

'Absolute' offsets for each of the wheels

More...
enum  LEDOffset_t
 

The offsets of the individual LEDs -- except the qwerk board doesn't have any particularly symbolic LEDs, just use numeric values...

More...
typedef unsigned int LEDBitMask_t
const unsigned PIDJointOffset = 0
 The beginning of the PID Joints.
const unsigned WheelOffset = PIDJointOffset
 The offsets of appendages with pan (heading), tilt (elevation), note that this should be added to HeadOffset, otherwise use HeadOffset_t (HeadPanOffset and HeadTiltOffset).
const unsigned HeadOffset = WheelOffset+NumWheels
 the offset of the beginning of the head joints, add TPROffset_t to get 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 BaseFrameOffset = NumOutputs
 Use with kinematics to refer to base reference frame.
const unsigned CameraFrameOffset = BaseFrameOffset + 1
 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 {
  Button0, Button1, Button2, Button3,
  Button4, Button5, Button6, Button7
}
 

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

More...
enum  SensorOffset_t {
  AnalogInValues0, AnalogInValues1, AnalogInValues2, AnalogInValues3,
  AnalogInValues4, AnalogInValues5, AnalogInValues6, AnalogInValues7,
  DigitalInStates0, DigitalInStates1, DigitalInStates2, DigitalInStates3,
  DigitalInStates4, DigitalInStates5, DigitalInStates6, DigitalInStates7,
  BatteryVoltage
}
 

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

More...
const char *const buttonNames [NumButtons+1]
 Provides a string name for each button.
const char *const sensorNames [NumSensors]
 Provides a string name for each sensor.

Detailed Description

Declares configuration of the QwerkBot+, such as number of joints, LEDs, etc.


Typedef Documentation

typedef unsigned int QBotPlusInfo::LEDBitMask_t

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

Definition at line 101 of file QBotPlusInfo.h.


Enumeration Type Documentation

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
Enumerator:
Button0 
Button1 
Button2 
Button3 
Button4 
Button5 
Button6 
Button7 

Definition at line 127 of file QBotPlusInfo.h.

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

Enumerator:
HeadPanOffset 

pan/heading (horizontal)

HeadTiltOffset 

tilt/elevation (vertical)

Definition at line 86 of file QBotPlusInfo.h.

The offsets of the individual LEDs -- except the qwerk board doesn't have any particularly symbolic LEDs, just use numeric values...

Definition at line 99 of file QBotPlusInfo.h.

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

See also:
WorldState::sensors[]
Enumerator:
AnalogInValues0 
AnalogInValues1 
AnalogInValues2 
AnalogInValues3 
AnalogInValues4 
AnalogInValues5 
AnalogInValues6 
AnalogInValues7 
DigitalInStates0 
DigitalInStates1 
DigitalInStates2 
DigitalInStates3 
DigitalInStates4 
DigitalInStates5 
DigitalInStates6 
DigitalInStates7 
BatteryVoltage 

Definition at line 138 of file QBotPlusInfo.h.

The offsets of appendages with pan (heading), tilt (elevation), note that this should be added to HeadOffset, otherwise use HeadOffset_t (HeadPanOffset and HeadTiltOffset).

Enumerator:
PanOffset 

pan/heading (horizontal)

TiltOffset 

tilt/elevation (vertical)

NodOffset 

replicated tilt (could be left undefined instead...)

Definition at line 79 of file QBotPlusInfo.h.

'Absolute' offsets for each of the wheels

Enumerator:
LWheelOffset 
RWheelOffset 

Definition at line 92 of file QBotPlusInfo.h.


Variable Documentation

selects all of the leds

Definition at line 105 of file QBotPlusInfo.h.

Use with kinematics to refer to base reference frame.

Definition at line 75 of file QBotPlusInfo.h.

const char* const QBotPlusInfo::buttonNames[NumButtons+1]
Initial value:
 
    { "Button0", "Button1", "Button2", "Button3", 
      "Button4", "Button5", "Button6", "Button7", 
      NULL }

Provides a string name for each button.

Definition at line 131 of file QBotPlusInfo.h.

Use with kinematics to refer to camera reference frame.

Definition at line 76 of file QBotPlusInfo.h.

allocation declared in RobotInfo.cc

Definition at line 51 of file RobotInfo.cc.

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 218 of file QBotPlusInfo.h.

LEDs for the face panel (all FaceLEDPanelMask<<(0:NumFacePanelLEDs-1) entries).

Definition at line 103 of file QBotPlusInfo.h.

const unsigned int QBotPlusInfo::FrameTime = 25

time between frames in the motion system (milliseconds)

Definition at line 30 of file QBotPlusInfo.h.

the offset of the beginning of the head joints, add TPROffset_t to get specific joint

Definition at line 71 of file QBotPlusInfo.h.

const unsigned QBotPlusInfo::JointsPerArm = 0

The number of joints per leg.

Definition at line 37 of file QBotPlusInfo.h.

const unsigned QBotPlusInfo::JointsPerLeg = 0

The number of joints per leg.

Definition at line 41 of file QBotPlusInfo.h.

the offset of LEDs in WorldState::outputs and MotionCommand functions, see LedOffset_t for specific offsets

Definition at line 73 of file QBotPlusInfo.h.

Initial value:
 {
    1.f, 
    1.f,
    6.28f, 
    3.14f,

    0,0,0,0,0,0,0,0,0,0 
  }

These values are our 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 232 of file QBotPlusInfo.h.

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

      
      {0,1}, {0,1}, {0,1}, {0,1}, {0,1},
      {0,1}, {0,1}, {0,1}, {0,1}, {0,1},
      {0,1}, {0,1}, {0,1}, {0,1}
    }

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

Definition at line 264 of file QBotPlusInfo.h.

The number of joints per leg.

Definition at line 39 of file QBotPlusInfo.h.

const unsigned QBotPlusInfo::NumArms = 0

The number of joints per leg.

Definition at line 38 of file QBotPlusInfo.h.

const unsigned QBotPlusInfo::NumButtons = 8

the number of buttons. 4 analog + 4 digital

Definition at line 48 of file QBotPlusInfo.h.

const unsigned QBotPlusInfo::NumEarJoints = 0

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

Definition at line 47 of file QBotPlusInfo.h.

const unsigned QBotPlusInfo::NumFacePanelLEDs = 0

The number of face panel LEDs.

Definition at line 51 of file QBotPlusInfo.h.

const unsigned int QBotPlusInfo::NumFrames = 1

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

Definition at line 31 of file QBotPlusInfo.h.

const unsigned QBotPlusInfo::NumHeadJoints = 2

The number of movable joints in the neck.

Definition at line 44 of file QBotPlusInfo.h.

const unsigned QBotPlusInfo::NumLEDs = 14

The number of LEDs which can be controlled.

Definition at line 50 of file QBotPlusInfo.h.

the TOTAL number of joints on ALL legs

Definition at line 43 of file QBotPlusInfo.h.

const unsigned QBotPlusInfo::NumLegs = 0

The number of legs.

Definition at line 42 of file QBotPlusInfo.h.

const unsigned QBotPlusInfo::NumMouthJoints = 0

the number of joints that control the mouth

Definition at line 46 of file QBotPlusInfo.h.

the total number of outputs

Definition at line 54 of file QBotPlusInfo.h.

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

Definition at line 53 of file QBotPlusInfo.h.

for the base, gripper (* NumArms), and camera reference frames

Definition at line 55 of file QBotPlusInfo.h.

const unsigned QBotPlusInfo::NumSensors = 17

the number of sensors available. (8 analog + 8 digital + 1 battery)

Definition at line 49 of file QBotPlusInfo.h.

const unsigned QBotPlusInfo::NumTailJoints = 0

The number of joints assigned to the tail.

Definition at line 45 of file QBotPlusInfo.h.

const unsigned QBotPlusInfo::NumWheels = 2

The number of joints per leg.

Definition at line 35 of file QBotPlusInfo.h.

Initial value:
 {
    "WHEEL:L",
    "WHEEL:R",
    "NECK:pan",
    "NECK:tilt",
    "LED:00000",
    "LED:00001",
    "LED:00002",
    "LED:00003",
    "LED:00004",
    "LED:00005",
    "LED:00006",
    "LED:00007",
    "LED:00008",
    "LED:00009",
    "LED:00010", 
    "LED:00011",
    "LED:00012",
    "LED:00013",
    
    "BaseFrame",
    "CameraFrame",
    NULL
  }

Names for each of the outputs.

Definition at line 173 of file QBotPlusInfo.h.

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

      
      {0,1}, {0,1}, {0,1}, {0,1}, {0,1},
      {0,1}, {0,1}, {0,1}, {0,1}, {0,1},
      {0,1}, {0,1}, {0,1}, {0,1}
    }

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 249 of file QBotPlusInfo.h.

const unsigned QBotPlusInfo::PIDJointOffset = 0

The beginning of the PID Joints.

Definition at line 69 of file QBotPlusInfo.h.

Initial value:
 { 
    "analogInValues0",
    "analogInValues1",
    "analogInValues2",
    "analogInValues3",
    "analogInValues4",
    "analogInValues5",
    "analogInValues6",
    "analogInValues7",
    "digitalInStates0",
    "digitalInStates1",
    "digitalInStates2",
    "digitalInStates3",
    "digitalInStates4",
    "digitalInStates5",
    "digitalInStates6",
    "digitalInStates7",
    "BatteryVoltage"
  }

Provides a string name for each sensor.

Definition at line 149 of file QBotPlusInfo.h.

const unsigned int QBotPlusInfo::SoundBufferTime = 32

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

Definition at line 32 of file QBotPlusInfo.h.

const char *const QBotPlusInfo::TargetName = "QBotPlus"

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

Definition at line 50 of file RobotInfo.cc.

The offsets of appendages with pan (heading), tilt (elevation), note that this should be added to HeadOffset, otherwise use HeadOffset_t (HeadPanOffset and HeadTiltOffset).

Definition at line 70 of file QBotPlusInfo.h.


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