Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

CalliopeUInfo Namespace Reference

Contains information about the CalliopeU, such as number of joints, LEDs, etc. More...

Classes

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

Variables

const char *const TargetName = "CalliopeU"
 the name of the model, to be used for logging and remote GUIs
const unsigned int FrameTime = 30
 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 fmat::Column< 3 > AgentBoundingBoxBaseFrameOffset = fmat::pack(0,0,0)
 Offset needed so that the centroid of the robot is correct related to the bounding box.
const fmat::Column< 3 > AgentBoundingBoxHalfDims = fmat::pack(304.8/2, 304.8/2, 0)
 Half of the length, width, and height of the robot without gadgets (E.G arms).
const char *const outputNames [NumReferenceFrames+1]
 Names for each of the outputs.
const CalliopeUCapabilities capabilities
 allocation declared in RobotInfo.cc
const float DefaultPIDs [NumPIDJoints+1][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]
 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 FingerJointsPerArm = 0
 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 = 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 = 11
 the number of buttons that are available
const unsigned NumSensors = 42
 the number of sensors available
const unsigned NumLEDs = 4
 The number of LEDs which can be controlled.
const unsigned NumFacePanelLEDs = 0
 The number of face panel LEDs.
const unsigned NumPIDJoints = NumWheels
 servo pins
const unsigned NumOutputs = NumPIDJoints + NumLEDs
 the total number of outputs
const unsigned NumReferenceFrames = NumOutputs + 1 + NumArms + 1
 for the base, gripper (* NumArms), and Camera
const float wheelBase = 230.0
 Kobuki wheel base in mm.
const float wheelRadius = 35.0
 Kobuki wheel radius in mm.
const float tickToRad = 0.002436916871363930187454f
 The number of joints per leg.

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 { SpeedOffset = WheelOffset, RadiusOffset }
 

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  LEDOffset_t { RedLED1Offset = LEDOffset, GreenLED1Offset, RedLED2Offset, GreenLED2Offset }
 

The offsets of the individual LEDs.

More...
typedef unsigned int LEDBitMask_t
 So you can be clear when you're refering to a LED bitmask.
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 = HeadOffset+NumHeadJoints
 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 ModeOffset = LEDOffset + NumLEDs
 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 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 LEDOffset_t RedLEDOffset = RedLED1Offset
 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 LEDOffset_t YellowLEDOffset = RedLED2Offset
 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 LEDOffset_t GreenLEDOffset = GreenLED1Offset
 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 LEDOffset_t BlueLEDOffset = GreenLED2Offset
 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 LEDBitMask_t RedLEDMask = 1<<(RedLED1Offset-LEDOffset)
 mask corresponding to RedLEDOffset
const LEDBitMask_t YellowLEDMask = 1<<(RedLED2Offset-LEDOffset)
 mask corresponding to YellowLEDOffset
const LEDBitMask_t GreenLEDMask = 1<<(GreenLED1Offset-LEDOffset)
 mask corresponding to GreenLEDOffset
const LEDBitMask_t BlueLEDMask = (1<<(GreenLED2Offset-LEDOffset))
 mask corresponding to BlueLEDOffset
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 {
  B0ButOffset, B1ButOffset, B2ButOffset, DropLeftWheelButOffset,
  DropRightWheelButOffset, BumpLeftButOffset, BumpRightButOffset, BumpCenterButOffset,
  CliffLeftButOffset, CliffRightButOffset, CliffCenterButOffset
}
 

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

