[DL輪読会]Learning agile and dynamic motor skills for legged robots

157 Views

January 25, 19

スライド概要

2019/01/25
Deep Learning JP:
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

DEEP LEARNING JP [DL Papers] Learning agile and dynamic motor skills for legged robots Kohei Nishimura, DeepX,Inc. http://deeplearning.jp/ 1

2.

書誌情報 Learning agile and dynamic motor skills for legged robots Jemin Hwangbo, Joonho Lee, Alexey Dosovitskiy, Dario Bellicoso, Vassilios Tsounis, Vladlen Koltun, Marco Hutter • Science Robotics(2019年1月16日)で発表された論文 • 著者はETH(チューリッヒ工科大),Intel 注釈がない画像などは全て本論文からの引用です 2

3.

概要 • シミュレーターでのモデリングの改善と深層強化学習を組み合わせて、 複雑なモーター制御が必要な多脚ロボットの制御方法を提案した 3

4.

背景 • 多脚ロボットは障害物があったり、様々な環境下で動作できるロボッ トとして注目を浴びている • 多脚ロボットの研究では、アクチュエーターの挙動をモデリングして 制御する手法が多く、汎化性能、チューニングしやすさ、効率性を考 慮した研究は行われていない https://www.bostondynamics.com/spot-mini http://biomimetics.mit.edu https://www.anybotics.com/anymal/ 4

5.

多脚ロボット制御の先行研究 • 多脚ロボットをモジュールの組み合わせとして捉えて制御する – ex. ロボットの重心のみ質量があり、質量のない関節がついていると仮定して 最適な制御信号を考える – 欠点 • モデリングの不正確さが制御信号の不正確さに現れる • 新しい環境、新しいロボットごとに制御パラメータを修正する必要があり、タスクを変え るたびに一からモジュールのモデリングとパラメータ調整が必要になる (熟練のエンジニアでも数ヶ月かかる) • 軌道最適化によって制御する – planingとtrackingの2つのモジュールを用いて制御する – 軌道を最適化するためのパラメータチューニングは手間がかかり、局所解には まることがある – 軌道最適化の計算は重く、リアルタイムにロボットを制御するのに適していな い 5

6.

強化学習を用いたロボット制御 • 学習ベースの手法として、強化学習を用いたロボット制御の研究が行 われている • 強化学習を用いたsim2realでの機械制御は大きく2つの流れがある 1. シミュレーターの挙動を現実に忠実なものにして、現実空間に転移しやすい 方策を得る ex.ダイレクトドライブ式(解析的に挙動を求められる)アクチュエーターを使う (Sim-to-real: Learning agile locomotion for quadruped robots ) 2. シミュレーターでの変数をランダマイズして、汎化性能の高い方策を得る ex. ダイナミクスをランダマイズする、observationにノイズを加える (Learning Dexterous In-Hand Manipulation) 6

7.

提案手法の概要 • 方策はシミュレーターでのみ強化学習する – 方策は状態を受け取り、アクチューエーターのアクション(関節角度)を出力す る – シミュレーターと現実空間との差分を埋めるために • 地面との接触のシミュレーションを高速化 • 実世界のアクチュエーターのアクションとトルクの関係をNNで学習 • シミュレーターの条件をランダマイズして方策を学習 7

8.

手法の詳細: 接触のシミュレーション改善 • 動作で発生する複雑な接触を安定・正確・高速に処理できるシミュ レーターが必要 • 一般的な手法はペナルティ法 (mujocoにも採用されている) – 物体同士の微小なめり込みを許容し、その分の反発力を発生させる – 実装が容易で計算量が少ないが剛性の高い物体のシミュレーション精度が低い • より正確なシミュレーション方法はPGS(projected Gauss-Seidel)法 – 物理的な拘束条件に基づいて接触力を計算する手法 – 線型方程式を収束計算で解く手法だが、更新回数が安定しない欠点がある • 衝突するときなど収束に時間がかかる • 二分法を用いてPGS法を拡張し、安定して解を高速に求める手法を提 案し、今回の実験に用いた 8

9.

手法の詳細: Actuator net • 実世界のアクチュエーターのアクションとトルクの関係をNNで学習 – 入力 • 時刻t, t-0.01, t-0.02のposition error(指令と実際の角度差)と角速度 – 出力 • 時刻tの出力 – ネットワーク構造 • 中間層が3層のMLP • 活性化関数はsoftsign – 学習データ • 4分間, 400Hzで関節角度, 関節角速度, トルクのデータを収集 • 簡単な制御モデルで歩行させ、歩行中に外乱を加えた 9

10.

手法の詳細: 制御方策 • 制御方策 – 入力 • • • • • ロボットの姿勢 ロボットのねじれ 関節角度の系列(直近3ステップ) 制御信号の系列(直近3ステップ) 操作信号(人のコントローラーによるもの) – 出力 • 制御信号(各アクチュエーターに対する角度制御信号) • 制御方策の学習アルゴリズムはTRPOを使用 – TRPOのパラメータは元論文のデフォルトのものを使用 10

11.

手法の詳細: 制御方策学習の工夫 • シミュレーターの条件をランダマイズして、方策の汎化性能を上げる – 確率的にロボットの形状をランダマイズする – ランダマイズするロボットの形状 • ロボットの重心の位置 • 関節の重量 • 関節角度 11

12.

