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).
|
|
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
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
Capabilities CreateInfo::capabilities |
( |
TargetName |
, |
|
|
NumOutputs |
, |
|
|
outputNames |
, |
|
|
NumButtons |
, |
|
|
buttonNames |
, |
|
|
NumSensors |
, |
|
|
sensorNames |
, |
|
|
PIDJointOffset |
, |
|
|
NumPIDJoints |
, |
|
|
LEDOffset |
, |
|
|
NumLEDs |
| |
|
) |
| | |
Referenced by PostureMC::defaultMaxSpeed(), HeadPointerMC::defaultMaxSpeed(), EmergencyStopMC::EmergencyStopMC(), EmergencyStopMC::freezeJoints(), PostureEngine::loadBuffer(), PostureEngine::loadLine(), WalkToTargetNode::processEvent(), HeadPointControllerBehavior::runCommand(), RunSequenceControl< SequenceSize >::selectedFile(), LoadPostureControl::selectedFile(), BatteryMonitorBehavior::setFlipper(), HeadPointerMC::setJoints(), EmergencyStopMC::trigger(), and TailWagMC::updateOutputs().
Variable Documentation
Use with kinematics to refer to base reference frame.
Definition at line 77 of file CreateInfo.h.
Provides a string name for each button.
Definition at line 135 of file CreateInfo.h.
horizontal field of view (radians)
Definition at line 53 of file CreateInfo.h.
the number of pixels available in the 'full' layer
Definition at line 56 of file CreateInfo.h.
the number of pixels available in the 'full' layer
Definition at line 57 of file CreateInfo.h.
vertical field of view (radians)
Definition at line 54 of file CreateInfo.h.
Capabilities CreateInfo::capabilities(TargetName, NumOutputs, outputNames, NumButtons, buttonNames, NumSensors, sensorNames, PIDJointOffset, NumPIDJoints, LEDOffset, NumLEDs) |
Initial value: This table holds the default PID values for each joint. see PIDMC.
Definition at line 235 of file CreateInfo.h.
LEDs for the face panel (all FaceLEDPanelMask<<(0:NumFacePanelLEDs-1) entries).
Definition at line 91 of file CreateInfo.h.
time between frames in the motion system (milliseconds)
Definition at line 25 of file CreateInfo.h.
The number of joints per leg.
Definition at line 36 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.
The number of joints which control the ears (NOT per ear, is total).
Definition at line 42 of file CreateInfo.h.
The number of face panel LEDs.
Definition at line 46 of file CreateInfo.h.
the number of frames per buffer (don't forget also double buffered)
Definition at line 26 of file CreateInfo.h.
The number of joints in the neck.
Definition at line 39 of file CreateInfo.h.
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.
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.
for the base, gripper (* NumArms), and camera reference frames
Definition at line 50 of file CreateInfo.h.
the number of sensors available
Definition at line 44 of file CreateInfo.h.
The number of joints assigned to the tail.
Definition at line 40 of file CreateInfo.h.
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.
The beginning of the PID Joints.
Definition at line 69 of file CreateInfo.h.
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.
the number of milliseconds per sound buffer... I'm not sure if this can be changed
Definition at line 27 of file CreateInfo.h.
the name of the model, to be used for logging and remote GUIs
Definition at line 61 of file RobotInfo.cc.
|