More...
enum  SensorOffset_t {
  LeftEncoderOffset, RightEncoderOffset, LeftPwmOffset, RightPwmOffset,
  ChargerOffset, BatteryOffset, OverCurrentOffset, Docking0Offset,
  Docking1Offset, Docking2Offset, AngleOffset, AngleRateOffset,
  Acc0Offset, Acc1Offset, Acc2Offset, Bottom0Offset,
  Bottom1Offset, Bottom2Offset, Current0Offset, Current1Offset,
  FrameIdOffset, FollowedDataLenghtOffset, GyroParam0Offset, GyroParam1Offset,
  GyroParam2Offset, GyroParam3Offset, GyroParam4Offset, GyroParam5Offset,
  GyroParam6Offset, GyroParam7Offset, GyroParam8Offset, DigitalInputOffset,
  AnalogInput0Offset, AnalogInput1Offset, AnalogInput2Offset, AnalogInput3Offset,
  AnalogInput4Offset, AnalogInput5Offset, AnalogInput6Offset, GPSXOffset,
  GPSYOffset, GPSHeadingOffset
}
 

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

More...
const ButtonOffset_t GreenButOffset = B0ButOffset
 holds offsets to different buttons in WorldState::buttons[]
const ButtonOffset_t YellowButOffset = B1ButOffset
 holds offsets to different buttons in WorldState::buttons[]
const ButtonOffset_t RedButOffset = B2ButOffset
 holds offsets to different buttons in WorldState::buttons[]
const char *const buttonNames [NumButtons+1]
 Provides a string name for each button.
const char *const sensorNames [NumSensors+1]
 Provides a string name for each sensor.

Detailed Description

Contains information about the CalliopeU, such as number of joints, LEDs, etc.


Typedef Documentation

typedef unsigned int CalliopeUInfo::LEDBitMask_t

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

Definition at line 114 of file CalliopeUInfo.h.


Enumeration Type Documentation

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

Should be a straight mapping to the ButtonSourceIDs

See also:
WorldState::buttons
Enumerator:
B0ButOffset 

1 if play button is down

B1ButOffset 

1 if advance button is down

B2ButOffset 

1 if advance button is down

DropLeftWheelButOffset 

1 if left wheel detects dropoff

DropRightWheelButOffset 

1 if right wheel detects dropoff

BumpLeftButOffset 

1 if left bumper is pressed

BumpRightButOffset 

1 if right bumper is pressed

BumpCenterButOffset 

1 if center bumber is pressed

CliffLeftButOffset 
CliffRightButOffset 
CliffCenterButOffset 

Definition at line 148 of file CalliopeUInfo.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 90 of file CalliopeUInfo.h.

The offsets of the individual LEDs.

Enumerator:
RedLED1Offset 
GreenLED1Offset 
RedLED2Offset 
GreenLED2Offset 

Definition at line 102 of file CalliopeUInfo.h.

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

See also:
WorldState::sensors[]
Enumerator:
LeftEncoderOffset 

Core Sensors.

RightEncoderOffset 
LeftPwmOffset 
RightPwmOffset 
ChargerOffset 
BatteryOffset 
OverCurrentOffset 
Docking0Offset 

Dock IR.

Docking1Offset 
Docking2Offset 
AngleOffset 

Inertia.

AngleRateOffset 
Acc0Offset 
Acc1Offset 
Acc2Offset 
Bottom0Offset 

Cliff.

Bottom1Offset 
Bottom2Offset 
Current0Offset 

Current.

Current1Offset 
FrameIdOffset 

Three Axis Gyro.

FollowedDataLenghtOffset 
GyroParam0Offset 
GyroParam1Offset 
GyroParam2Offset 
GyroParam3Offset 
GyroParam4Offset 
GyroParam5Offset 
GyroParam6Offset 
GyroParam7Offset 
GyroParam8Offset 
DigitalInputOffset 

GpInput.

AnalogInput0Offset 
AnalogInput1Offset 
AnalogInput2Offset 
AnalogInput3Offset 
AnalogInput4Offset 
AnalogInput5Offset 
AnalogInput6Offset 
GPSXOffset 

x-coordinate of robot from GPS or Mirage

GPSYOffset 

y-coordinate of robot from GPS or Mirage

GPSHeadingOffset 

heading of robot from GPS or Mirage

Definition at line 185 of file CalliopeUInfo.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 83 of file CalliopeUInfo.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:
SpeedOffset 
RadiusOffset 

