Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

CreateInfo Namespace Reference


Detailed Description

Contains information about an iRobot Create, such as number of joints, timing information, etc.


Output Offsets

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

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. More...
const unsigned PIDJointOffset = 0
 The beginning of the PID Joints.
const unsigned WheelOffset = PIDJointOffset
const unsigned LEDOffset = PIDJointOffset + NumPIDJoints
 the offset of LEDs in WorldState::outputs and MotionCommand functions, see LedOffset_t for specific offsets
const unsigned MODE_OFFSET = LEDOffset + NumLEDs
const unsigned DEMO_OFFSET = MODE_OFFSET+1
const unsigned BaseFrameOffset = NumOutputs
 Use with kinematics to refer to base 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
typedef unsigned int LEDBitMask_t

Input Offsets

The order in which inputs should be stored

enum  ButtonOffset_t {
  PLAY_OFFSET, ADVANCE_OFFSET, WALL_OFFSET, DROP_CASTER_OFFSET,
  DROP_LEFT_WHEEL_OFFSET, DROP_RIGHT_WHEEL_OFFSET, BUMP_LEFT_OFFSET, BUMP_RIGHT_OFFSET,
  OVERCURRENT_LEFT_WHEEL_OFFSET, OVERCURRENT_RIGHT_WHEEL_OFFSET, LOW_SIDE_DRIVER_0_OFFSET, LOW_SIDE_DRIVER_1_OFFSET,
  LOW_SIDE_DRIVER_2_OFFSET, BASE_CHARGER_OFFSET, INTERNAL_CHARGER_OFFSET
}
 holds offsets to different buttons in WorldState::buttons[] More...
enum  SensorOffset_t {
  DIGITAL0_INPUTS_OFFSET, DIGITAL1_INPUTS_OFFSET, DIGITAL2_INPUTS_OFFSET, DIGITAL3_INPUTS_OFFSET,
  ANALOG_SIGNAL_OFFSET, WALL_SIGNAL_OFFSET, IR_COMM_OFFSET, CLIFF_LEFT_SIGNAL_OFFSET,
  CLIFF_FRONT_LEFT_SIGNAL_OFFSET, CLIFF_FRONT_RIGHT_SIGNAL_OFFSET, CLIFF_RIGHT_SIGNAL_OFFSET, ENCODER_DISTANCE_OFFSET,
  ENCODER_ANGLE_OFFSET, VOLTAGE_OFFSET, CURRENT_OFFSET, BATTERY_CHARGE_OFFSET,
  BATTERY_TEMP_OFFSET, CHARGING_STATE_OFFSET
}
 holds offset to different sensor values in WorldState::sensors[] More...
enum  IRComm_t {
  IR_REMOTE_LEFT = 129, IR_REMOTE_FORWARD, IR_REMOTE_RIGHT, IR_REMOTE_SPOT,
  IR_REMOTE_MAX, IR_REMOTE_SMALL, IR_REMOTE_MEDIUM, IR_REMOTE_LARGE,
  IR_REMOTE_PAUSE, IR_REMOTE_POWER, IR_REMOTE_ARC_LEFT, IR_REMOTE_ARC_RIGHT,
  IR_REMOTE_STOP, IR_REMOTE_SEND, IR_REMOTE_DOCK, IR_BASE_RED = 248,
  IR_BASE_GREEN = 244, IR_BASE_FORCE = 242, IR_BASE_RED_GREEN = 252, IR_BASE_RED_FORCE = 250,
  IR_BASE_GREEN_FORCE = 246, IR_BASE_RED_GREEN_FORCE = 254
}
 holds offsets to different buttons in WorldState::buttons[] More...
enum  ChargingState_t {
  CHARGING_OFF, CHARGING_RECONDITIONING, CHARGING_FULL, CHARGING_TRICKLE,
  CHARGING_WAITING, CHARGING_FAULT
}
 holds offsets to different buttons in WorldState::buttons[] More...
