目次
はじめに
凸最適化によるヒューマノイドロボット制御論文調査メモです。
メモ
胸熱情報。論文とかみてみたい。 https://t.co/Qg1gtGu1e5
— Atsushi Sakai (@Atsushi_twi) 2018年2月17日
これが論文か。確かに凸最適化ベースっぽいな:Optimization-based Locomotion Planning, Estimation, and Control Design for the Atlas Humanoid Robot https://t.co/E4OtZBWFOb
— Atsushi Sakai (@Atsushi_twi) 2018年2月17日
論文読み始めた。Atlasって、188cm、155kgもあるのか。
— Atsushi Sakai (@Atsushi_twi) 2018年2月18日
3つのステップでAtlasの歩行プランニングをするらしい:1. 凸最適化とレーザのマップを使って、周辺環境の走行可能なconvex 領域を作る 2. convex 領域の情報をMIPで最適な歩行パターンを計算 3. 走行パターンから目標のロボット中心圧力軌跡を計算して、コントローラに入力
— Atsushi Sakai (@Atsushi_twi) 2018年2月18日
足を置いてもOKな凸領域を複数準備しておいて、各足のステップをどの凸領域に置くかを各ホライズン毎にバイナリの値で定式化して、MIPを解くのかー。各凸領域間の距離と最大歩幅で制約を入れている。コスト関数は不明。
— Atsushi Sakai (@Atsushi_twi) 2018年2月19日
足を置ける凸安全領域の抽出は、IRISって言う、繰り返し計算のアプローチを使って、多角形の領域を作る。初期安全点を現状は人が与える必要があるみたい。
— Atsushi Sakai (@Atsushi_twi) 2018年2月19日
IRISの論文はこれ。これも読まなくては。。 https://t.co/ARAIlJB15o
— Atsushi Sakai (@Atsushi_twi) 2018年2月19日
片足を固定した時、もう片足が移動できる領域を、二つの円の重なる領域にしてるのかぁ。この領域はConvexだからMIPにつっこめる。
— Atsushi Sakai (@Atsushi_twi) 2018年2月19日
MIPのコスト関数わかった。各歩幅の距離を出来るだけ小さくする項と、最後の足の位置が目標に近づく項、最後はステップ数でこれらの和を最小化してる。ステップ数は、各ステップに追加のニ値の変数を導入して、それで使うステップと使わないステップを表現してるな。
— Atsushi Sakai (@Atsushi_twi) 2018年2月19日
ステップ数を12歩までって決めても、MIPの解は10の26乗個になる。でもConvexなら、1〜10秒で解ける。SinとCosを直線を繋げて近似するの面白い。
— Atsushi Sakai (@Atsushi_twi) 2018年2月20日
あとは、foot plannerの結果から、ロボットの軌跡を計算して、軌跡の各点を線形化してLMPCで、制御する。
— Atsushi Sakai (@Atsushi_twi) 2018年2月20日
体の各部分の安定制御は、LQRを使っている。しかも、高速にQPを解くために、独自のアクティブセットベースのソルバーを開発してる。すごい。。
— Atsushi Sakai (@Atsushi_twi) 2018年2月20日
各ジョイントのノイズ除去にはカルマンフィルタ、足の位置や速度の推定にはEKF、レーザーとIMUでの位置姿勢推定には、Gaussian Particle Filterを使っている。GPFって聞いたことないな。
— Atsushi Sakai (@Atsushi_twi) 2018年2月20日
gpfの論文はこれ、どんどん読むべき論文が増えていく。。 https://t.co/KqmxMP4Sis
— Atsushi Sakai (@Atsushi_twi) 2018年2月20日
この論文は、こんな感じかなぁ。とりあえず雰囲気は楽しめた😃 凸最適使いまくってるけど、やっぱり計算速度と解の安定性がいいんだろうなぁ。 凸最適を使いこなせば、あれだけ複雑な動きが出来るっていうのはいい例かも。
— Atsushi Sakai (@Atsushi_twi) 2018年2月20日
しかし、自分の観測範囲のせいだと思うけど、スペースXのファルコン9のといい、某自動車メーカーの自動運転のシステム、Boston Dynamics のこの論文を見ると、最近凸最適化、LMPCの応用がすごいなぁ。。ソルバー作る会社でも起業するべきか(笑)
— Atsushi Sakai (@Atsushi_twi) 2018年2月20日
驚いたのが、ボストンダイナミクスでは強化学習を使っていないという話。古典的なロボット制御の手法(time-varying LQR, QP solvers, convex optimizationなど)が使われているらしい
— piqcy (@icoxfog417) 2018年2月16日
面白い情報ありがとうございます!
— 藤本圭一郎★JAXA/JEDI (@bluedack) 2018年2月17日
凸最適化を週末勉強してみようかな。
Motion Planning は混合整数計画でモデル化してたりとか、いろんなレベルで最適化を駆使してるんですね。全然知らなかったー。2015年時点ではこんな仕組みで動いてたのか。。面白い。
— Keisuke UTO (@utotch) 2018年2月17日
TEDでUI画面公開しててそんな感じっぽかったの思い出した。 https://t.co/63iZA8141g
— OEI(おえい) (@7oei) 2018年2月19日
「何を最小(最大)化したいのか」から拘束条件決める下りは経営においても人生においても皆無意識にしてるはずなので、最適化理論はもはや義務教育に組み込まれるべき。DNNのパラメータいじってる時間あるならソルバー作るのが正義。 https://t.co/5ZthAMP9b5
— ysmrnbt (@ysmrnbt) 2018年2月20日
細かい事を言えば、この論文はDARPAロボティクスチャレンジに出場したMITチームのAtlasに関するものですので、現在Boston Dynamicsが使っている制御則とは違う可能性があります。
— Shuuji Kajita (@s_kajita) 2018年2月17日
ただし、元ツイートにもあったBDのAtlasの制御則が凸最適化ベースで構築されているという件は、同様の話を僕も別ルートから耳にしました。
— Shuuji Kajita (@s_kajita) 2018年2月17日
安定な歩行を保証するために従来用いられてきたZMP条件が凸最適化によって一般的な形で定式化できるのがポイントです。
— Shuuji Kajita (@s_kajita) 2018年2月20日
参考資料
MyEnigma Supporters
もしこの記事が参考になり、
ブログをサポートしたいと思われた方は、
こちらからよろしくお願いします。