#include <InvKinWalkingParameters.h>
Inheritance diagram for InvKinWalkingParameters:
Public Types | |
enum | FootMode { rectangle = 0, halfCircle, circle, rounded, optimized, freeFormQuad, numOfFootModes } |
Public Member Functions | |
InvKinWalkingParameters (const char name[]="", int footMode=(int) rectangle, double foreHeight=0, double foreWidth=0, double foreCenterX=0, double hindHeight=0, double hindWidth=0, double hindCenterX=0, double foreFootLift=0, double hindFootLift=0, double foreFootTilt=0, double hindFootTilt=0, double legSpeedFactorX=1.0, double legSpeedFactorY=1.0, double legSpeedFactorR=1.0, double maxStepSizeX=0, double maxStepSizeY=0, double maxSpeedXChange=1000.0, double maxSpeedYChange=1000.0, double maxRotationChange=1000.0, double counterRotation=0, int stepLen=100, double groundPhaseF=0.5, double liftPhaseF=0, double loweringPhaseF=0, double groundPhaseH=0.5, double liftPhaseH=0, double loweringPhaseH=0, double legPhase0=0, double legPhase1=0.5, double legPhase2=0.5, double legPhase3=0, double bodyShiftX=0, double bodyShiftY=0, double bodyShiftOffset=0, double bodyTiltOffset=0, int leaveAnytime=0, long headTilt=jointDataInvalidValue, long headPan=jointDataInvalidValue, long headRoll=jointDataInvalidValue, long mouth=jointDataInvalidValue) | |
Constructor. | |
InvKinWalkingParameters (const GT2004Parameters >2004Param) | |
Constructor. | |
virtual void | getDimension (int &dim1, int &dim2) |
virtual void | getValue (int index1, int index2, double &min, double &max, double &value, ValueType &type) |
virtual void | setValue (int index1, int index2, double value) |
void | interpolate (InvKinWalkingParameters &p1, InvKinWalkingParameters &p2, double factor1) |
void | copyValuesFrom (const InvKinWalkingParameters ¶msToCopy) |
copies the walking parameters without correctionValues | |
void | init () |
initialise fixed parameters | |
void | readValues () |
reads the correction values, neck height from odometry.cfg | |
bool | allFeetOnGround (int currentStep) |
returns true when all feet are on ground | |
Public Attributes | |
char | name [100] |
name of the parameter set | |
FootMode | footMode |
how to move the feet | |
double | foreHeight |
fore walking height | |
double | foreWidth |
fore walking width distance robot center to foot | |
double | foreCenterX |
fore x-axis foot center position | |
double | hindHeight |
hind walking height | |
double | hindWidth |
hind walking width distance robot center to foot | |
double | hindCenterX |
hind x-axis foot center position | |
double | foreFootLift |
height of lifted fore foots | |
double | hindFootLift |
height of lifted hind foots | |
double | foreFootTilt |
tangens of tilt angle for fore foot movement | |
double | hindFootTilt |
tangens of tilt angle for hind foot movement | |
double | legSpeedFactorX |
speed factor by which fore legs are faster than hind legs | |
double | legSpeedFactorY |
speed factor by which fore legs are faster than hind legs | |
double | legSpeedFactorR |
speed factor by which fore legs are faster than hind legs | |
double | maxStepSizeX |
maximum step size | |
double | maxStepSizeY |
double | maxSpeedXChange |
maximum change in requested x speed (in mm/s change per step) | |
double | maxSpeedYChange |
maximum change in requested y speed (in mm/s change per step) | |
double | maxRotationChange |
maximum change in requested rotation speed (in rad/s change per step) | |
double | counterRotation |
while walking sideways a rotational speed is added to prevent unwanted rotation this factor is multiplied with y speed and added to rotation speed | |
int | stepLen |
number of ticks for one complete step | |
double | groundPhase [2] |
part of leg phase with foot on ground, front/hind legs | |
double | liftPhase [2] |
part of leg phase lifting foot, front/hind legs | |
double | loweringPhase [2] |
part of leg phase lowering foot, front/hind legs | |
double | legPhase [4] |
relative leg phases, time indexes for lifting each leg | |
double | bodyShiftX |
value for shifting body away from lifted legs in x direction (mm when leg fully lifted) | |
double | bodyShiftY |
value for shifting body away from lifted legs in y direction (mm when leg fully lifted) | |
double | bodyShiftOffset |
value by which the shift body motion is delayed (relative part of leg phase) | |
long | headTilt |
joint angles for joints not used for walking these must be jointDataInvalidValue to enable head motion use these for special walks that use the head eg for grabbing the ball | |
long | headPan |
joint angles for joints not used for walking these must be jointDataInvalidValue to enable head motion use these for special walks that use the head eg for grabbing the ball | |
long | headRoll |
joint angles for joints not used for walking these must be jointDataInvalidValue to enable head motion use these for special walks that use the head eg for grabbing the ball | |
long | mouth |
joint angles for joints not used for walking these must be jointDataInvalidValue to enable head motion use these for special walks that use the head eg for grabbing the ball | |
double | freeFormQuadPos [2][4][3] |
foot position coordinates for free form quad mode | |
bool | leaveAnytime |
whether engine can be left anytime or only when all four feet are on ground# | |
double | neckHeight |
neck height in mm while walking | |
double | bodyTilt |
body tilt angle | |
double | bodyTiltOffset |
parameter dependent body tilt offset | |
double | maxStepSizeR |
maximal step size for rotation steps this is calculated from maximal step sizes | |
InvKinWalkingParameters::CorrectionValues | correctionValues |
Factors to convert requested body speed to internal leg speed these values are read from odometry.cfg. | |
fixed gait parameters | |
int | groundTime [2] |
number of ticks foot is on ground | |
int | liftTime [2] |
number of ticks for lifting foot | |
int | loweringTime [2] |
number of ticks for lowering foot | |
int | airTime [2] |
number of ticks foot is in air | |
int | stepLift [2] |
time index for lifting foot | |
int | stepAir [2] |
time index when foot is fully lifted | |
int | stepLower [2] |
time index for lowering foot | |
int | legPhaseIndex [4] |
leg phases, time indexes for lifting each leg | |
int | firstStep |
time index for first time all feet are on ground |
Definition at line 26 of file InvKinWalkingParameters.h.
|
Definition at line 31 of file InvKinWalkingParameters.h. |
|
Constructor.
Definition at line 152 of file InvKinWalkingParameters.h. References init(), and readValues(). |
Here is the call graph for this function:
|
|
Implements Individual. Definition at line 244 of file InvKinWalkingParameters.h. |
|
Implements Individual. Definition at line 251 of file InvKinWalkingParameters.h. References counterRotation, legSpeedFactorR, legSpeedFactorX, legSpeedFactorY, max, maxRotationChange, maxSpeedXChange, maxSpeedYChange, maxStepSizeX, maxStepSizeY, and min. |
|
Implements Individual. Definition at line 320 of file InvKinWalkingParameters.h. References counterRotation, legSpeedFactorR, legSpeedFactorX, legSpeedFactorY, maxRotationChange, maxSpeedXChange, maxSpeedYChange, maxStepSizeX, and maxStepSizeY. |
|
|
copies the walking parameters without correctionValues
Definition at line 187 of file InvKinWalkingParameters.cpp. References bodyShiftOffset, bodyShiftX, bodyShiftY, counterRotation, footMode, foreCenterX, foreFootLift, foreFootTilt, foreHeight, foreWidth, groundPhase, hindCenterX, hindFootLift, hindFootTilt, hindHeight, hindWidth, legPhase, legSpeedFactorR, legSpeedFactorX, legSpeedFactorY, liftPhase, loweringPhase, maxRotationChange, maxSpeedXChange, maxSpeedYChange, maxStepSizeX, maxStepSizeY, name, and stepLen. Referenced by InvKinWalkingEngine::executeParameterized(). |
|
initialise fixed parameters
Definition at line 93 of file InvKinWalkingParameters.cpp. References allFeetOnGround(), getRobotConfiguration(), leaveAnytime, maxStepSizeR, maxStepSizeX, and maxStepSizeY. Referenced by InvKinWalkingParameters(), BB2004InvKinWalkingEngine::loadParameters(), InvKinWalkingEngine::nextParametersInterpolation(), and BB2004InvKinWalkingEngine::setParameters(). |
Here is the call graph for this function:
|
reads the correction values, neck height from odometry.cfg
Definition at line 139 of file InvKinWalkingParameters.cpp. References InvKinWalkingParameters::CorrectionValues::backward, correctionValues, InStream< InFile, InConfig >::eof(), InFile::exists(), InvKinWalkingParameters::CorrectionValues::forward, idText, maxStepSizeR, maxStepSizeX, maxStepSizeY, OUTPUT, InvKinWalkingParameters::CorrectionValues::rotationCenter, InvKinWalkingParameters::CorrectionValues::sideward, and InvKinWalkingParameters::CorrectionValues::turning. Referenced by ParamInvKinWalkingEngine::handleMessage(), and InvKinWalkingParameters(). |
Here is the call graph for this function:
|
returns true when all feet are on ground
Definition at line 178 of file InvKinWalkingParameters.cpp. References FORELEG. Referenced by InvKinWalkingEngine::executeParameterized(), and init(). |
|
name of the parameter set
Definition at line 29 of file InvKinWalkingParameters.h. Referenced by copyValuesFrom(), operator<<(), and operator>>(). |
|
how to move the feet
Definition at line 41 of file InvKinWalkingParameters.h. Referenced by InvKinWalkingEngine::calculateRelativeFootPosition(), copyValuesFrom(), BBInvKinIndividual::getParameters(), GT2004Parameters::GT2004Parameters(), interpolate(), operator<<(), and operator>>(). |
|
fore walking height
Definition at line 43 of file InvKinWalkingParameters.h. Referenced by BBInvKinIndividual::BBInvKinIndividual(), InvKinWalkingEngine::calculateFootPositions(), copyValuesFrom(), BBInvKinIndividual::getParameters(), GT2004Parameters::GT2004Parameters(), interpolate(), operator<<(), and operator>>(). |
|
fore walking width distance robot center to foot
Definition at line 44 of file InvKinWalkingParameters.h. Referenced by BBInvKinIndividual::BBInvKinIndividual(), InvKinWalkingEngine::calculateFootPositions(), copyValuesFrom(), BBInvKinIndividual::getParameters(), GT2004Parameters::GT2004Parameters(), interpolate(), operator<<(), and operator>>(). |
|
fore x-axis foot center position
Definition at line 45 of file InvKinWalkingParameters.h. Referenced by BBInvKinIndividual::BBInvKinIndividual(), InvKinWalkingEngine::calculateFootPositions(), copyValuesFrom(), BBInvKinIndividual::getParameters(), GT2004Parameters::GT2004Parameters(), interpolate(), operator<<(), and operator>>(). |
|
hind walking height
Definition at line 47 of file InvKinWalkingParameters.h. Referenced by BBInvKinIndividual::BBInvKinIndividual(), InvKinWalkingEngine::calculateFootPositions(), copyValuesFrom(), BBInvKinIndividual::getParameters(), GT2004Parameters::GT2004Parameters(), interpolate(), operator<<(), and operator>>(). |
|
hind walking width distance robot center to foot
Definition at line 48 of file InvKinWalkingParameters.h. Referenced by BBInvKinIndividual::BBInvKinIndividual(), InvKinWalkingEngine::calculateFootPositions(), copyValuesFrom(), BBInvKinIndividual::getParameters(), GT2004Parameters::GT2004Parameters(), interpolate(), operator<<(), operator>>(), and BB2004InvKinWalkingEngine::updateOdometry(). |
|
hind x-axis foot center position
Definition at line 49 of file InvKinWalkingParameters.h. Referenced by BBInvKinIndividual::BBInvKinIndividual(), InvKinWalkingEngine::calculateFootPositions(), copyValuesFrom(), BBInvKinIndividual::getParameters(), GT2004Parameters::GT2004Parameters(), interpolate(), operator<<(), and operator>>(). |
|
height of lifted fore foots
Definition at line 51 of file InvKinWalkingParameters.h. Referenced by BBInvKinIndividual::BBInvKinIndividual(), InvKinWalkingEngine::calculateFootPositions(), copyValuesFrom(), BBInvKinIndividual::getParameters(), GT2004Parameters::GT2004Parameters(), interpolate(), operator<<(), and operator>>(). |
|
height of lifted hind foots
Definition at line 52 of file InvKinWalkingParameters.h. Referenced by BBInvKinIndividual::BBInvKinIndividual(), InvKinWalkingEngine::calculateFootPositions(), copyValuesFrom(), BBInvKinIndividual::getParameters(), GT2004Parameters::GT2004Parameters(), interpolate(), operator<<(), and operator>>(). |
|
tangens of tilt angle for fore foot movement
Definition at line 54 of file InvKinWalkingParameters.h. Referenced by BBInvKinIndividual::BBInvKinIndividual(), InvKinWalkingEngine::calculateFootPositions(), copyValuesFrom(), BBInvKinIndividual::getParameters(), GT2004Parameters::GT2004Parameters(), interpolate(), operator<<(), and operator>>(). |
|
tangens of tilt angle for hind foot movement
Definition at line 55 of file InvKinWalkingParameters.h. Referenced by BBInvKinIndividual::BBInvKinIndividual(), InvKinWalkingEngine::calculateFootPositions(), copyValuesFrom(), BBInvKinIndividual::getParameters(), GT2004Parameters::GT2004Parameters(), interpolate(), operator<<(), and operator>>(). |
|
speed factor by which fore legs are faster than hind legs
Definition at line 57 of file InvKinWalkingParameters.h. Referenced by BBInvKinIndividual::BBInvKinIndividual(), InvKinWalkingEngine::calculateLegSpeeds(), copyValuesFrom(), BBInvKinIndividual::getParameters(), getValue(), interpolate(), InvKinWalkingParameters(), operator<<(), operator>>(), and setValue(). |
|
speed factor by which fore legs are faster than hind legs
Definition at line 58 of file InvKinWalkingParameters.h. Referenced by BBInvKinIndividual::BBInvKinIndividual(), InvKinWalkingEngine::calculateLegSpeeds(), copyValuesFrom(), BBInvKinIndividual::getParameters(), getValue(), interpolate(), InvKinWalkingParameters(), operator<<(), operator>>(), and setValue(). |
|
speed factor by which fore legs are faster than hind legs
Definition at line 59 of file InvKinWalkingParameters.h. Referenced by BBInvKinIndividual::BBInvKinIndividual(), InvKinWalkingEngine::calculateLegSpeeds(), copyValuesFrom(), BBInvKinIndividual::getParameters(), getValue(), interpolate(), InvKinWalkingParameters(), operator<<(), operator>>(), and setValue(). |
|
maximum step size
Definition at line 62 of file InvKinWalkingParameters.h. Referenced by BBInvKinIndividual::BBInvKinIndividual(), copyValuesFrom(), BBInvKinIndividual::getParameters(), getValue(), GT2004Parameters::GT2004Parameters(), init(), interpolate(), InvKinWalkingParameters(), InvKinWalkingEngine::limitToMaxSpeed(), operator<<(), operator>>(), readValues(), BB2004InvKinWalkingEngine::setParameters(), and setValue(). |
|
|
maximum change in requested x speed (in mm/s change per step)
Definition at line 66 of file InvKinWalkingParameters.h. Referenced by copyValuesFrom(), getValue(), interpolate(), InvKinWalkingParameters(), operator<<(), operator>>(), setValue(), and InvKinWalkingEngine::smoothMotionRequest(). |
|
maximum change in requested y speed (in mm/s change per step)
Definition at line 68 of file InvKinWalkingParameters.h. Referenced by copyValuesFrom(), getValue(), interpolate(), InvKinWalkingParameters(), operator<<(), operator>>(), setValue(), and InvKinWalkingEngine::smoothMotionRequest(). |
|
maximum change in requested rotation speed (in rad/s change per step)
Definition at line 70 of file InvKinWalkingParameters.h. Referenced by copyValuesFrom(), getValue(), interpolate(), InvKinWalkingParameters(), operator<<(), operator>>(), setValue(), and InvKinWalkingEngine::smoothMotionRequest(). |
|
while walking sideways a rotational speed is added to prevent unwanted rotation this factor is multiplied with y speed and added to rotation speed
Definition at line 76 of file InvKinWalkingParameters.h. Referenced by InvKinWalkingEngine::calculateLegSpeeds(), copyValuesFrom(), BBInvKinIndividual::getParameters(), getValue(), interpolate(), InvKinWalkingParameters(), operator<<(), operator>>(), and setValue(). |
|
|
part of leg phase with foot on ground, front/hind legs
Definition at line 80 of file InvKinWalkingParameters.h. Referenced by BBInvKinIndividual::BBInvKinIndividual(), copyValuesFrom(), BBInvKinIndividual::getParameters(), GT2004Parameters::GT2004Parameters(), interpolate(), operator<<(), and operator>>(). |
|
part of leg phase lifting foot, front/hind legs
Definition at line 81 of file InvKinWalkingParameters.h. Referenced by BBInvKinIndividual::BBInvKinIndividual(), copyValuesFrom(), BBInvKinIndividual::getParameters(), GT2004Parameters::GT2004Parameters(), interpolate(), operator<<(), and operator>>(). |
|
part of leg phase lowering foot, front/hind legs
Definition at line 82 of file InvKinWalkingParameters.h. Referenced by BBInvKinIndividual::BBInvKinIndividual(), copyValuesFrom(), BBInvKinIndividual::getParameters(), GT2004Parameters::GT2004Parameters(), interpolate(), operator<<(), and operator>>(). |
|
relative leg phases, time indexes for lifting each leg
Definition at line 83 of file InvKinWalkingParameters.h. Referenced by BBInvKinIndividual::BBInvKinIndividual(), copyValuesFrom(), BBInvKinIndividual::getParameters(), GT2004Parameters::GT2004Parameters(), interpolate(), operator<<(), and operator>>(). |
|
value for shifting body away from lifted legs in x direction (mm when leg fully lifted)
Definition at line 86 of file InvKinWalkingParameters.h. Referenced by BBInvKinIndividual::BBInvKinIndividual(), InvKinWalkingEngine::calculateFootPositions(), copyValuesFrom(), BBInvKinIndividual::getParameters(), interpolate(), operator<<(), and operator>>(). |
|
value for shifting body away from lifted legs in y direction (mm when leg fully lifted)
Definition at line 88 of file InvKinWalkingParameters.h. Referenced by BBInvKinIndividual::BBInvKinIndividual(), InvKinWalkingEngine::calculateFootPositions(), copyValuesFrom(), BBInvKinIndividual::getParameters(), interpolate(), operator<<(), and operator>>(). |
|
value by which the shift body motion is delayed (relative part of leg phase)
Definition at line 90 of file InvKinWalkingParameters.h. Referenced by BBInvKinIndividual::BBInvKinIndividual(), InvKinWalkingEngine::calculateFootPositions(), copyValuesFrom(), BBInvKinIndividual::getParameters(), interpolate(), operator<<(), and operator>>(). |
|
joint angles for joints not used for walking these must be jointDataInvalidValue to enable head motion use these for special walks that use the head eg for grabbing the ball
Definition at line 97 of file InvKinWalkingParameters.h. Referenced by InvKinWalkingEngine::calculateData(), GT2004Parameters::GT2004Parameters(), and interpolate(). |
|
joint angles for joints not used for walking these must be jointDataInvalidValue to enable head motion use these for special walks that use the head eg for grabbing the ball
Definition at line 97 of file InvKinWalkingParameters.h. Referenced by InvKinWalkingEngine::calculateData(), GT2004Parameters::GT2004Parameters(), and interpolate(). |
|
joint angles for joints not used for walking these must be jointDataInvalidValue to enable head motion use these for special walks that use the head eg for grabbing the ball
Definition at line 97 of file InvKinWalkingParameters.h. Referenced by InvKinWalkingEngine::calculateData(), GT2004Parameters::GT2004Parameters(), and interpolate(). |
|
joint angles for joints not used for walking these must be jointDataInvalidValue to enable head motion use these for special walks that use the head eg for grabbing the ball
Definition at line 97 of file InvKinWalkingParameters.h. Referenced by InvKinWalkingEngine::calculateData(), GT2004Parameters::GT2004Parameters(), and interpolate(). |
|
foot position coordinates for free form quad mode
Definition at line 102 of file InvKinWalkingParameters.h. Referenced by InvKinWalkingEngine::calculateRelativeFootPosition(), interpolate(), and InvKinWalkingParameters(). |
|
whether engine can be left anytime or only when all four feet are on ground#
Definition at line 107 of file InvKinWalkingParameters.h. Referenced by InvKinWalkingEngine::executeParameterized(), init(), interpolate(), InvKinWalkingParameters(), and BB2004InvKinWalkingEngine::setParameters(). |
|
number of ticks foot is on ground
Definition at line 111 of file InvKinWalkingParameters.h. Referenced by InvKinWalkingEngine::calculateRelativeFootPosition(). |
|
number of ticks for lifting foot
Definition at line 112 of file InvKinWalkingParameters.h. Referenced by InvKinWalkingEngine::calculateRelativeFootPosition(). |
|
number of ticks for lowering foot
Definition at line 113 of file InvKinWalkingParameters.h. Referenced by InvKinWalkingEngine::calculateRelativeFootPosition(). |
|
number of ticks foot is in air
Definition at line 114 of file InvKinWalkingParameters.h. Referenced by InvKinWalkingEngine::calculateRelativeFootPosition(). |
|
time index for lifting foot
Definition at line 115 of file InvKinWalkingParameters.h. Referenced by InvKinWalkingEngine::calculateRelativeFootPosition(). |
|
time index when foot is fully lifted
Definition at line 116 of file InvKinWalkingParameters.h. Referenced by InvKinWalkingEngine::calculateRelativeFootPosition(). |
|
time index for lowering foot
Definition at line 117 of file InvKinWalkingParameters.h. Referenced by InvKinWalkingEngine::calculateRelativeFootPosition(). |
|
leg phases, time indexes for lifting each leg
Definition at line 118 of file InvKinWalkingParameters.h. Referenced by InvKinWalkingEngine::calculateFootPositions(). |
|
time index for first time all feet are on ground
Definition at line 119 of file InvKinWalkingParameters.h. Referenced by InvKinWalkingEngine::executeParameterized(), and InvKinWalkingEngine::setParameters(). |
|
neck height in mm while walking
Definition at line 123 of file InvKinWalkingParameters.h. Referenced by InvKinWalkingEngine::executeParameterized(), and interpolate(). |
|
body tilt angle
Definition at line 126 of file InvKinWalkingParameters.h. Referenced by InvKinWalkingEngine::calculateData(), and InvKinWalkingEngine::executeParameterized(). |
|
parameter dependent body tilt offset
Definition at line 126 of file InvKinWalkingParameters.h. Referenced by InvKinWalkingEngine::executeParameterized(), and interpolate(). |
|
maximal step size for rotation steps this is calculated from maximal step sizes
Definition at line 133 of file InvKinWalkingParameters.h. Referenced by init(), InvKinWalkingEngine::limitToMaxSpeed(), readValues(), and BB2004InvKinWalkingEngine::setParameters(). |
|
Factors to convert requested body speed to internal leg speed these values are read from odometry.cfg.
Referenced by InvKinWalkingEngine::calculateLegSpeeds(), interpolate(), InvKinWalkingEngine::limitToMaxSpeed(), readValues(), and BB2004InvKinWalkingEngine::setParameters(). |