Team solverの取り組み
Humanoid Virtual Athletics Challenge 2021-2022
2022/03/12
チーム紹介
メンバー
方針
片山が開発するロボット制御フレームワークrobotocを用いて,�whole-body MPCで頑張る.
競技結果
Whole-body MPCによる
両脚支持期なしの階段昇りを達成
(競技領域:緑->オレンジ)
realtime factor: 1.2681 (>1.0)
on Ubuntu 18.04.3� w/ Intel i7-8750H CPU@2.2 GHz� + 16GB DDR4 RAM
システム構成の概観
ChoreonoidのSimpleController内に,�robotoc(片山作の制御FW,後述)を基にした�MPCソルバを実装.
LAAS-CNRSとINRIAが開発した�動力学計算ライブラリpinocchioを用いるため,�ロボットモデルのURDFファイルが必要.�(ROS関連ツールは一切不要)
(pinocchioについては後述)
SimpleController
public:
- MPCソルバのインスタンス
- initialize関数:
・ロボット初期化
・MPCの定式化
(モデル,コスト,制約,etc.)
- control関数:
・ロボットの状態の取得
・MPCの求解
・制御入力の適用
URDFの生成
産総研のモデルフォーマット変換ツールsimtransを用いて,�Choreonoid Body形式->URDFの変換を実行.
+
変換が一部不完全で,かつ可読性に難があるため,�細かいところを手作業で修正.�(完成したURDFは vnoidリポジトリにマージ済み!)
ロボット入出力
上半身の関節は全て固定し,下半身(両脚12自由度)のみを駆動.
MPCソルバの入出力構造は以下の通り.
入力(取得):
出力(司令):
Whole-body MPCによる制御フレームワーク
Whole-body MPC �
Choreonoid
Foot step planner
Foot step placements
関節トルク
状態量�(一般化座標,� 一般化速度)
Whole-body MPCの実装
Foot step planner : 一定のパターン,周期,歩幅で各脚先の接地位置をプラン�
Whole-body MPC :
Whole-body MPCの実装
ロボットキネマティクス・ダイナミクス
Whole-body MPCの実装
MPC ソルバー �(GitHub - mayataka/robotoc: Efficient optimal control solvers for robotic systems.)
MPCの設定
課題