$search
#include <newPGstepStudy.h>
Public Member Functions | |
void | addStepFeaturesWithSlide (StepFeatures &stepF1, StepFeatures &stepF2, double negativeSlideTime) |
CnewPGstepStudy () | |
void | drawSeqHalfStepFeatures (ofstream &fb, double incrTime, double zc, double g, double t1, double t2, double t3, vector< double > vect_input, char leftOrRightFootStable, double coefFeet) |
void | drawSeqSlidedHalfStepFeatures (ofstream &fb, double incrTime, double zc, double g, double t1, double t2, double t3, vector< double > vect_input, char leftOrRightFootStable, double coefFeet) |
void | drawSeqStepFeatures (ofstream &fb, double incrTime, double zc, double g, double t1, double t2, double t3, double t4, double t5, vector< double > vect_input, char leftOrRightFootStable, double coefFeet) |
void | plotFootHeightSeqHalfStep (ofstream &fb, char whichDimension, double incrTime, double zc, double g, double t1, double t2, double t3, vector< double > vect_input, char leftOrRightFootStable) |
void | plotFootHeightSeqSlidedHalfStep (ofstream &fb, char whichDimension, double incrTime, double zc, double g, double t1, double t2, double t3, vector< double > vect_input, char leftOrRightFootStable) |
void | plotFootHeightSeqStep (ofstream &fb, char whichDimension, double incrTime, double zc, double g, double t1, double t2, double t3, double t4, double t5, vector< double > vect_input, char leftOrRightFootStable) |
void | plotOneDimensionCOMZMPSeqHalfStep (ofstream &fb, char whichDimension, double incrTime, double zc, double g, double t1, double t2, double t3, vector< double > vect_input, char leftOrRightFootStable) |
void | plotOneDimensionCOMZMPSeqSlidedHalfStep (ofstream &fb, char whichDimension, double incrTime, double zc, double g, double t1, double t2, double t3, vector< double > vect_input, char leftOrRightFootStable) |
void | plotOneDimensionCOMZMPSeqStep (ofstream &fb, char whichDimension, double incrTime, double zc, double g, double t1, double t2, double t3, double t4, double t5, vector< double > vect_input, char leftOrRightFootStable) |
void | produceOneDOWNHalfStepFeatures (StepFeatures &stepF, double incrTime, double zc, double g, double t1, double t2, double t3, vector< double > vectStep_input, char leftOrRightFootStable) |
void | produceOneStepFeatures (StepFeatures &stepF, double incrTime, double zc, double g, double t1, double t2, double t3, double t4, double t5, vector< double > vectStep_input, char leftOrRightFootStable) |
void | produceOneUPHalfStepFeatures (StepFeatures &stepF, double incrTime, double zc, double g, double t1, double t2, double t3, vector< double > vectStep_input, char leftOrRightFootStable) |
void | produceSeqHalfStepFeatures (StepFeatures &stepF, double incrTime, double zc, double g, double t1, double t2, double t3, vector< double > vectSteps_input, char leftOrRightFootStable) |
void | produceSeqSlidedHalfStepFeatures (StepFeatures &stepF, double incrTime, double zc, double g, double t1, double t2, double t3, vector< double > vectSteps_input, char leftOrRightFootStable) |
void | produceSeqStepFeatures (StepFeatures &stepF, double incrTime, double zc, double g, double t1, double t2, double t3, double t4, double t5, vector< double > vectSteps_input, char leftOrRightFootStable) |
~CnewPGstepStudy () | |
Private Member Functions | |
void | genCOMZMPtrajectory (vector< double > &outputCOM, vector< double > &outputZMP, double incrTime, double zc, double g, double delta0, double deltaX, double deltaX2, double t1, double t2, double t3, double t4, double t5) |
void | genFOOTdownUPheight (vector< double > &output, double incrTime, double heightMax, double delay, double t1, double t2, double t3) |
void | genFOOTheight (vector< double > &output, double incrTime, double heightMax, double delay, double t1, double t2, double t3, double t4, double t5) |
void | genFOOTorientation (vector< double > &output, double incrTime, double initOrient, double endOrient, double delay, double t1, double t2, double t3, double t4, double t5, char dh) |
void | genFOOTposition (vector< double > &outputX, vector< double > &outputY, double incrTime, double xinit, double yinit, double xend, double yend, double delay, double t1, double t2, double t3, double t4, double t5, char dh) |
void | genFOOTupDOWNheight (vector< double > &output, double incrTime, double heightMax, double delay, double t1, double t2, double t3) |
void | genWAISTorientation (vector< double > &output, double incrTime, double initOrient, double endOrient, double delay, double t1, double t2, double t3, double t4, double t5, char dh) |
Definition at line 77 of file newPGstepStudy.h.
CnewPGstepStudy::CnewPGstepStudy | ( | ) |
Constructor.
Definition at line 12 of file newPGstepStudy.cpp.
CnewPGstepStudy::~CnewPGstepStudy | ( | ) |
Destructor.
Definition at line 17 of file newPGstepStudy.cpp.
void CnewPGstepStudy::addStepFeaturesWithSlide | ( | StepFeatures & | stepF1, | |
StepFeatures & | stepF2, | |||
double | negativeSlideTime | |||
) |
Definition at line 1553 of file newPGstepStudy.cpp.
void CnewPGstepStudy::drawSeqHalfStepFeatures | ( | ofstream & | fb, | |
double | incrTime, | |||
double | zc, | |||
double | g, | |||
double | t1, | |||
double | t2, | |||
double | t3, | |||
vector< double > | vect_input, | |||
char | leftOrRightFootStable, | |||
double | coefFeet | |||
) |
Definition at line 244 of file newPGstepStudy.cpp.
void CnewPGstepStudy::drawSeqSlidedHalfStepFeatures | ( | ofstream & | fb, | |
double | incrTime, | |||
double | zc, | |||
double | g, | |||
double | t1, | |||
double | t2, | |||
double | t3, | |||
vector< double > | vect_input, | |||
char | leftOrRightFootStable, | |||
double | coefFeet | |||
) |
Definition at line 464 of file newPGstepStudy.cpp.
void CnewPGstepStudy::drawSeqStepFeatures | ( | ofstream & | fb, | |
double | incrTime, | |||
double | zc, | |||
double | g, | |||
double | t1, | |||
double | t2, | |||
double | t3, | |||
double | t4, | |||
double | t5, | |||
vector< double > | vect_input, | |||
char | leftOrRightFootStable, | |||
double | coefFeet | |||
) |
drawSteps outputs a file intended for gnuplot. Let's say that the result of drawSteps is in the file "data.gnuplot". Please write the following script file "toto.txt": set size ratio 1 unset key set term postscript eps enhanced set output "totoOutput.eps" plot "data.gnuplot" index 0 w l lt 1 lw 0.5 lc 1, "data.gnuplot" index 1 w l lt 2 lw 0.5 lc 2, "data.gnuplot" index 2 w l lt 2 lw 0.5 lc 2, "data.gnuplot" index 3 w l lt 1 lw 0.5 lc 3, "totoOutput.dat" index 4 w l lt 1 lw 0.5 lc 4 Then, gnuplot> load 'toto.txt' will produce the eps file "totoOutput.eps".
fb | The ofstream corresponding to the file where the data will be written. | |
vect_input | Describes the sequence of steps. | |
leftOrRightFirstStable | ||
halfStepsON | ||
slideON | HERE IS A PRECISE DESCRIPTION OF THE FORMAT USED FOR vect_input: First remark: all angles are in degrees. Let's denote by "FStF" the foot which will be stable during first step: the first stable foot. The first 6 parameters are the following: We consider a plan (the floor) with a x axis and a y axis. The orientation of the x axis in this plan is 0. The (0,0) origin of this plan corresponds to the position of the waist and the CoM of the robot (they are supposed identical). The 3 first parameters correspond to the FStF: they are respectively the x position, y position and (absolute) orientation of the FStF. The orientation of the FStF will always be supposed equal to ZERO ! Hence, the third parameter (vect_input[2]) is superfluous: it should always be 0 !! The 3 next parameters correspond to the first swinging foot (FSwF): x position, y orientation, (absolute) orientation. Let's denote by x, y, t, x', y', t', the first 6 parameters. We suppose also that the position of the CoM is at the BARYCENTER OF THE INITIAL POSITIONS OF THE FEET; therefore we have: -x' = x , and -y' = y. HENCE, the 6 first parameters can in fact be generated with only 3 parameters, and : x,y,t,x',y',t' = -x',-y',0,x',y',t' So, we need only the initial position and orientation of the FSwF to generate the 6 parameters. The first 6 parameters are all ABSOLUTE coordinates, but the following parameters are all RELATIVE coordinates ! What follows is a list of groups of parameters, each group corresponding to one step, or one half step realized. The groups depends on the options chosen. Let's describe all the cases. CASE 1: halfStepsON=false, slidedStepsON=false. In that case, what follows the 6 first parameters are groups of 3 parameters, each group describing the RELATIVE position of the last foot that was put on the ground. For example, if G_i = (x_i, y_i, t_i) is the ith such group, then (x_i, y_i) is the couple of coordinates (in meters) of the vector between the center of the stable foot and the swinging foot just after the ith step is finished (i.e. when the swinging foot touches the ground). Finally, t_i is the RELATIVE orientation (in degrees) of the final position of the swinging foot compared to the orientation of stable foot. For example, since the orientation of the first stable foot is 0, the parameter t_1 is the absolute orientation of the FSwF when the first step is just finished. CASE 2: halfStepsON=false, slidedStepsON=true. !!WARNING!! This is for the moment a forbidden choice. So far, the "sliding" has been implemented only with sequences of half steps. CASE 3: halfStepsON=true, slidedStepsON=false. In that case, what follows the 6 first parameters are groups of 5 parameters. Each group corresponds to 2 half steps: one up, and one down. The two first parameters correspond to the RELATIVE position of the swing foot after the half step going up, i.e. when the swing foot is at his highest point. At this moment, the two feet are parallel. The first parameter is the lateral distance (in meters) between the two feet, and the second parameters is the height of the swing foot. Then, since after the next half step a full step has been realized, the three next parameters are defined just as in the case 1. CASE 4: halfStepsON=true, slidedStepsON=true. In that case, what follows the first 6 parameters are groups of 7 parameters. The 2nd and 3rd, 5th, 6th and 7th parameters represent two half steps, and are defined just as in the case 3. The 1st and 4th parameters are "sliding negative times" (in s.), for respectively the first and second half step. For example, a slide parameter of -0.3s. means that the next step, instead of starting after the previous half step has been completed, will start 0.3s. before the end of the previous half step. The last 0.3s. of the previous half step will thus become a mixture between a finishing and a starting half step. This technique is used to speed up the walk and make it smoother. !!IMPORTANT!!: since there is nothing before the first half step, the first slide parameter must always be 0. |
Definition at line 22 of file newPGstepStudy.cpp.
void CnewPGstepStudy::genCOMZMPtrajectory | ( | vector< double > & | outputCOM, | |
vector< double > & | outputZMP, | |||
double | incrTime, | |||
double | zc, | |||
double | g, | |||
double | delta0, | |||
double | deltaX, | |||
double | deltaX2, | |||
double | t1, | |||
double | t2, | |||
double | t3, | |||
double | t4, | |||
double | t5 | |||
) | [private] |
Definition at line 1111 of file newPGstepStudy.cpp.
void CnewPGstepStudy::genFOOTdownUPheight | ( | vector< double > & | output, | |
double | incrTime, | |||
double | heightMax, | |||
double | delay, | |||
double | t1, | |||
double | t2, | |||
double | t3 | |||
) | [private] |
Definition at line 1305 of file newPGstepStudy.cpp.
void CnewPGstepStudy::genFOOTheight | ( | vector< double > & | output, | |
double | incrTime, | |||
double | heightMax, | |||
double | delay, | |||
double | t1, | |||
double | t2, | |||
double | t3, | |||
double | t4, | |||
double | t5 | |||
) | [private] |
Definition at line 1274 of file newPGstepStudy.cpp.
void CnewPGstepStudy::genFOOTorientation | ( | vector< double > & | output, | |
double | incrTime, | |||
double | initOrient, | |||
double | endOrient, | |||
double | delay, | |||
double | t1, | |||
double | t2, | |||
double | t3, | |||
double | t4, | |||
double | t5, | |||
char | dh | |||
) | [private] |
Definition at line 1362 of file newPGstepStudy.cpp.
void CnewPGstepStudy::genFOOTposition | ( | vector< double > & | outputX, | |
vector< double > & | outputY, | |||
double | incrTime, | |||
double | xinit, | |||
double | yinit, | |||
double | xend, | |||
double | yend, | |||
double | delay, | |||
double | t1, | |||
double | t2, | |||
double | t3, | |||
double | t4, | |||
double | t5, | |||
char | dh | |||
) | [private] |
Definition at line 1167 of file newPGstepStudy.cpp.
void CnewPGstepStudy::genFOOTupDOWNheight | ( | vector< double > & | output, | |
double | incrTime, | |||
double | heightMax, | |||
double | delay, | |||
double | t1, | |||
double | t2, | |||
double | t3 | |||
) | [private] |
Definition at line 1336 of file newPGstepStudy.cpp.
void CnewPGstepStudy::genWAISTorientation | ( | vector< double > & | output, | |
double | incrTime, | |||
double | initOrient, | |||
double | endOrient, | |||
double | delay, | |||
double | t1, | |||
double | t2, | |||
double | t3, | |||
double | t4, | |||
double | t5, | |||
char | dh | |||
) | [private] |
Definition at line 1458 of file newPGstepStudy.cpp.
void CnewPGstepStudy::plotFootHeightSeqHalfStep | ( | ofstream & | fb, | |
char | whichDimension, | |||
double | incrTime, | |||
double | zc, | |||
double | g, | |||
double | t1, | |||
double | t2, | |||
double | t3, | |||
vector< double > | vect_input, | |||
char | leftOrRightFootStable | |||
) |
Definition at line 791 of file newPGstepStudy.cpp.
void CnewPGstepStudy::plotFootHeightSeqSlidedHalfStep | ( | ofstream & | fb, | |
char | whichDimension, | |||
double | incrTime, | |||
double | zc, | |||
double | g, | |||
double | t1, | |||
double | t2, | |||
double | t3, | |||
vector< double > | vect_input, | |||
char | leftOrRightFootStable | |||
) |
Definition at line 857 of file newPGstepStudy.cpp.
void CnewPGstepStudy::plotFootHeightSeqStep | ( | ofstream & | fb, | |
char | whichDimension, | |||
double | incrTime, | |||
double | zc, | |||
double | g, | |||
double | t1, | |||
double | t2, | |||
double | t3, | |||
double | t4, | |||
double | t5, | |||
vector< double > | vect_input, | |||
char | leftOrRightFootStable | |||
) |
Definition at line 725 of file newPGstepStudy.cpp.
void CnewPGstepStudy::plotOneDimensionCOMZMPSeqHalfStep | ( | ofstream & | fb, | |
char | whichDimension, | |||
double | incrTime, | |||
double | zc, | |||
double | g, | |||
double | t1, | |||
double | t2, | |||
double | t3, | |||
vector< double > | vect_input, | |||
char | leftOrRightFootStable | |||
) |
Definition at line 750 of file newPGstepStudy.cpp.
void CnewPGstepStudy::plotOneDimensionCOMZMPSeqSlidedHalfStep | ( | ofstream & | fb, | |
char | whichDimension, | |||
double | incrTime, | |||
double | zc, | |||
double | g, | |||
double | t1, | |||
double | t2, | |||
double | t3, | |||
vector< double > | vect_input, | |||
char | leftOrRightFootStable | |||
) |
Definition at line 816 of file newPGstepStudy.cpp.
void CnewPGstepStudy::plotOneDimensionCOMZMPSeqStep | ( | ofstream & | fb, | |
char | whichDimension, | |||
double | incrTime, | |||
double | zc, | |||
double | g, | |||
double | t1, | |||
double | t2, | |||
double | t3, | |||
double | t4, | |||
double | t5, | |||
vector< double > | vect_input, | |||
char | leftOrRightFootStable | |||
) |
Definition at line 684 of file newPGstepStudy.cpp.
void CnewPGstepStudy::produceOneDOWNHalfStepFeatures | ( | StepFeatures & | stepF, | |
double | incrTime, | |||
double | zc, | |||
double | g, | |||
double | t1, | |||
double | t2, | |||
double | t3, | |||
vector< double > | vectStep_input, | |||
char | leftOrRightFootStable | |||
) |
Definition at line 1857 of file newPGstepStudy.cpp.
void CnewPGstepStudy::produceOneStepFeatures | ( | StepFeatures & | stepF, | |
double | incrTime, | |||
double | zc, | |||
double | g, | |||
double | t1, | |||
double | t2, | |||
double | t3, | |||
double | t4, | |||
double | t5, | |||
vector< double > | vectStep_input, | |||
char | leftOrRightFootStable | |||
) |
Definition at line 1705 of file newPGstepStudy.cpp.
void CnewPGstepStudy::produceOneUPHalfStepFeatures | ( | StepFeatures & | stepF, | |
double | incrTime, | |||
double | zc, | |||
double | g, | |||
double | t1, | |||
double | t2, | |||
double | t3, | |||
vector< double > | vectStep_input, | |||
char | leftOrRightFootStable | |||
) |
Definition at line 1781 of file newPGstepStudy.cpp.
void CnewPGstepStudy::produceSeqHalfStepFeatures | ( | StepFeatures & | stepF, | |
double | incrTime, | |||
double | zc, | |||
double | g, | |||
double | t1, | |||
double | t2, | |||
double | t3, | |||
vector< double > | vectSteps_input, | |||
char | leftOrRightFootStable | |||
) |
Definition at line 1978 of file newPGstepStudy.cpp.
void CnewPGstepStudy::produceSeqSlidedHalfStepFeatures | ( | StepFeatures & | stepF, | |
double | incrTime, | |||
double | zc, | |||
double | g, | |||
double | t1, | |||
double | t2, | |||
double | t3, | |||
vector< double > | vectSteps_input, | |||
char | leftOrRightFootStable | |||
) |
Definition at line 2053 of file newPGstepStudy.cpp.
void CnewPGstepStudy::produceSeqStepFeatures | ( | StepFeatures & | stepF, | |
double | incrTime, | |||
double | zc, | |||
double | g, | |||
double | t1, | |||
double | t2, | |||
double | t3, | |||
double | t4, | |||
double | t5, | |||
vector< double > | vectSteps_input, | |||
char | leftOrRightFootStable | |||
) |
Definition at line 1929 of file newPGstepStudy.cpp.