Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

CreateInfo.h File Reference

Defines some capabilities of the iRobot Create robots. More...

#include <cmath>
#include <stdlib.h>
#include "CommonInfo.h"
Include dependency graph for CreateInfo.h:

Go to the source code of this file.

Namespaces

namespace  CreateInfo
 

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


Defines

#define RAD(deg)   (((deg) * (float)M_PI ) / 180.0f)
 Just a little macro for converting degrees to radians.
#define __RI_RAD_FLAG
 a flag so we undef these after we're done - do you have a cleaner solution?

Variables

const char *const CreateInfo::TargetName = "Create"
 the name of the model, to be used for logging and remote GUIs
const unsigned int CreateInfo::FrameTime = 15
 time between frames in the motion system (milliseconds)
const unsigned int CreateInfo::NumFrames = 1
 the number of frames per buffer (don't forget also double buffered)
const unsigned int CreateInfo::SoundBufferTime = 32
 the number of milliseconds per sound buffer... I'm not sure if this can be changed
const fmat::Column< 3 > CreateInfo::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 > CreateInfo::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 CreateInfo::outputNames [NumReferenceFrames+1]
 Names for each of the outputs.
const Capabilities CreateInfo::capabilities
 allocation declared in RobotInfo.cc
const float CreateInfo::DefaultPIDs [NumPIDJoints+1][3]
 This table holds the default PID values for each joint. see PIDMC.
const float CreateInfo::MaxOutputSpeed [NumOutputs]
 These values are our recommended maximum joint velocities, in rad/ms.
const float CreateInfo::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 CreateInfo::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 CreateInfo::NumWheels = 2
 The number of joints per leg.
const unsigned CreateInfo::FingerJointsPerArm = 0
 The number of joints per leg.
const unsigned CreateInfo::JointsPerArm = 0
 The number of joints per leg.
const unsigned CreateInfo::NumArms = 0
 The number of joints per leg.
const unsigned CreateInfo::NumArmJoints = JointsPerArm*NumArms
 The number of joints per leg.
const unsigned CreateInfo::JointsPerLeg = 0
 The number of joints per leg.
const unsigned CreateInfo::NumLegs = 0
 The number of legs.
const unsigned CreateInfo::NumLegJoints = JointsPerLeg*NumLegs
 the TOTAL number of joints on ALL legs
const unsigned CreateInfo::NumHeadJoints = 0
 The number of joints in the neck.
const unsigned CreateInfo::NumTailJoints = 0
 The number of joints assigned to the tail.
const unsigned CreateInfo::NumMouthJoints = 0
 the number of joints that control the mouth
const unsigned CreateInfo::NumEarJoints = 0
 The number of joints which control the ears (NOT per ear, is total).
const unsigned CreateInfo::NumButtons = 15
 the number of buttons that are available
const unsigned CreateInfo::NumSensors = 22
 the number of sensors available
const unsigned CreateInfo::NumLEDs = 4
 The number of LEDs which can be controlled.
const unsigned CreateInfo::NumFacePanelLEDs = 0
 The number of face panel LEDs.
const unsigned CreateInfo::NumPIDJoints = NumWheels
 servo pins
const unsigned CreateInfo::NumOutputs = NumPIDJoints + NumLEDs + 1
 the total number of outputs
const unsigned CreateInfo::NumReferenceFrames = NumOutputs + 1 + NumArms + 1
 for the base, gripper (* NumArms), and Camera

Output Offsets

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



enum  CreateInfo::TPROffset_t { CreateInfo::PanOffset = 0, CreateInfo::TiltOffset, CreateInfo::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  CreateInfo::HeadOffset_t { CreateInfo::HeadPanOffset = HeadOffset, CreateInfo::HeadTiltOffset }
 

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

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

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  CreateInfo::LEDOffset_t { CreateInfo::PowerRedLEDOffset = LEDOffset, CreateInfo::PowerGreenLEDOffset, CreateInfo::PlayLEDOffset, CreateInfo::AdvanceLEDOffset }
 

The offsets of the individual LEDs.

More...
typedef unsigned int CreateInfo::LEDBitMask_t
 So you can be clear when you're refering to a LED bitmask.
const unsigned CreateInfo::PIDJointOffset = 0
 The beginning of the PID Joints.
const unsigned CreateInfo::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 CreateInfo::HeadOffset = WheelOffset+NumWheels
 the offset of the beginning of the head joints, add TPROffset_t to get specific joint
const unsigned CreateInfo::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 CreateInfo::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 CreateInfo::BaseFrameOffset = NumOutputs
 Use with kinematics to refer to base reference frame.
const unsigned CreateInfo::CameraFrameOffset = BaseFrameOffset + 1
 Use with kinematics to refer to camera reference frame.
const LEDOffset_t CreateInfo::RedLEDOffset = PowerRedLEDOffset
 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 CreateInfo::BlueLEDOffset = AdvanceLEDOffset
 Create has no blue LED: use Advance LED here, and Advance+PowerRED in BlueLEDMask.
const LEDOffset_t CreateInfo::GreenLEDOffset = PlayLEDOffset
 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 CreateInfo::YellowLEDOffset = AdvanceLEDOffset
 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 CreateInfo::BlueLEDMask
 Create has no blue LED, so use Advance (green) + Power (red).
const LEDBitMask_t CreateInfo::GreenLEDMask = 1<<(GreenLEDOffset-LEDOffset)
 mask corresponding to GreenLEDOffset
const LEDBitMask_t CreateInfo::YellowLEDMask = 1<<(YellowLEDOffset-LEDOffset)
 mask corresponding to YellowLEDOffset
const LEDBitMask_t CreateInfo::RedLEDMask = 1<<(RedLEDOffset-LEDOffset)
 mask corresponding to RedLEDOffset
const LEDBitMask_t CreateInfo::PowerRedLEDMask = 1<<(PowerRedLEDOffset-LEDOffset)
 mask corresponding to BlueLEDOffset
const LEDBitMask_t CreateInfo::PowerGreenLEDMask = 1<<(PowerGreenLEDOffset-LEDOffset)
 mask corresponding to GreenLEDOffset
const LEDBitMask_t CreateInfo::PlayLEDMask = 1<<(PlayLEDOffset-LEDOffset)
 mask corresponding to YellowLEDOffset
const LEDBitMask_t CreateInfo::AdvanceLEDMask = 1<<(AdvanceLEDOffset-LEDOffset)
 mask corresponding to RedLEDOffset
const LEDBitMask_t CreateInfo::FaceLEDMask = 0
 LEDs for the face panel (all FaceLEDPanelMask<<(0:NumFacePanelLEDs-1) entries).
const LEDBitMask_t CreateInfo::AllLEDMask = (LEDBitMask_t)~0
 selects all of the leds

Input Offsets

The order in which inputs should be stored



enum  CreateInfo::ButtonOffset_t {
  CreateInfo::PlayButOffset, CreateInfo::AdvanceButOffset, CreateInfo::WallButOffset, CreateInfo::DropCasterButOffset,
  CreateInfo::DropLeftWheelButOffset, CreateInfo::DropRightWheelButOffset, CreateInfo::BumpLeftButOffset, CreateInfo::BumpRightButOffset,
  CreateInfo::OvercurrentLeftWheelOffset, CreateInfo::OvercurrentRightWheelOffset, CreateInfo::LowSideDriver0ButOffset, CreateInfo::LowSideDriver1ButOffset,
  CreateInfo::LowSideDriver2ButOffset, CreateInfo::BaseChargerButOffset, CreateInfo::InternalChargerButOffset
}
 

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

More...
enum  CreateInfo::SensorOffset_t {
  CreateInfo::DigitalInput0Offset, CreateInfo::DigitalInput1Offset, CreateInfo::DigitalInput2Offset, CreateInfo::DigitalInput3Offset,
  CreateInfo::AnalogSignalOffset, CreateInfo::WallSignalOffset, CreateInfo::IRCommOffset, CreateInfo::CliffLeftSignalOffset,
  CreateInfo::CliffFrontLeftSignalOffset, CreateInfo::CliffFrontRightSignalOffset, CreateInfo::CliffRightSignalOffset, CreateInfo::EncoderDistanceOffset,
  CreateInfo::EncoderAngleOffset, CreateInfo::VoltageOffset, CreateInfo::CurrentOffset, CreateInfo::BatteryChargeOffset,
  CreateInfo::BatteryTempOffset, CreateInfo::ChargingStateOffset, CreateInfo::ModeStateOffset, CreateInfo::GPSXOffset,
  CreateInfo::GPSYOffset, CreateInfo::GPSHeadingOffset
}
 

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

More...
enum  CreateInfo::IRComm_t {
  CreateInfo::IR_REMOTE_LEFT = 129, CreateInfo::IR_REMOTE_FORWARD, CreateInfo::IR_REMOTE_RIGHT, CreateInfo::IR_REMOTE_SPOT,
  CreateInfo::IR_REMOTE_MAX, CreateInfo::IR_REMOTE_SMALL, CreateInfo::IR_REMOTE_MEDIUM, CreateInfo::IR_REMOTE_LARGE,
  CreateInfo::IR_REMOTE_PAUSE, CreateInfo::IR_REMOTE_POWER, CreateInfo::IR_REMOTE_ARC_LEFT, CreateInfo::IR_REMOTE_ARC_RIGHT,
  CreateInfo::IR_REMOTE_STOP, CreateInfo::IR_REMOTE_SEND, CreateInfo::IR_REMOTE_DOCK, CreateInfo::IR_BASE_RED = 248,
  CreateInfo::IR_BASE_GREEN = 244, CreateInfo::IR_BASE_FORCE = 242, CreateInfo::IR_BASE_RED_GREEN = 252, CreateInfo::IR_BASE_RED_FORCE = 250,
  CreateInfo::IR_BASE_GREEN_FORCE = 246, CreateInfo::IR_BASE_RED_GREEN_FORCE = 254
}
 

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

More...
enum  CreateInfo::ChargingState_t {
  CreateInfo::CHARGING_OFF, CreateInfo::CHARGING_RECONDITIONING, CreateInfo::CHARGING_FULL, CreateInfo::CHARGING_TRICKLE,
  CreateInfo::CHARGING_WAITING, CreateInfo::CHARGING_FAULT
}
 

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

More...
enum  CreateInfo::ModeState_t { CreateInfo::MODE_OFF, CreateInfo::MODE_PASSIVE, CreateInfo::MODE_SAFE, CreateInfo::MODE_FULL }
 

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

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

Detailed Description

Defines some capabilities of the iRobot Create robots.

Author:
ejt (Creator)

Definition in file CreateInfo.h.


Define Documentation

#define __RI_RAD_FLAG

a flag so we undef these after we're done - do you have a cleaner solution?

Definition at line 324 of file CreateInfo.h.

#define RAD ( deg   )     (((deg) * (float)M_PI ) / 180.0f)

Just a little macro for converting degrees to radians.

Definition at line 322 of file CreateInfo.h.


Tekkotsu v5.1CVS
Generated Mon May 9 04:58:55 2016 by Doxygen 1.6.3