UPennWalkMC Class Reference#include <UPennWalkMC.h>
Inheritance diagram for UPennWalkMC:
[legend]List of all members.
Detailed Description
Uses the UPennalizers' 2004 RoboCup code to compute walking gaits.
This class is ported from University of Pennsylvania's 2004 Robosoccer entry, and falls under their license: ========================================================================= This software is distributed under the GNU General Public License, version 2. If you do not have a copy of this licence, visit www.gnu.org, or write: Free Software Foundation, 59 Temple Place, Suite 330 Boston, MA 02111-1307 USA. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY, including MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. =========================================================================
Definition at line 20 of file UPennWalkMC.h.
|
Public Member Functions |
| UPennWalkMC () |
| constructor
|
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 | setTargetVelocity (float x, float y, float a) |
Protected Member Functions |
void | SetLegJoints (double *x) |
void | SetStanceParameters (double bodyTilt, double shoulderHeight, double foreX0, double foreY0, double hindX0, double hindY0) |
void | SetWalkSpeeds (int quarterPeriod, double maxDistance, double foreLiftInitial, double foreLiftFinal, double hindLiftInitial, double hindLiftFinal) |
void | SetWalkWorkspace (double foreXMin, double foreXMax, double foreYMin, double foreYMax, double hindXMin, double hindXMax, double hindYMin, double hindYMax) |
void | LegPositionsToAngles (double *a) |
| Calculate 12 leg joint angles from leg positions.
|
void | StandLegs (double x=0, double y=0, double z=0) |
int | GetWalkPhase () |
void | SetWalkPhase (int phase) |
void | WalkLegs (double xWalk=0.0, double yWalk=0.0, double aWalk=0.0) |
Static Protected Member Functions |
static double | clip (double x, double min=-1.0, double max=1.0) |
Protected Attributes |
float | xVel |
float | yVel |
float | aVel |
double | body_tilt |
double | shoulder_height |
double | fore_x0 |
double | fore_y0 |
double | hind_x0 |
double | hind_y0 |
int | walk_phase |
int | walk_phase_direction |
int | walk_quarter_period |
double | walk_max_distance |
double | walk_fore_lift_initial |
double | walk_fore_lift_final |
double | walk_hind_lift_initial |
double | walk_hind_lift_final |
double | walk_current_x [NumLegs] |
double | walk_current_y [NumLegs] |
double | walk_fore_xmin |
double | walk_fore_xmax |
double | walk_fore_ymin |
double | walk_fore_ymax |
double | walk_hind_xmin |
double | walk_hind_xmax |
double | walk_hind_ymin |
double | walk_hind_ymax |
Constructor & Destructor Documentation
UPennWalkMC::UPennWalkMC |
( |
|
) |
|
|
Member Function Documentation
static double UPennWalkMC::clip |
( |
double |
x, |
|
|
double |
min = -1.0 , |
|
|
double |
max = 1.0 |
|
) |
[inline, static, protected] |
|
int UPennWalkMC::GetWalkPhase |
( |
|
) |
[protected] |
|
virtual int UPennWalkMC::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 34 of file UPennWalkMC.h. |
virtual int UPennWalkMC::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 33 of file UPennWalkMC.h. |
void UPennWalkMC::LegPositionsToAngles |
( |
double * |
a |
) |
[protected] |
|
|
Calculate 12 leg joint angles from leg positions.
Note positions are relative to stance parameters so all zero inputs -> stance angles
Definition at line 223 of file UPennWalkMC.cc.
Referenced by StandLegs(), and WalkLegs(). |
void UPennWalkMC::SetLegJoints |
( |
double * |
x |
) |
[protected] |
|
void UPennWalkMC::SetStanceParameters |
( |
double |
bodyTilt, |
|
|
double |
shoulderHeight, |
|
|
double |
foreX0, |
|
|
double |
foreY0, |
|
|
double |
hindX0, |
|
|
double |
hindY0 |
|
) |
[protected] |
|
void UPennWalkMC::setTargetVelocity |
( |
float |
x, |
|
|
float |
y, |
|
|
float |
a |
|
) |
[inline] |
|
void UPennWalkMC::SetWalkPhase |
( |
int |
phase |
) |
[protected] |
|
void UPennWalkMC::SetWalkSpeeds |
( |
int |
quarterPeriod, |
|
|
double |
maxDistance, |
|
|
double |
foreLiftInitial, |
|
|
double |
foreLiftFinal, |
|
|
double |
hindLiftInitial, |
|
|
double |
hindLiftFinal |
|
) |
[protected] |
|
void UPennWalkMC::SetWalkWorkspace |
( |
double |
foreXMin, |
|
|
double |
foreXMax, |
|
|
double |
foreYMin, |
|
|
double |
foreYMax, |
|
|
double |
hindXMin, |
|
|
double |
hindXMax, |
|
|
double |
hindYMin, |
|
|
double |
hindYMax |
|
) |
[protected] |
|
void UPennWalkMC::StandLegs |
( |
double |
x = 0 , |
|
|
double |
y = 0 , |
|
|
double |
z = 0 |
|
) |
[protected] |
|
virtual int UPennWalkMC::updateOutputs |
( |
|
) |
[inline, virtual] |
|
void UPennWalkMC::WalkLegs |
( |
double |
xWalk = 0.0 , |
|
|
double |
yWalk = 0.0 , |
|
|
double |
aWalk = 0.0 |
|
) |
[protected] |
|
Member Data Documentation
The documentation for this class was generated from the following files:
|