const char *const buttonNames [NumButtons+1] = { NULL }
 Provides a string name for each button.
const char *const sensorNames [NumSensors]
 Provides a string name for each sensor.

Enumerations

enum  InterfaceMode_t { MODE_SAFE, MODE_FULL, MODE_PASSIVE, MODE_OFF }

Functions

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

Variables

const char *const TargetName = "Create"
 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 SoundBufferTime = 32
 the number of milliseconds per sound buffer... I'm not sure if this can be changed
const char *const outputNames [NumOutputs]
 Names for each of the outputs.
Capabilities 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 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).
Output Types Information
const unsigned NumWheels = 2
const unsigned JointsPerArm = 0
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 = 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 = 0
 the number of buttons that are available, 2 head, 4 paws, 3 back, 1 underbelly see ERS7Info::ButtonOffset_t
const unsigned NumSensors = 18
 the number of sensors available
const unsigned NumLEDs = 2
 The number of LEDs which can be controlled.
const unsigned NumFacePanelLEDs = 0
 The number of face panel LEDs.
const unsigned NumPIDJoints = 0
 servo pins
const unsigned NumOutputs = NumWheels + 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


Typedef Documentation

typedef unsigned int CreateInfo::LEDBitMask_t

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

Definition at line 89 of file CreateInfo.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:
PLAY_OFFSET  1 if play button is down
ADVANCE_OFFSET  1 if advance button is down
WALL_OFFSET  1 if wall is detected (note correspondence to WALL_SIGNAL_OFFSET's value, avoiding problems if the two are swapped)
DROP_CASTER_OFFSET  1 if caster detects dropoff
DROP_LEFT_WHEEL_OFFSET  1 if left wheel detects dropoff
DROP_RIGHT_WHEEL_OFFSET  1 if right wheel detects dropoff
BUMP_LEFT_OFFSET  1 if left bumper is pressed
BUMP_RIGHT_OFFSET  1 if right bumper is pressed
OVERCURRENT_LEFT_WHEEL_OFFSET  1 if the left wheel is drawing more than 1 amp
OVERCURRENT_RIGHT_WHEEL_OFFSET  1 if the right wheel is drawing more than 1 amp
LOW_SIDE_DRIVER_0_OFFSET  1 if low side driver 0 is pulling more than 0.5 amps
LOW_SIDE_DRIVER_1_OFFSET  1 if low side driver 1 is pulling more than 0.5 amps
LOW_SIDE_DRIVER_2_OFFSET  1 if low side driver 2 is pulling more than 1.6 amps
BASE_CHARGER_OFFSET  1 if the home base charger is available
INTERNAL_CHARGER_OFFSET  1 if the internal charger is available

Definition at line 116 of file CreateInfo.h.

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

Should be a straight mapping to the ButtonSourceIDs

See also:
WorldState::buttons
Enumerator:
CHARGING_OFF 
CHARGING_RECONDITIONING 
CHARGING_FULL 
CHARGING_TRICKLE 
CHARGING_WAITING 
CHARGING_FAULT 

Definition at line 189 of file CreateInfo.h.

Enumerator:
MODE_SAFE 
MODE_FULL 
MODE_PASSIVE 
MODE_OFF 

Definition at line 96 of file CreateInfo.h.

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

Should be a straight mapping to the ButtonSourceIDs

See also:
WorldState::buttons
Enumerator:
IR_REMOTE_LEFT 
IR_REMOTE_FORWARD 
IR_REMOTE_RIGHT 
IR_REMOTE_SPOT 
IR_REMOTE_MAX 
IR_REMOTE_SMALL 
IR_REMOTE_MEDIUM 
IR_REMOTE_LARGE 
IR_REMOTE_PAUSE 
IR_REMOTE_POWER 
IR_REMOTE_ARC_LEFT 
IR_REMOTE_ARC_RIGHT 
IR_REMOTE_STOP 
IR_REMOTE_SEND 
IR_REMOTE_DOCK 
IR_BASE_RED 
IR_BASE_GREEN 
IR_BASE_FORCE 
IR_BASE_RED_GREEN 
IR_BASE_RED_FORCE 
IR_BASE_GREEN_FORCE 
IR_BASE_RED_GREEN_FORCE 

Definition at line 160 of file CreateInfo.h.

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.

Definition at line 86 of file CreateInfo.h.

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

See also:
WorldState::sensors[]
Enumerator:
DIGITAL0_INPUTS_OFFSET  the digital input pins in bits 0 through 4
DIGITAL1_INPUTS_OFFSET  the digital input pins in bits 0 through 4
DIGITAL2_INPUTS_OFFSET  the digital input pins in bits 0 through 4
DIGITAL3_INPUTS_OFFSET  the digital input pins in bits 0 through 4
ANALOG_SIGNAL_OFFSET  voltage on cargo bay pin 4
WALL_SIGNAL_OFFSET  strength of the wall sensor's signal (note correspondence to WALL_OFFSET's value, avoid problems if the two are swapped)
IR_COMM_OFFSET  value received by the infrared communication receiver, see IRComm_t for values sent by standard hardware
CLIFF_LEFT_SIGNAL_OFFSET  strength of the left cliff sensor
CLIFF_FRONT_LEFT_SIGNAL_OFFSET  strength of the front left cliff sensor
CLIFF_FRONT_RIGHT_SIGNAL_OFFSET  strength of the front right cliff sensor
CLIFF_RIGHT_SIGNAL_OFFSET  strength of the right cliff sensor
ENCODER_DISTANCE_OFFSET  average distance (mm) traveled by the wheels since last update
ENCODER_ANGLE_OFFSET  average angle (radians) rotated since the last update
VOLTAGE_OFFSET  mV measured at battery
CURRENT_OFFSET  mA flowing into battery (negative when discharging)
BATTERY_CHARGE_OFFSET  mAh remaining in battery (may not be accurate with alkaline battery pack)
BATTERY_TEMP_OFFSET  degrees celsius
CHARGING_STATE_OFFSET  one of ChargingState_t

