Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

Regis1Info.h File Reference

Defines some capabilities of the Regis robot prototype. More...

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

Go to the source code of this file.

Classes

class  Regis1Info::Regis1Capabilities
 provides polymorphic robot capability detection/mapping More...

Namespaces

namespace  Regis1Info
 

Declares configuration of the Regis robot prototype, such as number of joints, LEDs, etc.


Variables

const char *const Regis1Info::TargetName = "Regis1"
 the name of the model, to be used for logging and remote GUIs
const unsigned int Regis1Info::FrameTime = 15
 time between frames in the motion system (milliseconds)
const unsigned int Regis1Info::NumFrames = 1
 the number of frames per buffer (don't forget also double buffered)
const unsigned int Regis1Info::SoundBufferTime = 32
 the number of milliseconds per sound buffer... I'm not sure if this can be changed
Output Types Information

const unsigned Regis1Info::NumWheels = 2
 Left and Right Wheels.
const unsigned Regis1Info::JointsPerArm = 6
 Base, Shoulder, Elbow, Wrist (Yaw, Roll), Gripper.
const unsigned Regis1Info::NumArms = 1
 Left and Right Wheels.
const unsigned Regis1Info::NumArmJoints = JointsPerArm*NumArms
 Left and Right Wheels.
const unsigned Regis1Info::JointsPerLeg = 0
 Left and Right Wheels.
const unsigned Regis1Info::NumLegs = 0
 Left and Right Wheels.
const unsigned Regis1Info::NumLegJoints = JointsPerLeg*NumLegs
 Left and Right Wheels.
const unsigned Regis1Info::NumHeadJoints = 4
 Left and Right Wheels.
const unsigned Regis1Info::NumTailJoints = 0
 Left and Right Wheels.
const unsigned Regis1Info::NumMouthJoints = 0
 Left and Right Wheels.
const unsigned Regis1Info::NumEarJoints = 0
 Left and Right Wheels.
const unsigned Regis1Info::NumButtons = 0
 Left and Right Wheels.
const unsigned Regis1Info::NumSensors = 0
 Left and Right Wheels.
const unsigned Regis1Info::NumLEDs = 0
 Left and Right Wheels.
const unsigned Regis1Info::NumFacePanelLEDs = 0
 Left and Right Wheels.
const unsigned Regis1Info::NumPIDJoints = NumWheels+NumArmJoints+NumLegJoints+NumHeadJoints+NumTailJoints+NumMouthJoints
 The number of joints which use PID motion - everything except ears.
const unsigned Regis1Info::NumBinJoints = NumEarJoints
 The number of binary joints - just the ears.
const unsigned Regis1Info::NumOutputs = NumPIDJoints + NumBinJoints + NumLEDs
 the total number of outputs
const unsigned Regis1Info::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



#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?
enum  Regis1Info::WheelOffset_t { Regis1Info::LWheelOffset = WheelOffset, Regis1Info::RWheelOffset }
 

Just a little macro for converting degrees to radians.

More...
enum  Regis1Info::HeadOffset_t {
  Regis1Info::HeadBaseOffset = HeadOffset, Regis1Info::HeadPanOffset = HeadBaseOffset, Regis1Info::HeadShoulderOffset, Regis1Info::HeadElbowOffset,
  Regis1Info::HeadTiltOffset = HeadElbowOffset, Regis1Info::HeadWristOffset, Regis1Info::HeadNodOffset = HeadWristOffset
}
 

these are all 'absolute' offsets -- no need to add to HeadOffset

More...
enum  Regis1Info::TPROffset_t { Regis1Info::PanOffset = HeadBaseOffset - HeadOffset, Regis1Info::TiltOffset = HeadElbowOffset - HeadOffset, Regis1Info::NodOffset = HeadWristOffset - HeadOffset }
 

these are the traditional sub-offsets, relative to HeadOffset

More...
enum  Regis1Info::ArmOffset_t {
  Regis1Info::ArmBaseOffset = ArmOffset, Regis1Info::ArmShoulderOffset, Regis1Info::ArmElbowOffset, Regis1Info::ArmWristOffset,
  Regis1Info::ArmWristRotateOffset, Regis1Info::ArmGripperOffset
}
 

Just a little macro for converting degrees to radians.

More...
enum  Regis1Info::ArmJoint {
  Regis1Info::ArmBase, Regis1Info::ArmShoulder, Regis1Info::ArmElbow, Regis1Info::ArmWrist,
  Regis1Info::ArmWristRotate, Regis1Info::ArmGripper
}
 

Just a little macro for converting degrees to radians.

More...
enum  Regis1Info::ButtonOffset_t
 

Just a little macro for converting degrees to radians.

More...
enum  Regis1Info::SensorOffset_t
 

Just a little macro for converting degrees to radians.

More...
const unsigned Regis1Info::PIDJointOffset = 0
 The beginning of the PID Joints.
const unsigned Regis1Info::WheelOffset = PIDJointOffset
 beginning of wheel velocities, don't need to add anything, just use WheelOffset_t entries directly
const unsigned Regis1Info::ArmOffset = WheelOffset+NumWheels
 beginning of arm joints, don't add anything, just use ArmOffset_t entries directly
const unsigned Regis1Info::HeadOffset = ArmOffset+NumArmJoints
 the offset of the beginning of the head joints, add TPROffset_t to get specific joint
const unsigned Regis1Info::LEDOffset = PIDJointOffset + NumPIDJoints
 the offset of LEDs in WorldState::outputs and MotionCommand functions, see LedOffset_t for specific offsets
const unsigned Regis1Info::BinJointOffset = LEDOffset + NumLEDs
 The beginning of the binary joints.
const unsigned Regis1Info::EarOffset = BinJointOffset
 the offset of the beginning of the ear joints - note that ears aren't sensed. They can be flicked by the environment and you won't know.
const unsigned Regis1Info::BaseFrameOffset = NumOutputs
 Use with kinematics to refer to base reference frame.
const unsigned Regis1Info::GripperFrameOffset = BaseFrameOffset+1
 Use with kinematics to refer to paw reference frames (add appropriate LegOrder_t to specify which paw).
const unsigned Regis1Info::CameraFrameOffset = GripperFrameOffset+NumArms
 Use with kinematics to refer to camera reference frame.
const char *const Regis1Info::buttonNames [NumButtons+1] = { NULL }
 Just a little macro for converting degrees to radians.
const char *const Regis1Info::sensorNames [NumSensors+1] = { NULL }
 Just a little macro for converting degrees to radians.
const char *const Regis1Info::outputNames [NumReferenceFrames+1]
 Names for each of the outputs.
const Regis1Capabilities Regis1Info::capabilities
 allocation declared in RobotInfo.cc
const float Regis1Info::DefaultPIDs [NumPIDJoints][3]
 Just a little macro for converting degrees to radians.
const float Regis1Info::MaxOutputSpeed [NumOutputs]
 haven't determined safe speeds for regis yet
const float Regis1Info::outputRanges [NumOutputs][2]
 the range that can be reached by the joint controller (i.e. the domain of the output commands)
const float Regis1Info::mechanicalLimits [NumOutputs][2]
 the range that can be reached by external interaction (i.e. the domain of the output feedback)

Detailed Description

Defines some capabilities of the Regis robot prototype.

Author:
ejt (Creator)

Definition in file Regis1Info.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 173 of file Regis1Info.h.

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

Just a little macro for converting degrees to radians.

Definition at line 171 of file Regis1Info.h.


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