Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

ChiaraInfo.h File Reference

Defines some capabilities of the Chiara hexapod robots. More...

#include <cmath>
#include <stdlib.h>
#include "CommonInfo.h"
Include dependency graph for ChiaraInfo.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ChiaraInfo::ChiaraCapabilities
 provides polymorphic robot capability detection/mapping More...

Namespaces

namespace  ChiaraInfo
 

Contains information about an Chiara hexapod robot, 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 ChiaraInfo::TargetName = "Chiara"
 the name of the model, to be used for logging and remote GUIs
const unsigned int ChiaraInfo::FrameTime = 32
 time between frames in the motion system (milliseconds)
const unsigned int ChiaraInfo::NumFrames = 1
 the number of frames per buffer (don't forget also double buffered)
const unsigned int ChiaraInfo::SoundBufferTime = 32
 the number of milliseconds per sound buffer... I'm not sure if this can be changed
const fmat::Column< 3 > ChiaraInfo::AgentBoundingBoxBaseFrameOffset = fmat::pack(0,0,0)
 Offset needed so that the centroid of the robot is correct relative to the bounding box.
const fmat::Column< 3 > ChiaraInfo::AgentBoundingBoxHalfDims = fmat::pack(304.8/2, 304.8/2, 0)
 Half of the length, width, and height of the robot.
const char *const ChiaraInfo::outputNames [NumReferenceFrames+1]
 Names for each of the outputs.
const ChiaraCapabilities ChiaraInfo::capabilities
 allocation declared in RobotInfo.cc
const float ChiaraInfo::DefaultPIDs [NumPIDJoints][3]
 Dynamixel servos don't use PID control. Instead, these values indicate compliance slope (P), punch (add to P*error), compliance margin (min error to start applying torque) (see ServoParam_t).
const float ChiaraInfo::MaxOutputSpeed [NumOutputs]
 These values are our recommended maximum joint velocities, in rad/sec.
const float ChiaraInfo::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 ChiaraInfo::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 ChiaraInfo::NumWheels = 0
 The number of joints per leg.
const unsigned ChiaraInfo::FingerJointsPerArm = 2
 The number of joints per leg.
const unsigned ChiaraInfo::JointsPerArm = 6
 The number of joints per leg.
const unsigned ChiaraInfo::NumArms = 1
 The number of joints per leg.
const unsigned ChiaraInfo::NumArmJoints = JointsPerArm*NumArms
 The number of joints per leg.
const unsigned ChiaraInfo::JointsPerLeg = 3
 The number of joints per leg.
const unsigned ChiaraInfo::NumLegs = 6
 The number of legs.
const unsigned ChiaraInfo::NumLegJoints = JointsPerLeg*NumLegs
 the TOTAL number of joints on ALL legs
const unsigned ChiaraInfo::NumHeadJoints = 2
 The number of joints in the pantilt.
const unsigned ChiaraInfo::NumTailJoints = 0
 The number of joints assigned to the tail.
const unsigned ChiaraInfo::NumMouthJoints = 0
 the number of joints that control the mouth
const unsigned ChiaraInfo::NumEarJoints = 0
 The number of joints which control the ears (NOT per ear, is total).
const unsigned ChiaraInfo::NumButtons = 3
 the number of buttons that are available
const unsigned ChiaraInfo::NumSensors = 11
 the number of sensors available
const unsigned ChiaraInfo::NumFacePanelLEDs = 0
 The number of face panel LEDs.
const unsigned ChiaraInfo::NumLEDs = NumLegs + 1 + 4
 There's an LED on every dynamixel, but can't see most of them, so save some computational resources and only expose the visible ones: knees and pan.
const unsigned ChiaraInfo::NumPIDJoints = NumArmJoints + 1 + NumLegJoints + NumHeadJoints+NumTailJoints+NumMouthJoints
 The number of joints per leg.
const unsigned ChiaraInfo::NumOutputs = NumWheels + NumPIDJoints + NumLEDs
 servo pins
const unsigned ChiaraInfo::NumReferenceFrames = NumOutputs + 1 + NumLegs + NumArms + 1 + 3
 for the base, feet, gripper, camera, and IR distance rangefinder
const float ChiaraInfo::BallOfFootRadius = 0
 radius of the ball of the foot

Output Offsets

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



enum  ChiaraInfo::LegOrder_t {
  ChiaraInfo::RFrLegOrder = 0, ChiaraInfo::LFrLegOrder, ChiaraInfo::RMdLegOrder, ChiaraInfo::LMdLegOrder,
  ChiaraInfo::RBkLegOrder, ChiaraInfo::LBkLegOrder
}
 

the ordering of legs

More...
enum  ChiaraInfo::SEKOffset_t { ChiaraInfo::SweepOffset = 0, ChiaraInfo::ElevatorOffset, ChiaraInfo::KneeOffset }
 

The offsets within appendages (the legs) Note that the ordering matches the actual physical ordering of joints on the appendage.

More...
enum  ChiaraInfo::TPROffset_t { ChiaraInfo::PanOffset = 0, ChiaraInfo::TiltOffset, ChiaraInfo::NodOffset = TiltOffset, ChiaraInfo::RollOffset }
 

The offsets of appendages with tilt (elevation), pan (heading), and roll or nod joints (i.e. head/wrist).

More...
enum  ChiaraInfo::LegOffset_t {
  ChiaraInfo::RFrLegOffset = LegOffset+RFrLegOrder*JointsPerLeg, ChiaraInfo::LFrLegOffset = LegOffset+LFrLegOrder*JointsPerLeg, ChiaraInfo::RMdLegOffset = LegOffset+RMdLegOrder*JointsPerLeg, ChiaraInfo::LMdLegOffset = LegOffset+LMdLegOrder*JointsPerLeg,
  ChiaraInfo::RBkLegOffset = LegOffset+RBkLegOrder*JointsPerLeg, ChiaraInfo::LBkLegOffset = LegOffset+LBkLegOrder*JointsPerLeg
}
 

The offsets of the individual legs, add REKOffset_t value to access specific joint.

More...
enum  ChiaraInfo::ArmOffset_t {
  ChiaraInfo::ArmShoulderOffset = ArmOffset, ChiaraInfo::ArmElbowOffset, ChiaraInfo::WristOffset, ChiaraInfo::WristYawOffset = WristOffset,
  ChiaraInfo::WristPitchOffset, ChiaraInfo::WristRollOffset, ChiaraInfo::GripperOffset
}
 

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

More...
enum  ChiaraInfo::HeadOffset_t { ChiaraInfo::HeadPanOffset = HeadOffset, ChiaraInfo::HeadTiltOffset }
 

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

More...
enum  ChiaraInfo::LEDOffset_t {
  ChiaraInfo::BlueLEDOffset = LEDOffset, ChiaraInfo::GreenLEDOffset, ChiaraInfo::YellowLEDOffset, ChiaraInfo::RedLEDOffset,
  ChiaraInfo::RFrKneeLEDOffset, ChiaraInfo::LFrKneeLEDOffset, ChiaraInfo::RMdKneeLEDOffset, ChiaraInfo::LMdKneeLEDOffset,
  ChiaraInfo::RBkKneeLEDOffset, ChiaraInfo::LBkKneeLEDOffset, ChiaraInfo::HeadLEDOffset
}
 

The offsets of the individual LEDs, one LED on each dynamixel servo, these match the servo order, so this is empty.

More...
typedef unsigned int ChiaraInfo::LEDBitMask_t
 So you can be clear when you're refering to a LED bitmask.
const unsigned ChiaraInfo::PIDJointOffset = 0
 The beginning of the PID Joints.
const unsigned ChiaraInfo::RFrRotatorOffset = PIDJointOffset
 The right front leg's rotator joint.
const unsigned ChiaraInfo::LegOffset = RFrRotatorOffset+1
 the offset of the beginning of the regular leg joints (after the 1 rotator joint for the right front leg): NumLegs of JointsPerLeg each, in LegOrder_t order; see LegOffset_t
const unsigned ChiaraInfo::ArmOffset = LegOffset+NumLegJoints
 the offset of the beginning of the arm joints, add TPROffset_t to get specific joint
const unsigned ChiaraInfo::HeadOffset = ArmOffset+NumArmJoints
 the offset of the beginning of the head joints, add TPROffset_t to get specific joint
const unsigned ChiaraInfo::LEDOffset = PIDJointOffset + NumPIDJoints
 the offset of LEDs in WorldState::outputs and MotionCommand functions, see LedOffset_t for specific offsets
const unsigned ChiaraInfo::BaseFrameOffset = NumOutputs
 Use with kinematics to refer to base reference frame.
const unsigned ChiaraInfo::FootFrameOffset = BaseFrameOffset+1
 Use with kinematics to refer to feet reference frames (add appropriate LegOrder_t to specify which paw).
const unsigned ChiaraInfo::GripperFrameOffset = FootFrameOffset+NumLegs
 Use with kinematics to refer to gripper reference frame.
const unsigned ChiaraInfo::CameraFrameOffset = GripperFrameOffset+NumArms
 Use with kinematics to refer to camera reference frame.
const unsigned ChiaraInfo::LeftIRFrameOffset = CameraFrameOffset+1
 Use with kinematics to refer to left IR distance rangefinder reference frame.
const unsigned ChiaraInfo::CenterIRFrameOffset = LeftIRFrameOffset+1
 Use with kinematics to refer to center IR distance rangefinder reference frame.
const unsigned ChiaraInfo::IRFrameOffset = CenterIRFrameOffset
 alias for CenterIRFrameOffset
const unsigned ChiaraInfo::RightIRFrameOffset = CenterIRFrameOffset+1
 Use with kinematics to refer to right IR distance rangefinder reference frame.
const LEDBitMask_t ChiaraInfo::BlueLEDMask = 1<<(BlueLEDOffset-LEDOffset)
 mask corresponding to BlueLEDOffset
const LEDBitMask_t ChiaraInfo::GreenLEDMask = 1<<(GreenLEDOffset-LEDOffset)
 mask corresponding to GreenLEDOffset
const LEDBitMask_t ChiaraInfo::YellowLEDMask = 1<<(YellowLEDOffset-LEDOffset)
 mask corresponding to YellowLEDOffset
const LEDBitMask_t ChiaraInfo::RedLEDMask = 1<<(RedLEDOffset-LEDOffset)
 mask corresponding to RedLEDOffset
const LEDBitMask_t ChiaraInfo::RFrKneeLEDMask = 1<<(RFrKneeLEDOffset-LEDOffset)
 mask corresponding to RFrKneeLEDOffset
const LEDBitMask_t ChiaraInfo::LFrKneeLEDMask = 1<<(LFrKneeLEDOffset-LEDOffset)
 mask corresponding to LFrKneeLEDOffset
const LEDBitMask_t ChiaraInfo::RMdKneeLEDMask = 1<<(RMdKneeLEDOffset-LEDOffset)
 mask corresponding to RMdKneeLEDOffset
const LEDBitMask_t ChiaraInfo::LMdKneeLEDMask = 1<<(LMdKneeLEDOffset-LEDOffset)
 mask corresponding to LMdKneeLEDOffset
const LEDBitMask_t ChiaraInfo::RBkKneeLEDMask = 1<<(RBkKneeLEDOffset-LEDOffset)
 mask corresponding to RBkKneeLEDOffset
const LEDBitMask_t ChiaraInfo::LBkKneeLEDMask = 1<<(LBkKneeLEDOffset-LEDOffset)
 mask corresponding to LBkKneeLEDOffset
const LEDBitMask_t ChiaraInfo::HeadLEDMask = 1<<(HeadLEDOffset-LEDOffset)
 mask corresponding to HeadLEDOffset
const LEDBitMask_t ChiaraInfo::FaceLEDMask = HeadLEDMask
 LEDs for the "face panel" -- on the Chiara this is just HeadLEDMask.
const LEDBitMask_t ChiaraInfo::AllLEDMask = (LEDBitMask_t)~0
 selects all of the leds

Input Offsets

The order in which inputs should be stored



enum  ChiaraInfo::ButtonOffset_t { ChiaraInfo::GreenButOffset, ChiaraInfo::RedButOffset, ChiaraInfo::YellowButOffset }
 

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

More...
enum  ChiaraInfo::SensorOffset_t {
  ChiaraInfo::LeftIRDistOffset, ChiaraInfo::CenterIRDistOffset, ChiaraInfo::IRDistOffset = CenterIRDistOffset, ChiaraInfo::RightIRDistOffset,
  ChiaraInfo::LeftLuminosityOffset, ChiaraInfo::CenterLuminosityOffset, ChiaraInfo::RightLuminosityOffset, ChiaraInfo::MicVolumeOffset,
  ChiaraInfo::MicSpikeCountOffset, ChiaraInfo::PowerRemainOffset, ChiaraInfo::PowerThermoOffset, ChiaraInfo::PowerVoltageOffset
}
 

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

More...
const char *const ChiaraInfo::buttonNames [NumButtons+1] = { "GreenBut", "RedBut", "YellowBut", NULL }
 Provides a string name for each button.
const char *const ChiaraInfo::sensorNames [NumSensors+1]
 Provides a string name for each sensor.

Detailed Description

Defines some capabilities of the Chiara hexapod robots.

Author:
ejt (Creator)

Definition in file ChiaraInfo.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 340 of file ChiaraInfo.h.

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

Just a little macro for converting degrees to radians.

Definition at line 338 of file ChiaraInfo.h.


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