Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stabilizerのinportの定義について #1269

Open
hsnuhayato opened this issue Mar 28, 2019 · 1 comment
Open

Stabilizerのinportの定義について #1269

hsnuhayato opened this issue Mar 28, 2019 · 1 comment

Comments

@hsnuhayato
Copy link
Contributor

すみません、当方が自作の歩行生成RTCをStabilizerと接続して運用しようとしていますが、以下のinportのデータの定義はよく理解できなくて、教えていただければと思います。

  • RTC::InPortRTC::TimedDoubleSeq m_toeheelRatioIn;
  • RTC::InPortRTC::TimedDoubleSeq m_controlSwingSupportTimeIn;
  • std::vector<RTC::InPortRTC::TimedPoint3D *> m_limbCOPOffsetIn;

両足支持期ー>つま先離陸ー>踵着陸ー>両足支持期という歩行の過程においてこれらのデータポートにどういうデータを与えればよいでしょうか。
ご教授お願いします。

@YutaKojio
Copy link
Contributor

  • RTC::InPortRTC::TimedDoubleSeq m_toeheelRatioIn;

つま先かかと接地の間は縁まわり(y軸まわり)にmomentを発生させないための変数になります.
つま先かかと接地期の足には0,それ以外の場合は1を与えればよいかと思います.
また,その間の遷移を滑らかにするために0と1の間の値を設定してもよいです.

  • RTC::InPortRTC::TimedDoubleSeq m_controlSwingSupportTimeIn;

支持脚->遊脚もしくは遊脚->支持脚 のように接地状態が変わるまでの時間が入ってくることが想定されています.
この時間は目標反力を分配する領域を滑らかに遷移させるために使われています.
(具体的にはeefm_pos_transition_timeの値の時間をかけて遷移するようになります.)

  • std::vector<RTC::InPortRTC::TimedPoint3D *> m_limbCOPOffsetIn;

各end effector位置から設定したい目標COPまでのオフセットになります.

プログラムを読んでも逆にわかりづらいかもしれませんが,具体的には
https://github.com/fkanehiro/hrpsys-base/blob/master/rtc/AutoBalancer/AutoBalancer.cpp
内の同じポート名の対応する変数に入れている部分が参考になるかと思います.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants