test

Dependencies:   mbed ros_lib_kinetic nhk19mr2_can_info splitData SerialHalfDuplex_HM

Revision:
13:e7ecdb20665a
Parent:
12:2ac37fe6c3bb
Child:
14:d7cb429946f4
diff -r 2ac37fe6c3bb -r e7ecdb20665a main.cpp
--- a/main.cpp	Mon Feb 11 13:32:46 2019 +0000
+++ b/main.cpp	Tue Feb 12 07:51:07 2019 +0000
@@ -10,7 +10,7 @@
 const float kBetweenServoHalf_m = 0.06f * 0.5; //サーボ間の距離の半分
 const float kLegLength1 = 0.1f;
 const float kLegLength2 = 0.2f;
-const float kServoSpan_ms = 0; //サーボの送信間隔
+const float kServoSpan_ms = 7.0f; //サーボの送信間隔
 ///////////////
 Timer timer;
 KondoServo servo[2] = {
@@ -32,13 +32,14 @@
 
 int main()
 {
-    printf("When you push any key, this robot starts.\r\n");
+    /*printf("When you push any key, this robot starts.\r\n");
     while (pc.readable() == 0) //キーボード押したらスタート
-        ;
+        ;*/
     printf("move start\r\n");
     //各足の軌道の設定.今回は全部同じにすることで直線を描く。
     float stridetime_s = 1, risetime_s = 0.3, stride_m = 0.2f, height_m = 0.03f, ground_m = 0.14f;
-    Orbit orbit[4] = {
+    Orbit straightOrbit[4] = {
+        
         Orbit(stridetime_s, risetime_s, stride_m, height_m, ground_m),
         Orbit(stridetime_s, risetime_s, stride_m, height_m, ground_m),
         Orbit(stridetime_s, risetime_s, stride_m, height_m, ground_m),
@@ -47,11 +48,14 @@
     //4足の軌道と位相ずれOffsetTime_sをまとめる
     float offset_time_s[4] = {
         0,
-        orbit[0].GetOneWalkTime() * 0.5,
+        straightOrbit[0].GetOneWalkTime() * 0.5,
         0,
-        orbit[0].GetOneWalkTime() * 0.5,
+        straightOrbit[0].GetOneWalkTime() * 0.5,
     };
-    Walk straight(orbit, offset_time_s, kCycleTime_s);
+    //4つの足のorbit, 位相を代入してstraightという歩行パターンを作成している
+    //このインスタンスはlegそれぞれの計算を行う役割を担う
+    //orbitはここでしか使わないあくまで鍵のような扱い
+    Walk straight(straightOrbit, offset_time_s, kCycleTime_s);
     //実際にWalkの指示通りに動かす
     float dist_m = 0.5f;
     Move(straight, leg, dist_m);
@@ -59,6 +63,7 @@
     printf("program end\r\n");
 }
 
+//到達判定が来ない間同じ歩行方法でループ
 void Move(Walk WalkWay, OneLeg (&leg)[4], float dist_m)
 {
     timer.reset();