Definition at line 139 of file CreateInfo.h.

Enumerator:
LWheelOffset 
RWheelOffset 

Definition at line 79 of file CreateInfo.h.


Function Documentation


Variable Documentation

selects all of the leds

Definition at line 93 of file CreateInfo.h.

Use with kinematics to refer to base reference frame.

Definition at line 77 of file CreateInfo.h.

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

Provides a string name for each button.

Definition at line 135 of file CreateInfo.h.

should be set to maximum of CameraHorizFOV or CameraVertFOV

Definition at line 55 of file CreateInfo.h.

const float CreateInfo::CameraHorizFOV = 56.9/180*M_PI

horizontal field of view (radians)

Definition at line 53 of file CreateInfo.h.

const unsigned int CreateInfo::CameraResolutionX = 320

the number of pixels available in the 'full' layer

Definition at line 56 of file CreateInfo.h.

const unsigned int CreateInfo::CameraResolutionY = 240

the number of pixels available in the 'full' layer

Definition at line 57 of file CreateInfo.h.

const float CreateInfo::CameraVertFOV = 45.2/180*M_PI

vertical field of view (radians)

Definition at line 54 of file CreateInfo.h.

Initial value:

 {
    {0,0,0} 
  }
This table holds the default PID values for each joint. see PIDMC.

Definition at line 235 of file CreateInfo.h.

Definition at line 75 of file CreateInfo.h.

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

Definition at line 91 of file CreateInfo.h.

const unsigned int CreateInfo::FrameTime = 15

time between frames in the motion system (milliseconds)

Definition at line 25 of file CreateInfo.h.

const unsigned CreateInfo::JointsPerArm = 0

Definition at line 32 of file CreateInfo.h.

const unsigned CreateInfo::JointsPerLeg = 0

The number of joints per leg.