手法の詳細: 制御方策学習の工夫 • ナイーブに学習させるとうまく学習できない – トルクや角速度の制約を小さくすると、不自然な動きになる – トルクや角速度の制約を大きくすると、全く動かない局所解に陥る • 全体の動きを大まかに学習し、そのあとで動きを洗練するように学習 させたい – ex. トルクや関節速度に対する制約は最初は小さく、後半は大きくしていく – カリキュラム変数𝑘𝑐 , 𝑘𝑑 を導入し、 𝑘𝑐 = 1が難しい動きに対応するようにする – 𝑘𝑐,𝑗+1 ← 𝑘𝑐,𝑗 𝑘𝑑 の更新式で𝑘𝑐 を更新していく – jは強化学習のステップ – 本論文のどの実験でも𝑘0 = 0.3, 𝑘𝑑 = 0.997を用いている 12

13.

提案手法の図 • ネットワークと変数を図でまとめると 13

14.

Actuator netの精度 • 収集したデータを9:1に分割して検証 • 理想状態を仮定した数値解との比較 – no communication delay, zero mechanical response time – 理想状態を仮定した数値解よりもRMSは小さかった actuator net ideal model train 0.740 [N•m] 3.55[N•m] valid 0.996 [N•m] 5.74 [N•m] 14

15.

実験1: Command-conditioned locomotion • 実験内容 – 指令を与えて、その指令に応じて動くように制御する実験 – 指令は直進方向の速度、横方向の速度、ロボットの向き • 報酬関数 – 角速度、移動速度、トルク、関節速度など(appendix参照) • 方策の学習 – 実世界で4時間(シミュレーター空間での9日分のタイムステップ) 15

16.

実験1: 比較手法 • 比較論文として、モデルベースの手法を用いている – タスクに対するコスト関数を定める – 拘束条件・コスト関数のヘッシアンとヤコビアンを計算して重心の最適位置や各足の座標を二 次計画法としてとく. – 最適な加速度と摩擦力を計算して、トルクを二次計画法として解き、ロボットに信号を送る 16

17.

結果1: Command-conditioned locomotion • 実験動画(本手法) 17

18.

結果1: Command-conditioned locomotion • アクチュエーターのモデリング手法の比較 – 左: analytical actuator model, 右: ideal actuator model 18

19.

結果1: Command-conditioned locomotion • シミュレーターと実機の差をロボットの移動速度の追従性能で評価 – シミュレーターの挙動は実機のそれとかなり近い 19

20.

結果1: Command-conditioned locomotion • 指令に対する制御誤差, 制御の効率性(トルク、消費電力) – 先行研究との比較 20

21.

実験2: High-speed locomotion • 実験内容 – できる限り早く走るタスク • 報酬設計と学習時間は実験1と同様 21

22.

結果2: High-speed locomotion • 結果 – 先行研究での最高速度: 1.2m/s – 本手法での最高速度: 1.6m/s • 結果に対する考察 – 最高速度はアクチュエーターやパーツなどのハードウェアに依存する – 既存の制御方法だとプランニングの計算処理が重く、実環境での制御が 間に合わなくなるので速い速度での制御ができない 22

23.

実験3: Recovery from a fall • 実験内容 – こけた状態から起き上がるタスク – 9つの初期状態で実験 • 報酬関数 – トルク、関節速度、関節加速度に対する制約…(appendix 参照) • 学習時間 – 実世界で11時間(シミュレーター空間で79日分のタイムステップ) 23

24.

結果3: Recovery from a fall 24

25.

まとめ • シミュレーターのみの強化学習によって、正確で効率的に制御する手 法を提案し、実機に適用した • 提案手法によって機体状態に対してロバストな制御方策を学習できた – 方策を学習し直すことなく、3ヶ月実機に適用しても制御することができた • 今後の課題 – 報酬設計と初期状態の分布を決めるのが大変なので、改善していきたい – 制御方策に階層構造を持たせることで複数タスクをこなせるようにしたい • すでにarxivに投稿されています(https://arxiv.org/pdf/1901.07517.pdf) 25

26.

感想 • 訓練時、推論時ともに必要な計算スペックはそこまで大きくなく制御 できているのはすごい • youtubeに大量のエージェントのシミュレーター動画がアップされて いたが、シミュレーターについて細かい内容が知りたい • 報酬設計大変そう • 実験1の動画でのロボットの蹴り方優しい 26

27.

参考文献 • Jemin Hwangbo, Joonho Lee, Alexey Dosovitskiy, Dario Bellicoso, Vassilios Tsounis, Vladlen Koltun, and Marco Hutter. Learning Agile and Dynamic Motor Skills for Legged Robots. Science Robotics, 4(26):eaau5872, 2019. • J. Hwangbo, J. Lee, M. Hutter, Per-contact iteration method for solving contact dynamics. IEEE Robot. Autom. Lett. 3, 895–902 (2018). • C. D. Bellicoso, F. Jenelten, C. Gehring, M. Hutter, Dynamic locomotion through online nonlinear motion optimization for quadrupedal robots. IEEE Robot. Autom. Lett. 3, 2261–2268 (2018). 27

28.

報酬関数に用いる表記 28

29.

実験1, 2の報酬関数 • 以下で出てくるKはlogisitc kernelを用いている 29

30.

実験1, 2の報酬関数 • 報酬関数は以下の各報酬を足し合わせたもの – 𝑘𝑐 はカリキュラム変数 30

31.

Appendix. 実験3の報酬関数 • 以下で出てくるangle Diff()は2つの角度の差の小さい方を用いる • 報酬関数は以下の 31