Definition at line 95 of file CalliopeUInfo.h.


Variable Documentation

Offset needed so that the centroid of the robot is correct related to the bounding box.

Definition at line 130 of file CalliopeUInfo.h.

const fmat::Column<3> CalliopeUInfo::AgentBoundingBoxHalfDims = fmat::pack(304.8/2, 304.8/2, 0)

Half of the length, width, and height of the robot without gadgets (E.G arms).

Definition at line 133 of file CalliopeUInfo.h.

selects all of the leds

Definition at line 126 of file CalliopeUInfo.h.

Use with kinematics to refer to base reference frame.

Definition at line 79 of file CalliopeUInfo.h.

const LEDBitMask_t CalliopeUInfo::BlueLEDMask = (1<<(GreenLED2Offset-LEDOffset))

mask corresponding to BlueLEDOffset

Definition at line 119 of file CalliopeUInfo.h.

const LEDOffset_t CalliopeUInfo::BlueLEDOffset = GreenLED2Offset

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 112 of file CalliopeUInfo.h.

const char* const CalliopeUInfo::buttonNames[NumButtons+1]
Initial value:
 { 
    "Button0", 
    "Button1",
    "Button2",
    "LeftWheelDrop", 
    "RightWheelDrop",
    "BumpLeft", 
    "BumpRight", 
    "BumpCenter",
    "CliffLeft",
    "CliffRight",
    "CliffCenter",
    NULL
  }

Provides a string name for each button.

Definition at line 168 of file CalliopeUInfo.h.

Use with kinematics to refer to camera reference frame.

Definition at line 80 of file CalliopeUInfo.h.

allocation declared in RobotInfo.cc

Definition at line 104 of file RobotInfo.cc.

Initial value:
 {
    {1,0,0},
    {1,0,0},
  }

This table holds the default PID values for each joint. see PIDMC.

Definition at line 338 of file CalliopeUInfo.h.

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

Definition at line 124 of file CalliopeUInfo.h.

The number of joints per leg.

Definition at line 35 of file CalliopeUInfo.h.

const unsigned int CalliopeUInfo::FrameTime = 30

time between frames in the motion system (milliseconds)

Definition at line 28 of file CalliopeUInfo.h.

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

Should be a straight mapping to the ButtonSourceIDs

See also:
WorldState::buttons

Definition at line 163 of file CalliopeUInfo.h.

const LEDBitMask_t CalliopeUInfo::GreenLEDMask = 1<<(GreenLED1Offset-LEDOffset)

mask corresponding to GreenLEDOffset

Definition at line 118 of file CalliopeUInfo.h.

const LEDOffset_t CalliopeUInfo::GreenLEDOffset = GreenLED1Offset

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 111 of file CalliopeUInfo.h.

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

Definition at line 73 of file CalliopeUInfo.h.

const unsigned CalliopeUInfo::JointsPerArm = 0

The number of joints per leg.

Definition at line 36 of file CalliopeUInfo.h.

const unsigned CalliopeUInfo::JointsPerLeg = 0

The number of joints per leg.

Definition at line 40 of file CalliopeUInfo.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).

Definition at line 75 of file CalliopeUInfo.h.

Initial value:
 {
    0, 0,  
    0, 0, 0, 0 
  }

These values are our recommended maximum joint velocities, in rad/ms.

Definition at line 344 of file CalliopeUInfo.h.

