Homepage | Demos | Overview | Downloads | Tutorials | Reference | Credits |
#include <HeadPointerMC.h>
Inheritance diagram for HeadPointerMC:
Definition at line 10 of file HeadPointerMC.h.
Public Types | |
enum | CoordFrame_t { BodyRelative, GravityRelative } |
Various modes the head can be in. In the future may want to add ability to explicitly track an object or point in the world model. More... | |
Public Member Functions | |
HeadPointerMC () | |
constructor, defaults to active, BodyRelative, all joints at 0 | |
virtual | ~HeadPointerMC () |
destructor | |
void | setWeight (double w) |
sets the weight values for all the neck joints | |
void | setWeight (RobotInfo::TPROffset_t i, double weight) |
set a specific head joint weight, pass one of RobotInfo::TPROffset_t, not a full offset! | |
void | setActive (bool a) |
sets active flag, see isDirty() | |
bool | getActive () const |
returns active flag, see isDirty() | |
void | noMaxSpeed () |
sets maxSpeed to 0 (no maximum) | |
void | defaultMaxSpeed () |
restores maxSpeed to default settings from Config::Motion_Config | |
void | setMaxSpeed (TPROffset_t i, float x) |
sets maxSpeed, pass it rad/sec | |
float | getMaxSpeed (TPROffset_t i) |
returns maxSpeed in rad/sec | |
double | convert (RobotInfo::TPROffset_t i, double v, CoordFrame_t srcmode, CoordFrame_t tgtmode) const |
converts a value v in srcmode to a value in tgtmode that would leave the joint angle for joint i constant (you probably won't need to call this directly) | |
Joint Accessors | |
Note that none of these are virtual , so you don't have to checkout to use them, you should be able to use MotionManager::peekMotion() | |
void | setJoints (double tilt, double pan, double roll) |
Directly sets the neck values, uses current mode. | |
void | setMode (CoordFrame_t m, bool convert=true) |
sets all the joints to the given mode, will convert the values to the new mode if convert is true | |
void | setJointMode (RobotInfo::TPROffset_t i, CoordFrame_t m, bool convert=true) |
set a specific head joint's mode, will convert from previous mode's value to next mode's value if convert is true. Pass one of RobotInfo::TPROffset_t, not a full offset! | |
void | setJointValue (RobotInfo::TPROffset_t i, double value) |
set a specific head joint's value (for whatever mode it's in), pass one of RobotInfo::TPROffset_t, not a full offset! | |
void | setJointValueAndMode (RobotInfo::TPROffset_t i, double value, CoordFrame_t m) |
set a specific head joint, pass one of RobotInfo::TPROffset_t, not a full offset! | |
void | setJointValueFromMode (RobotInfo::TPROffset_t i, double value, CoordFrame_t m) |
set a specific head joint auto converting value from mode m to the current mode, pass one of RobotInfo::TPROffset_t, not a full offset! | |
CoordFrame_t | getJointMode (RobotInfo::TPROffset_t i) const |
returns the current mode for joint i (use RobotInfo::TPROffset_t, not global offset) | |
double | getJointValue (RobotInfo::TPROffset_t i) const |
returns the current value (relative to the current mode) of joint i, use getOutputCmd() if you want to know the actual target joint value (to get the actual current joint position, look in WorldState | |
Inherited: | |
virtual int | updateOutputs () |
Updates where the head is looking. | |
virtual const OutputCmd & | getOutputCmd (unsigned int i) |
returns one of the headJoints entries or ::unusedJoint if not a head joint | |
virtual int | isDirty () |
true if a change has been made since the last updateJointCmds() and we're active | |
virtual int | isAlive () |
Updates where the head is looking. | |
Protected Member Functions | |
double | convToBodyRelative (TPROffset_t i, double v, CoordFrame_t mode) const |
converts to a body relative measurement for joint i | |
double | convFromBodyRelative (TPROffset_t i, double v, CoordFrame_t mode) const |
converts from a body relative measurement for joint i | |
Protected Attributes | |
bool | dirty |
true if a change has been made since last call to updateJointCmds() | |
bool | active |
set by accessor functions, defaults to true | |
OutputCmd | headJoints [NumHeadJoints] |
stores the last values we sent from updateOutputs | |
float | headValues [NumHeadJoints] |
stores the target value of each joint, relative to headModes | |
CoordFrame_t | headModes [NumHeadJoints] |
stores the current mode of each joint, for instance so tilt can be GravityRelative while pan is static | |
float | maxSpeed [NumHeadJoints] |
initialized from Config::motion_config, but can be overridden by setMaxSpeed(); rad per frame |
|
Various modes the head can be in. In the future may want to add ability to explicitly track an object or point in the world model.
Definition at line 18 of file HeadPointerMC.h. Referenced by getJointMode(). |
|
constructor, defaults to active, BodyRelative, all joints at 0
Definition at line 8 of file HeadPointerMC.cc. |
|
destructor
Definition at line 15 of file HeadPointerMC.h. |
|
converts a value v in srcmode to a value in tgtmode that would leave the joint angle for joint i constant (you probably won't need to call this directly)
Definition at line 34 of file HeadPointerMC.h. Referenced by setJointMode(), and setJointValueFromMode(). |
|
converts from a body relative measurement for joint i
Definition at line 132 of file HeadPointerMC.cc. Referenced by convert(). |
|
converts to a body relative measurement for joint i
Definition at line 98 of file HeadPointerMC.cc. Referenced by convert(), and updateOutputs(). |
|
restores maxSpeed to default settings from Config::Motion_Config
Definition at line 32 of file HeadPointerMC.cc. Referenced by HeadPointerMC(). |
|
returns active flag, see isDirty()
Definition at line 26 of file HeadPointerMC.h. Referenced by getOutputCmd(). |
|
returns the current mode for joint i (use RobotInfo::TPROffset_t, not global offset)
Definition at line 46 of file HeadPointerMC.h. |
|
returns the current value (relative to the current mode) of joint i, use getOutputCmd() if you want to know the actual target joint value (to get the actual current joint position, look in WorldState
Definition at line 47 of file HeadPointerMC.h. |
|
returns maxSpeed in rad/sec
Definition at line 31 of file HeadPointerMC.h. |
|
returns one of the headJoints entries or ::unusedJoint if not a head joint
Definition at line 89 of file HeadPointerMC.cc. |
|
Updates where the head is looking.
Implements MotionCommand. Definition at line 54 of file HeadPointerMC.h. |
|
true if a change has been made since the last updateJointCmds() and we're active
Implements MotionCommand. Definition at line 53 of file HeadPointerMC.h. Referenced by updateOutputs(). |
|
sets maxSpeed to 0 (no maximum)
Definition at line 28 of file HeadPointerMC.h. |
|
sets active flag, see isDirty()
Definition at line 25 of file HeadPointerMC.h. |
|
set a specific head joint's mode, will convert from previous mode's value to next mode's value if convert is true. Pass one of RobotInfo::TPROffset_t, not a full offset!
Definition at line 43 of file HeadPointerMC.cc. Referenced by setMode(). |
|
Directly sets the neck values, uses current mode.
Definition at line 19 of file HeadPointerMC.cc. Referenced by WalkToTargetMachine::processEvent(), StareAtBallBehavior::processEvent(), and ChaseBallBehavior::processEvent(). |
|
set a specific head joint's value (for whatever mode it's in), pass one of RobotInfo::TPROffset_t, not a full offset!
Definition at line 43 of file HeadPointerMC.h. |
|
set a specific head joint, pass one of RobotInfo::TPROffset_t, not a full offset!
Definition at line 44 of file HeadPointerMC.h. |
|
set a specific head joint auto converting value from mode m to the current mode, pass one of RobotInfo::TPROffset_t, not a full offset!
Definition at line 45 of file HeadPointerMC.h. |
|
sets maxSpeed, pass it rad/sec
Definition at line 30 of file HeadPointerMC.h. |
|
sets all the joints to the given mode, will convert the values to the new mode if convert is true
Definition at line 38 of file HeadPointerMC.cc. |
|
set a specific head joint weight, pass one of RobotInfo::TPROffset_t, not a full offset!
Definition at line 24 of file HeadPointerMC.h. |
|
sets the weight values for all the neck joints
Definition at line 26 of file HeadPointerMC.cc. Referenced by HeadPointerMC(). |
|
Updates where the head is looking.
Implements MotionCommand. Definition at line 50 of file HeadPointerMC.cc. |
|
set by accessor functions, defaults to true
Definition at line 62 of file HeadPointerMC.h. Referenced by getActive(), isDirty(), and setActive(). |
|
true if a change has been made since last call to updateJointCmds()
Definition at line 61 of file HeadPointerMC.h. Referenced by isDirty(), setJointMode(), setJoints(), setJointValue(), setJointValueAndMode(), setJointValueFromMode(), setWeight(), and updateOutputs(). |
|
stores the last values we sent from updateOutputs
Definition at line 63 of file HeadPointerMC.h. Referenced by getOutputCmd(), HeadPointerMC(), setWeight(), and updateOutputs(). |
|
stores the current mode of each joint, for instance so tilt can be GravityRelative while pan is static
Definition at line 65 of file HeadPointerMC.h. Referenced by getJointMode(), HeadPointerMC(), setJointMode(), setJointValueAndMode(), setJointValueFromMode(), and updateOutputs(). |
|
stores the target value of each joint, relative to headModes
Definition at line 64 of file HeadPointerMC.h. Referenced by getJointValue(), HeadPointerMC(), setJointMode(), setJoints(), setJointValue(), setJointValueAndMode(), setJointValueFromMode(), and updateOutputs(). |
|
initialized from Config::motion_config, but can be overridden by setMaxSpeed(); rad per frame
Definition at line 67 of file HeadPointerMC.h. Referenced by defaultMaxSpeed(), getMaxSpeed(), noMaxSpeed(), setMaxSpeed(), and updateOutputs(). |
Tekkotsu v2.0 |
Generated Wed Jan 21 03:23:14 2004 by Doxygen 1.3.4 |