test
Dependencies: mbed ros_lib_kinetic nhk19mr2_can_info splitData SerialHalfDuplex_HM
Diff: main.cpp
- Revision:
- 38:e664b1c12da9
- Parent:
- 37:e4b37af4d8c7
- Child:
- 39:87dcdff27797
--- a/main.cpp Mon Mar 04 10:02:45 2019 +0000 +++ b/main.cpp Mon Mar 04 10:51:46 2019 +0000 @@ -118,6 +118,8 @@ } return walk.CheckOrbit(); } +Walk* walk; +OneLeg leg[4]; //各足の位置 int main() { @@ -125,19 +127,19 @@ if (FileOpen()) //csv fileに書き込み return 1; //異常終了したら強制終了 #endif - OneLeg leg[4]; //各足の位置 + for (int i = 0; i < 4; i++) leg[i] = OneLeg(kBetweenServoHalf_m, kLegLength1, kLegLength2); - Walk walk(leg); //歩行法はここに入れていく + walk = new Walk(leg); //歩行法はここに入れていく Walk::calctime_s_ = 0.03; printf("Stand up?\r\n"); WaitStdin('y'); // ボタンを押したら立つ - if (SetWalk(walk, STANDUP) == 1) + if (SetWalk(*walk, STANDUP) == 1) { printf("error: stand move\r\n"); return 1; //強制終了.errorは内部の関数からprintfで知らせる } - if (MoveOneCycle(walk, leg) == 1) + if (MoveOneCycle(*walk, leg) == 1) { printf("error: stand move\r\n"); return 1; //強制終了.errorは内部の関数からprintfで知らせる @@ -150,12 +152,10 @@ nh_mbed.subscribe(sub_vel); while (1){ nh_mbed.spinOnce(); - SetWalk(walk, LRFPOSTURE); - MoveOneCycle(walk, leg); - } + } #else - if (SetWalk(walk, FRONTLEG_ON_SANDDUNE) == 1) + if (SetWalk(*walk, FRONTLEG_ON_SANDDUNE) == 1) { printf("error: triangle\r\n"); return 1; //強制終了.errorは内部の関数からprintfで知らせる @@ -163,7 +163,7 @@ for (int i = 0; i < 2; i++) { - if (MoveOneCycle(walk, leg) == 1) + if (MoveOneCycle(*walk, leg) == 1) { printf("error: triangle move\r\n"); return 1; //強制終了.errorは内部の関数からprintfで知らせる @@ -171,7 +171,7 @@ } offset_y_m[LEFT_F] = 0.29; offset_y_m[RIGHT_F] = 0.29; - if (SetWalk(walk, LRFPOSTURE) == 1) + if (SetWalk(*walk, LRFPOSTURE) == 1) { printf("error: triangle\r\n"); return 1; //強制終了.errorは内部の関数からprintfで知らせる @@ -179,7 +179,7 @@ for (int i = 0; i < 20; i++) { - if (MoveOneCycle(walk, leg) == 1) + if (MoveOneCycle(*walk, leg) == 1) { printf("error: triangle move\r\n"); return 1; //強制終了.errorは内部の関数からprintfで知らせる @@ -294,6 +294,7 @@ stride_m[LEFT_B] = 0.2; stride_m[RIGHT_B] = 0.2; } - + SetWalk(*walk, LRFPOSTURE); + MoveOneCycle(*walk, leg); } #endif \ No newline at end of file