Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

BioloidInfo.h File Reference

Defines some capabilities common to generic bioloid/dynamixel based robots. More...

#include <cmath>
#include <stdlib.h>
#include "CommonInfo.h"
#include <vector>
#include <map>
#include <set>
#include <string>
#include <stdexcept>
#include "Shared/fmat.h"
Include dependency graph for BioloidInfo.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  BioloidInfo
 

Declares configuration of generic bioloid/dynamixel based robots, 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 BioloidInfo::TargetName = "Bioloid"
 the name of the model, to be used for logging and remote GUIs
const unsigned int BioloidInfo::FrameTime = 32
 time between frames in the motion system (milliseconds)
const unsigned int BioloidInfo::NumFrames = 1
 the number of frames per buffer (don't forget also double buffered)
const unsigned int BioloidInfo::SoundBufferTime = 32
 the number of milliseconds per sound buffer... I'm not sure if this can be changed
const char *const BioloidInfo::outputNames [NumReferenceFrames+1]
 Names for each of the outputs.
const Capabilities BioloidInfo::capabilities
 allocation declared in RobotInfo.cc
const float BioloidInfo::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 BioloidInfo::MaxOutputSpeed [NumOutputs]
 These values are our recommended maximum joint velocities, in rad/sec.
const float BioloidInfo::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 BioloidInfo::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 BioloidInfo::NumWheels = 0
 The number of joints per leg.
const unsigned BioloidInfo::FingerJointsPerArm = 0
 The number of joints per leg.
const unsigned BioloidInfo::JointsPerArm = 0
 The number of joints per leg.
const unsigned BioloidInfo::NumArms = 0
 The number of joints per leg.
const unsigned BioloidInfo::NumArmJoints = JointsPerArm*NumArms
 The number of joints per leg.
const unsigned BioloidInfo::JointsPerLeg = 0
 The number of joints per leg.
const unsigned BioloidInfo::NumLegs = 0
 The number of legs.
const unsigned BioloidInfo::NumLegJoints = JointsPerLeg*NumLegs
 the TOTAL number of joints on ALL legs
const unsigned BioloidInfo::NumHeadJoints = 0
 The number of joints in the pantilt.
const unsigned BioloidInfo::NumTailJoints = 0
 The number of joints assigned to the tail.
const unsigned BioloidInfo::NumMouthJoints = 0
 the number of joints that control the mouth
const unsigned BioloidInfo::NumEarJoints = 0
 The number of joints which control the ears (NOT per ear, is total).
const unsigned BioloidInfo::NumButtons = 0
 the number of buttons that are available
const unsigned BioloidInfo::NumSensors = 2
 the number of sensors available (voltage and temperature)
const unsigned BioloidInfo::NumFacePanelLEDs = 0
 The number of face panel LEDs.
const unsigned BioloidInfo::NumLEDs = 18
 The number of LEDs which can be controlled (one per dynamixel servo).
const unsigned BioloidInfo::NumPIDJoints = 18 + NumWheels + NumArmJoints + NumLegJoints+NumHeadJoints+NumTailJoints+NumMouthJoints
 The number of joints per leg.
const unsigned BioloidInfo::NumOutputs = NumWheels + NumPIDJoints + NumLEDs
 servo pins
const unsigned BioloidInfo::NumReferenceFrames = NumOutputs+1
 Since we don't know what the user built, we don't actually know any of the kinematics...

Output Offsets

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



enum  BioloidInfo::WheelOffset_t { BioloidInfo::LWheelOffset = WheelOffset, BioloidInfo::RWheelOffset }
 

The offsets of the individual LEDs -- except we don't have any idea what to 'name' the servos in a reconfigurable kit, so this is empty (just add numeric offsets).

More...
enum  BioloidInfo::LEDOffset_t
 

The offsets of the individual LEDs -- except we don't have any idea what to 'name' the servos in a reconfigurable kit, so this is empty (just add numeric offsets).

More...
typedef unsigned int BioloidInfo::LEDBitMask_t
const unsigned BioloidInfo::PIDJointOffset = 0
 The beginning of the PID Joints.
const unsigned BioloidInfo::WheelOffset = PIDJointOffset
 The offsets of the individual LEDs -- except we don't have any idea what to 'name' the servos in a reconfigurable kit, so this is empty (just add numeric offsets).
const unsigned BioloidInfo::LEDOffset = PIDJointOffset + NumPIDJoints
 the offset of LEDs in WorldState::outputs and MotionCommand functions, see LedOffset_t for specific offsets
const unsigned BioloidInfo::BaseFrameOffset = NumOutputs
 Use with kinematics to refer to base reference frame.
const LEDBitMask_t BioloidInfo::FaceLEDMask = 0
 LEDs for the face panel (all FaceLEDPanelMask<<(0:NumFacePanelLEDs-1) entries).
const LEDBitMask_t BioloidInfo::AllLEDMask = (LEDBitMask_t)~0
 selects all of the leds

Input Offsets

The order in which inputs should be stored



enum  BioloidInfo::ButtonOffset_t
 

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

More...
enum  BioloidInfo::SensorOffset_t { BioloidInfo::PowerThermoOffset, BioloidInfo::PowerVoltageOffset }
 

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

More...
const char *const BioloidInfo::buttonNames [NumButtons+1] = { NULL }
 Provides a string name for each button.
const char *const BioloidInfo::sensorNames [NumSensors+1]
 Provides a string name for each sensor.

Detailed Description

Defines some capabilities common to generic bioloid/dynamixel based robots.

Author:
ejt (Creator)

Definition in file BioloidInfo.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 224 of file BioloidInfo.h.

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

Just a little macro for converting degrees to radians.

Definition at line 222 of file BioloidInfo.h.


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