Initial value:
    {
      { -500 , 500 },
      { -500 , 500 },
      {  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 369 of file CalliopeUInfo.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).

Definition at line 77 of file CalliopeUInfo.h.

The number of joints per leg.

Definition at line 38 of file CalliopeUInfo.h.

const unsigned CalliopeUInfo::NumArms = 0

The number of joints per leg.

Definition at line 37 of file CalliopeUInfo.h.

const unsigned CalliopeUInfo::NumButtons = 11

the number of buttons that are available

Definition at line 47 of file CalliopeUInfo.h.

const unsigned CalliopeUInfo::NumEarJoints = 0

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

Definition at line 46 of file CalliopeUInfo.h.

const unsigned CalliopeUInfo::NumFacePanelLEDs = 0

The number of face panel LEDs.

Definition at line 50 of file CalliopeUInfo.h.

const unsigned int CalliopeUInfo::NumFrames = 1

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

Definition at line 29 of file CalliopeUInfo.h.

const unsigned CalliopeUInfo::NumHeadJoints = 0

The number of joints in the neck.

Definition at line 43 of file CalliopeUInfo.h.

const unsigned CalliopeUInfo::NumLEDs = 4

The number of LEDs which can be controlled.

Definition at line 49 of file CalliopeUInfo.h.

the TOTAL number of joints on ALL legs

Definition at line 42 of file CalliopeUInfo.h.

const unsigned CalliopeUInfo::NumLegs = 0

The number of legs.

Definition at line 41 of file CalliopeUInfo.h.

const unsigned CalliopeUInfo::NumMouthJoints = 0

the number of joints that control the mouth

Definition at line 45 of file CalliopeUInfo.h.

the total number of outputs

Definition at line 53 of file CalliopeUInfo.h.

servo pins

Definition at line 52 of file CalliopeUInfo.h.

for the base, gripper (* NumArms), and Camera

Definition at line 54 of file CalliopeUInfo.h.

const unsigned CalliopeUInfo::NumSensors = 42

the number of sensors available

Definition at line 48 of file CalliopeUInfo.h.

const unsigned CalliopeUInfo::NumTailJoints = 0

The number of joints assigned to the tail.

Definition at line 44 of file CalliopeUInfo.h.

const unsigned CalliopeUInfo::NumWheels = 2

The number of joints per leg.

Definition at line 33 of file CalliopeUInfo.h.

Initial value:
 {
    "Speed",
    "Radius",
    "LED1:Red",
    "LED1:Green",
    "LED2:Red",
    "LED2:Green",
    "BaseFrame",
    "CameraFrame",
    NULL
  }

Names for each of the outputs.

Definition at line 313 of file CalliopeUInfo.h.

Initial value:
    {
      { -500 , 500 },
      { -500 , 500 },
      {  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 357 of file CalliopeUInfo.h.

const unsigned CalliopeUInfo::PIDJointOffset = 0

The beginning of the PID Joints.

Definition at line 71 of file CalliopeUInfo.h.

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

Should be a straight mapping to the ButtonSourceIDs

See also:
WorldState::buttons

Definition at line 165 of file CalliopeUInfo.h.

const LEDBitMask_t CalliopeUInfo::RedLEDMask = 1<<(RedLED1Offset-LEDOffset)

mask corresponding to RedLEDOffset

Definition at line 116 of file CalliopeUInfo.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).

Definition at line 109 of file CalliopeUInfo.h.

const char* const CalliopeUInfo::sensorNames[NumSensors+1]

Provides a string name for each sensor.

Definition at line 247 of file CalliopeUInfo.h.

const unsigned int CalliopeUInfo::SoundBufferTime = 32

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

Definition at line 30 of file CalliopeUInfo.h.

const char *const CalliopeUInfo::TargetName = "CalliopeU"

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

Definition at line 103 of file RobotInfo.cc.

const float CalliopeUInfo::tickToRad = 0.002436916871363930187454f

The number of joints per leg.

Definition at line 58 of file CalliopeUInfo.h.

Kobuki wheel base in mm.

Definition at line 56 of file CalliopeUInfo.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).

Definition at line 72 of file CalliopeUInfo.h.

Kobuki wheel radius in mm.

Definition at line 57 of file CalliopeUInfo.h.

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

Should be a straight mapping to the ButtonSourceIDs

See also:
WorldState::buttons

Definition at line 164 of file CalliopeUInfo.h.

mask corresponding to YellowLEDOffset

Definition at line 117 of file CalliopeUInfo.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).

Definition at line 110 of file CalliopeUInfo.h.


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