test
Dependencies: mbed ros_lib_kinetic nhk19mr2_can_info splitData SerialHalfDuplex_HM
Diff: Walk/Walk.h
- Revision:
- 14:d7cb429946f4
- Parent:
- 13:e7ecdb20665a
- Child:
- 18:0033ef1814ba
diff -r e7ecdb20665a -r d7cb429946f4 Walk/Walk.h --- a/Walk/Walk.h Tue Feb 12 07:51:07 2019 +0000 +++ b/Walk/Walk.h Tue Feb 12 12:50:45 2019 +0000 @@ -1,27 +1,30 @@ #ifndef INCLUDED_WALK_H #define INCLUDED_WALK_H #include "OneLeg.h" - +enum OrbitPattern +{ + ELLIPSE, +}; //足の軌道を設定するクラス。軌道は様々であることを考慮してコンストラクタでの代入は控えたい class Orbit { - int orbitType; + OrbitPattern orbitType_; float stridetime_s_; float risetime_s_; float stride_m_; - float height_m_; //足の上げ幅 - float ground_m_; //着地するときの高さ - OneLeg StrideLine_(OneLeg leg, float phasetime_s);//時間をもとに位置を取得したインスタンスを直接返して代入させる + float height_m_; //足の上げ幅 + float ground_m_; //着地するときの高さ + OneLeg StrideLine_(OneLeg leg, float phasetime_s); //時間をもとに位置を取得したインスタンスを直接返して代入させる OneLeg RiseEllipse_(OneLeg leg, float phasetime_s); - OneLeg OrbitEllipse_(OneLeg leg, float phasetime_s);//Stride, Riseを組み合わせて周期を作る + OneLeg OrbitEllipse_(OneLeg leg, float phasetime_s); //Stride, Riseを組み合わせて周期を作る public: Orbit(){}; //コンストラクタは代入のみ - Orbit(int orbitType); + Orbit(OrbitPattern orbitType); //このクラスのメイン privateへのアクセス関数 OneLeg GetOrbit(OneLeg leg, float phasetime_s); - + void SetStraightParam(float stridetime_s, float risetime_s, float stride_m, float height_m, float ground_m); float GetOneWalkTime(); //足一周の時間 }; @@ -36,7 +39,7 @@ //4脚の軌道, 位相を代入して歩行方法を確定する //コンストラクタではメンバの代入のみ行っている Walk(Orbit orbit[4], float offsettime_s[4], float cycletime_s); - float cycletime_s_;//計算周期 + float cycletime_s_; //計算周期 Orbit orbit_[4]; //参照渡しされたonelegそれぞれにorbit_::GetOrbit関数を代入 //GetOrbit関数にて軌道, 時間をもとに位置を決める