Corrected header file include guards.
Dependencies: FiniteStateMachine HipControl Knee LinearBlend1 LocalFileSystem_Read dataComm hapticFeedback initExoVars mbed Blend_Generator Brad_poly_gait Gait_Generator MM_gait Encoders IMUdriver
Fork of Motion Control by
Diff: gaitGenerator/gaitGenerator.cpp
- Revision:
- 8:5766a09fefbf
- Parent:
- 2:89b78367d173
- Child:
- 9:9bbbd124bf50
--- a/gaitGenerator/gaitGenerator.cpp Thu Feb 26 19:47:56 2015 +0000 +++ b/gaitGenerator/gaitGenerator.cpp Wed Mar 04 02:43:44 2015 +0000 @@ -1,27 +1,63 @@ #include "mbed.h" #include "gaitGenerator.h" + +/** Create sittingAngle instance +* This parameter is adjusted to the individual pilot +* sittingAngle is the angle of the hips(degrees) during normal sit +*/ +const float sittingAngle=79; + + +/** Create bentAngle instance +* This parameter is adjusted to the individual pilot +* bentAngle is the angle of the hips (degrees) during bent forward sit +* Pilot must bend forward as an intermediate stage between sit and stand +*/ +const float bentAngle=115; + +/** Create standingAngle instance +* This parameter is adjusted to the individual pilot +* TODO(Cashdollar): Define use case for this parameter. +This parameter is adjusted to the individual pilot +*/ +//const int FTG_time=sizeof(ref_stance_FTG)/sizeof(ref_stance_FTG[0]); +//const float standingAngle=ref_stance_FTG[FTG_time-1]; + // timing variables: // gait generation times -const float tStandingUp = 3; + +/** UNUSED?? +*/ +//const float tStandingUp = 3; + +/** Create tSittingDown instance +* Used in FSM state() sitting down +//TODO(Cashdollar): Is this something that needs to be parameterized? +*/ const float tSittingDown = 4; -const float tFirstStep = 1; -const float tStep = 0.9;//1.0;//1.2; -const float tNextStep=1; -const float tStepMod=1; -const float tFeetTogether = .5; + +/** Create blend_L instance +* TODO(Cashdollar): Is this used properly? blend_R is also an instance of the LinearBlend class and is defined in FSM.h +*/ +float blend_R; +float blend_L; + +//const float tFirstStep = 1; +//const float tStep = 0.9;//1.0;//1.2; +//const float tNextStep=1; +//const float tStepMod=1; +//const float tFeetTogether = .5; // blending times: -const float t_blend_home2bent = 2; -const float t_blend_home2stand = 3; -const float t_blend_home2sit = 2; -const float t_blend_step = .1; -const float t_blend_FS = .1; -const float t_blend_FTG = .1; -const float t_blend_standUp = .5; -const float t_blend_sitDown = .5; -const float backBias=0; - - +//const float t_blend_home2bent = 2; +//const float t_blend_home2stand = 3; +//const float t_blend_home2sit = 2; +//const float t_blend_step = .1; +//const float t_blend_FS = .1; +//const float t_blend_FTG = .1; +//const float t_blend_standUp = .5; +//const float t_blend_sitDown = .5; +//const float backBias=0; const float ref_stance_step[] = { 10.0000, 9.9644, 9.9288, 9.8932, 9.8576, 9.8220, 9.7864, 9.7508, 9.7152, 9.6796, @@ -1281,18 +1317,30 @@ 79.0000, 79.0000, 79.0000, 79.0000, 79.0000, 79.0000, 79.0000, 79.0000, 79.0000, 79.0000, 79.0000, 79.0000, 79.0000, 79.0000, 79.0000, 79.0000, 79.0000, 79.0000, 79.0000, 79.0000 }; -const int step_time=sizeof(ref_stance_step)/sizeof(ref_stance_step[0]); +// Unused? +//const int step_time=sizeof(ref_stance_step)/sizeof(ref_stance_step[0]); + +//TODO(Cashdollar): Would like to move this to the top of the file but needs to be down here const int FTG_time=sizeof(ref_stance_FTG)/sizeof(ref_stance_FTG[0]); +// Used in FSM as an input to blend const float standingAngle=ref_stance_FTG[FTG_time-1]; -const float sittingAngle=79; -const float bentAngle=115; -int trajectoryLength = 51; +//Moved to top: +//const float sittingAngle=79; +//const float bentAngle=115; +// end moved to top + +// unused +//int trajectoryLength = 51; // blending variables //float pos_R0; //float pos_L0; -float blend_e0_R; -float blend_e0_L; -float blend_R; -float blend_L; +// UNUSED? +//float blend_e0_R; +// UNUSED? +//float blend_e0_L; + +// Moved to top: +//float blend_R; +//float blend_L;