Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

CalliopeUInfo.h File Reference

Defines some capabilities of the CalliopeU robot. More...

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

Go to the source code of this file.

Classes

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

Namespaces

namespace  CalliopeUInfo
 

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

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

More...
enum  CalliopeUInfo::WheelOffset_t { CalliopeUInfo::SpeedOffset = WheelOffset, CalliopeUInfo::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  CalliopeUInfo::LEDOffset_t { CalliopeUInfo::RedLED1Offset = LEDOffset, CalliopeUInfo::GreenLED1Offset, CalliopeUInfo::RedLED2Offset, CalliopeUInfo::GreenLED2Offset }
 

The offsets of the individual LEDs.

More...
typedef unsigned int CalliopeUInfo::LEDBitMask_t
 So you can be clear when you're refering to a LED bitmask.
const unsigned CalliopeUInfo::PIDJointOffset = 0
 The beginning of the PID Joints.
const unsigned CalliopeUInfo::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 CalliopeUInfo::HeadOffset = WheelOffset+NumWheels
 the offset of the beginning of the head joints, add TPROffset_t to get specific joint
const unsigned CalliopeUInfo::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 CalliopeUInfo::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 CalliopeUInfo::BaseFrameOffset = NumOutputs
 Use with kinematics to refer to base reference frame.
const unsigned CalliopeUInfo::CameraFrameOffset = BaseFrameOffset + 1
 Use with kinematics to refer to camera reference frame.
const LEDOffset_t CalliopeUInfo::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 CalliopeUInfo::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 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).
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).
const LEDBitMask_t CalliopeUInfo::RedLEDMask = 1<<(RedLED1Offset-LEDOffset)
 mask corresponding to RedLEDOffset
const LEDBitMask_t CalliopeUInfo::YellowLEDMask = 1<<(RedLED2Offset-LEDOffset)
 mask corresponding to YellowLEDOffset
const LEDBitMask_t CalliopeUInfo::GreenLEDMask = 1<<(GreenLED1Offset-LEDOffset)
 mask corresponding to GreenLEDOffset
const LEDBitMask_t CalliopeUInfo::BlueLEDMask = (1<<(GreenLED2Offset-LEDOffset))
 mask corresponding to BlueLEDOffset
const LEDBitMask_t CalliopeUInfo::FaceLEDMask = 0
 LEDs for the face panel (all FaceLEDPanelMask<<(0:NumFacePanelLEDs-1) entries).
const LEDBitMask_t CalliopeUInfo::AllLEDMask = (LEDBitMask_t)~0
 selects all of the leds

Input Offsets

The order in which inputs should be stored



enum  CalliopeUInfo::ButtonOffset_t {
  CalliopeUInfo::B0ButOffset, CalliopeUInfo::B1ButOffset, CalliopeUInfo::B2ButOffset, CalliopeUInfo::DropLeftWheelButOffset,
  CalliopeUInfo::DropRightWheelButOffset, CalliopeUInfo::BumpLeftButOffset, CalliopeUInfo::BumpRightButOffset, CalliopeUInfo::BumpCenterButOffset,
  CalliopeUInfo::CliffLeftButOffset, CalliopeUInfo::CliffRightButOffset, CalliopeUInfo::CliffCenterButOffset
}
 

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

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

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

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

Detailed Description

Defines some capabilities of the CalliopeU robot.

Author:
ejt (Creator)

Definition in file CalliopeUInfo.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 353 of file CalliopeUInfo.h.

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

Just a little macro for converting degrees to radians.

Definition at line 351 of file CalliopeUInfo.h.


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