Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

TailWagMC Class Reference

#include <TailWagMC.h>

Inheritance diagram for TailWagMC:

Inheritance graph
[legend]
List of all members.

Detailed Description

A simple motion command for wagging the tail - you can specify period, magnitude, and tilt.

Definition at line 14 of file TailWagMC.h.

Public Member Functions

 TailWagMC ()
 constructor
 TailWagMC (unsigned int cyc_period, float cyc_magnitude)
 constructor
virtual ~TailWagMC ()
 destructor
virtual int updateOutputs ()
 is called once per update cycle, can do any processing you need to change your priorities or set output commands on the MotionManager
virtual int isDirty ()
 not used by MotionManager at the moment, but could be used to reduce recomputation, and you may find it useful
virtual int isAlive ()
 used to prune "dead" motions from the MotionManager
void setPeriod (unsigned int p)
 sets the period of time between swings, in milliseconds
unsigned int getPeriod () const
 gets the period of time between swings, in milliseconds
void setMagnitude (double mag)
 sets the magnitude of swings, in radians
double getMagnitude () const
 gets the magnitude of swings, in radians
void setTilt (double r)
 sets the tilt of the tail while wagging, in radians
void unsetTilt ()
 makes the tilt control unspecified, will let something else control tilt
double getTilt () const
 gets the tilt of the tail while wagging, in radians
double getPan () const
 returns the most recent pan value of the tail while wagging, in radians
bool getActive ()
 returns true if this is currently trying to wag the tail
void setActive (bool a)
 turns the tail wagger on or off

Protected Attributes

unsigned int period
 period of time between swings, in milliseconds
double magnitude
 magnitude of swings, in radians
unsigned int offset
 offset in the period, only used if period is changed to avoid twitching
bool active
 true if this is currently trying to wag the tail
float last_pan
 last tail position
int last_sign
 sign of tail movement direction
OutputCmd tilt
 holds current setting for the tilt joint
OutputCmd pans [NumFrames]
 holds commands for planning ahead the wagging


Member Function Documentation

virtual int TailWagMC::isAlive (  )  [inline, virtual]

used to prune "dead" motions from the MotionManager

note that a motion could be "paused" or inactive and therefore not dirty, but still alive, biding its time to "strike" ;)

Returns:
zero if the motion is still processing, non-zero otherwise

Implements MotionCommand.

Definition at line 62 of file TailWagMC.h.

virtual int TailWagMC::isDirty (  )  [inline, virtual]

not used by MotionManager at the moment, but could be used to reduce recomputation, and you may find it useful

Returns:
zero if none of the commands have changed since last getJointCmd(), else non-zero

Implements MotionCommand.

Definition at line 60 of file TailWagMC.h.

void TailWagMC::setPeriod ( unsigned int  p  )  [inline]

sets the period of time between swings, in milliseconds

a bit complicated in order to avoid jerking around when the period changes

Definition at line 66 of file TailWagMC.h.

virtual int TailWagMC::updateOutputs (  )  [inline, virtual]

is called once per update cycle, can do any processing you need to change your priorities or set output commands on the MotionManager

Returns:
zero if no changes were made, non-zero otherwise
See also:
RobotInfo::NumFrames

RobotInfo::FrameTime

Implements MotionCommand.

Definition at line 30 of file TailWagMC.h.


The documentation for this class was generated from the following file:

Tekkotsu v3.0
Generated Fri May 11 20:08:51 2007 by Doxygen 1.4.7