Definition at line 36 of file CreateInfo.h.

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

Definition at line 72 of file CreateInfo.h.

Initial value:

 {
    1<<8,
    1<<8,
    1<<8,
    1<<8,
  }
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 246 of file CreateInfo.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 outputRanges, don't know actual values because they were never specified by Sony

Definition at line 271 of file CreateInfo.h.

Definition at line 74 of file CreateInfo.h.

Definition at line 34 of file CreateInfo.h.

const unsigned CreateInfo::NumArms = 0

Definition at line 33 of file CreateInfo.h.

const unsigned CreateInfo::NumButtons = 0

the number of buttons that are available, 2 head, 4 paws, 3 back, 1 underbelly see ERS7Info::ButtonOffset_t

Definition at line 43 of file CreateInfo.h.

const unsigned CreateInfo::NumEarJoints = 0

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

Definition at line 42 of file CreateInfo.h.

const unsigned CreateInfo::NumFacePanelLEDs = 0

The number of face panel LEDs.

Definition at line 46 of file CreateInfo.h.

const unsigned int CreateInfo::NumFrames = 1

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

Definition at line 26 of file CreateInfo.h.

const unsigned CreateInfo::NumHeadJoints = 0

The number of joints in the neck.

Definition at line 39 of file CreateInfo.h.

const unsigned CreateInfo::NumLEDs = 2

The number of LEDs which can be controlled.

Definition at line 45 of file CreateInfo.h.

the TOTAL number of joints on ALL legs

Definition at line 38 of file CreateInfo.h.

const unsigned CreateInfo::NumLegs = 0

The number of legs.

Definition at line 37 of file CreateInfo.h.

const unsigned CreateInfo::NumMouthJoints = 0

the number of joints that control the mouth

Definition at line 41 of file CreateInfo.h.

the total number of outputs

Definition at line 49 of file CreateInfo.h.

const unsigned CreateInfo::NumPIDJoints = 0

servo pins

Definition at line 48 of file CreateInfo.h.

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

Definition at line 50 of file CreateInfo.h.

const unsigned CreateInfo::NumSensors = 18

the number of sensors available

Definition at line 44 of file CreateInfo.h.

const unsigned CreateInfo::NumTailJoints = 0

The number of joints assigned to the tail.

Definition at line 40 of file CreateInfo.h.

const unsigned CreateInfo::NumWheels = 2

Definition at line 30 of file CreateInfo.h.

const char* const CreateInfo::outputNames[NumOutputs]

Initial value:

 {
    "WHEEL:L",
    "WHEEL:R",
    "LED:00000",
    "LED:00001",
  }
Names for each of the outputs.

Definition at line 224 of file CreateInfo.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 261 of file CreateInfo.h.

const unsigned CreateInfo::PIDJointOffset = 0

The beginning of the PID Joints.

Definition at line 69 of file CreateInfo.h.

const char* const CreateInfo::sensorNames[NumSensors]

Initial value:

 { 
    "DigitalIn0",
    "DigitalIn1",
    "DigitalIn2",
    "DigitalIn3",
    "AnalogIn",
    "WallSignal",
    "IR",
    "CliffLeftSignal",
    "CliffFrontLeftSignal",
    "CliffFrontRightSignal",
    "CliffRight",
    "Distance",
    "Angle",
    "BatteryVoltage",
    "BatteryCurrent",
    "BatteryCharge",
    "BatteryTemp",
    "ChargingState",
  }
Provides a string name for each sensor.

Definition at line 199 of file CreateInfo.h.

const unsigned int CreateInfo::SoundBufferTime = 32

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

Definition at line 27 of file CreateInfo.h.

const char *const CreateInfo::TargetName = "Create"

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

Definition at line 61 of file RobotInfo.cc.

Definition at line 70 of file CreateInfo.h.


Tekkotsu v4.0
Generated Thu Nov 22 00:58:50 2007 by Doxygen 1.5.4