Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

LynxArm6Info.h File Reference

Defines some capabilities of the 6-DOF PUMA style arm from Lynx Motion. More...

#include <cmath>
#include <cstdlib>
#include "CommonInfo.h"
Include dependency graph for LynxArm6Info.h:

Go to the source code of this file.

Namespaces

namespace  LynxArm6Info
 

Declares configuration of the 6-DOF PUMA style arm from Lynx Motion, 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 LynxArm6Info::TargetName = "LynxArm6"
 the name of the model, to be used for logging and remote GUIs
const unsigned int LynxArm6Info::FrameTime = 32
 time between frames in the motion system (milliseconds)
const unsigned int LynxArm6Info::NumFrames = 1
 the number of frames per buffer (don't forget also double buffered)
const unsigned int LynxArm6Info::SoundBufferTime = 32
 the number of milliseconds per sound buffer... I'm not sure if this can be changed
const char *const LynxArm6Info::outputNames [NumReferenceFrames+1]
 Names for each of the outputs.
const Capabilities LynxArm6Info::capabilities
 allocation declared in RobotInfo.cc
const float LynxArm6Info::DefaultPIDs [NumPIDJoints][3]
 This table holds the default PID values for each joint. see PIDMC.
const float LynxArm6Info::MaxOutputSpeed [NumOutputs]
 These values are Sony's recommended maximum joint velocities, in rad/sec.
const float LynxArm6Info::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 LynxArm6Info::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 LynxArm6Info::NumWheels = 0
 no wheels, just legs
const unsigned LynxArm6Info::JointsPerArm = 6
 no wheels, just legs
const unsigned LynxArm6Info::NumArms = 1
 no wheels, just legs
const unsigned LynxArm6Info::NumArmJoints = JointsPerArm*NumArms
 no wheels, just legs
const unsigned LynxArm6Info::JointsPerLeg = 0
 The number of joints per leg.
const unsigned LynxArm6Info::NumLegs = 0
 The number of legs.
const unsigned LynxArm6Info::NumLegJoints = JointsPerLeg*NumLegs
 the TOTAL number of joints on ALL legs
const unsigned LynxArm6Info::NumHeadJoints = 0
 The number of joints in the neck.
const unsigned LynxArm6Info::NumTailJoints = 0
 The number of joints assigned to the tail.
const unsigned LynxArm6Info::NumMouthJoints = 0
 the number of joints that control the mouth
const unsigned LynxArm6Info::NumEarJoints = 0
 The number of joints which control the ears (NOT per ear, is total).
const unsigned LynxArm6Info::NumButtons = 0
 the number of buttons that are available, 2 head, 4 paws, 3 back, 1 underbelly see ERS7Info::ButtonOffset_t
const unsigned LynxArm6Info::NumSensors = 4
 the four input pins
const unsigned LynxArm6Info::NumLEDs = 0
 The number of LEDs which can be controlled.
const unsigned LynxArm6Info::NumFacePanelLEDs = 0
 The number of face panel LEDs.
const unsigned LynxArm6Info::NumPIDJoints = NumArmJoints + NumLegJoints+NumHeadJoints+NumTailJoints+NumMouthJoints
 The number of joints which use PID motion - everything except ears.
const unsigned LynxArm6Info::NumOutputs = NumPIDJoints + NumLEDs
 the total number of outputs
const unsigned LynxArm6Info::NumReferenceFrames = NumOutputs + 1 + NumArms
 for the base, gripper (* NumArms)
const float LynxArm6Info::CameraHorizFOV = 56.9f/180*(float)M_PI
 horizontal field of view (radians)
const float LynxArm6Info::CameraVertFOV = 45.2f/180*(float)M_PI
 vertical field of view (radians)
const float LynxArm6Info::CameraFOV = CameraHorizFOV
 should be set to maximum of CameraHorizFOV or CameraVertFOV
const unsigned int LynxArm6Info::CameraResolutionX = 320
 the number of pixels available in the 'full' layer
const unsigned int LynxArm6Info::CameraResolutionY = 240
 the number of pixels available in the 'full' layer

Output Offsets

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



enum  LynxArm6Info::ArmOffset_t {
  LynxArm6Info::ArmShoulderOffset = ArmOffset, LynxArm6Info::ArmElevatorOffset, LynxArm6Info::ArmElbowOffset, LynxArm6Info::WristOffset,
  LynxArm6Info::WristRollOffset = WristOffset, LynxArm6Info::WristPitchOffset, LynxArm6Info::GripperOffset
}
 

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

More...
const unsigned LynxArm6Info::PIDJointOffset = 0
 The beginning of the PID Joints.
const unsigned LynxArm6Info::ArmOffset = PIDJointOffset
 These are 'absolute' offsets for the arm joints, don't need to add to ArmOffset like TPROffset_t values do.
const unsigned LynxArm6Info::BaseFrameOffset = NumOutputs
 Use with kinematics to refer to base reference frame.
const unsigned LynxArm6Info::GripperFrameOffset = BaseFrameOffset+1
 Use with kinematics to refer to paw reference frames.

Input Offsets

The order in which inputs should be stored



enum  LynxArm6Info::ButtonOffset_t
 

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

More...
enum  LynxArm6Info::SensorOffset_t { LynxArm6Info::SensorAOffset, LynxArm6Info::SensorBOffset, LynxArm6Info::SensorCOffset, LynxArm6Info::SensorDOffset }
 

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

More...
const char *const LynxArm6Info::buttonNames [NumButtons+1] = { NULL }
 Provides a string name for each button.
const char *const LynxArm6Info::sensorNames [NumSensors] = { "SensorA", "SensorB", "SensorC", "SensorD" }
 Provides a string name for each sensor.

Detailed Description

Defines some capabilities of the 6-DOF PUMA style arm from Lynx Motion.

Author:
ejt (Creator)

Definition in file LynxArm6Info.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 158 of file LynxArm6Info.h.

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

Just a little macro for converting degrees to radians.

Definition at line 156 of file LynxArm6Info.h.


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