Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

QBotPlusInfo.h File Reference

Defines some capabilities of the QwerkBot+, a QwerkBot with wheels and a pan/tilt camera. More...

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

Go to the source code of this file.

Classes

class  QBotPlusInfo::QBotPlusCapabilities
 provides polymorphic robot capability detection/mapping More...

Namespaces

namespace  QBotPlusInfo
 

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

Output Offsets

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



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

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

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

'Absolute' offsets for each of the wheels

More...
enum  QBotPlusInfo::LEDOffset_t
 

The offsets of the individual LEDs -- except the qwerk board doesn't have any particularly symbolic LEDs, just use numeric values...

More...
typedef unsigned int QBotPlusInfo::LEDBitMask_t
const unsigned QBotPlusInfo::PIDJointOffset = 0
 The beginning of the PID Joints.
const unsigned QBotPlusInfo::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 QBotPlusInfo::HeadOffset = WheelOffset+NumWheels
 the offset of the beginning of the head joints, add TPROffset_t to get specific joint
const unsigned QBotPlusInfo::LEDOffset = PIDJointOffset + NumPIDJoints
 the offset of LEDs in WorldState::outputs and MotionCommand functions, see LedOffset_t for specific offsets
const unsigned QBotPlusInfo::BaseFrameOffset = NumOutputs
 Use with kinematics to refer to base reference frame.
const unsigned QBotPlusInfo::CameraFrameOffset = BaseFrameOffset + 1
 Use with kinematics to refer to camera reference frame.
const LEDBitMask_t QBotPlusInfo::FaceLEDMask = 0
 LEDs for the face panel (all FaceLEDPanelMask<<(0:NumFacePanelLEDs-1) entries).
const LEDBitMask_t QBotPlusInfo::AllLEDMask = (LEDBitMask_t)~0
 selects all of the leds

Input Offsets

The order in which inputs should be stored



enum  QBotPlusInfo::ButtonOffset_t {
  QBotPlusInfo::Button0, QBotPlusInfo::Button1, QBotPlusInfo::Button2, QBotPlusInfo::Button3,
  QBotPlusInfo::Button4, QBotPlusInfo::Button5, QBotPlusInfo::Button6, QBotPlusInfo::Button7
}
 

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

More...
enum  QBotPlusInfo::SensorOffset_t {
  QBotPlusInfo::AnalogInValues0, QBotPlusInfo::AnalogInValues1, QBotPlusInfo::AnalogInValues2, QBotPlusInfo::AnalogInValues3,
  QBotPlusInfo::AnalogInValues4, QBotPlusInfo::AnalogInValues5, QBotPlusInfo::AnalogInValues6, QBotPlusInfo::AnalogInValues7,
  QBotPlusInfo::DigitalInStates0, QBotPlusInfo::DigitalInStates1, QBotPlusInfo::DigitalInStates2, QBotPlusInfo::DigitalInStates3,
  QBotPlusInfo::DigitalInStates4, QBotPlusInfo::DigitalInStates5, QBotPlusInfo::DigitalInStates6, QBotPlusInfo::DigitalInStates7,
  QBotPlusInfo::BatteryVoltage
}
 

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

More...
const char *const QBotPlusInfo::buttonNames [NumButtons+1]
 Provides a string name for each button.
const char *const QBotPlusInfo::sensorNames [NumSensors]
 Provides a string name for each sensor.

Detailed Description

Defines some capabilities of the QwerkBot+, a QwerkBot with wheels and a pan/tilt camera.

Author:
ejt (Creator)

Definition in file QBotPlusInfo.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 245 of file QBotPlusInfo.h.

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

Just a little macro for converting degrees to radians.

Definition at line 243 of file QBotPlusInfo.h.


Tekkotsu v5.1CVS
Generated Mon May 9 04:59:01 2016 by Doxygen 1.6.3