Slide 1

Slide 1 text

Survey on Sim-to-Real Solving Rubik’s Cube with a Robot Hand, Ilge Akkaya, Marcin Andrychowicz, Maciek Chociej, et al. (OpenAI) [arXiv'19] (Cited by:851) RL-CycleGAN: Reinforcement Learning Aware Simulation-To-Real, Kanishka Rao, Chris Harris, Alex Irpan, et al. (Google Brain Mountain View USA, et al.) [CVPR'20] (Cited by:19) 1/20 2023/7/12 Learning quadrupedal locomotion over challenging terrain, Joonho Lee, Jemin Hwangbo, Lorenz Wellhausen, et al. (Robotic Systems Lab ETH Zurich Zurich Switzerland, et al.) [Science Robotics'20] (Cited by:569)

Slide 2

Slide 2 text

基礎知識 (1/2) Sim2Real ❏ simで学習したモデルをrealで用いる強化学習の手法 ❏ simで手軽に様々な環境条件を構築できる 2/20 “zero2one”より引用

Slide 3

Slide 3 text

基礎知識 (2/2) Domain Randomization ❏ sim上のパラメータをランダム設定して学習 ❏ sim2realで生じるリアリティギャップを解決 3/20 “zero2one”より引用

Slide 4

Slide 4 text

背景 (1/2)  ❏ ロボット分野における課題:どのようにして実世界にモデルを転 移させるか ❏ しかし,ほぼ確実にSim2Realのギャップが生じる ❏ 物理パラメータの違い ❏ 不正確な物理モデリング 4/20 Sim2Realのギャップを埋めるアプローチがある

Slide 5

Slide 5 text

背景 (2/2)  5/20 ❏ システム同定 ❏ シミュレーション自体を現実に近づける ❏ ドメイン適応 ❏ シミュレーションと現実での変換を学習 ❏ ドメインランダム化 ❏ シミュレーション内で幅広い範囲を学習 “Hatena Blog”より引用

Slide 6

Slide 6 text

6/20 ❏ 概要:Sim2Realの手法としてドメイン適応を用いた強化学習 ❏ ポイント:RLのタスクに関する情報を保持したままドメイン変換するこ とで,タスクに有用な情報が変換先に含まれる ❏ 手法:CycleGANを用いた画像のドメイン変換において,「シミュレー ション画像と実画像に対するQ関数が一致」するという制約 (loss)を追加 ❏ 実験結果:物体把持タスクにおいてドメインランダム化やCycleGANによ るドメイン変換を用いた先行研究より高い成功率 RL-CycleGAN: Reinforcement Learning Aware Simulation-To-Real, Kanishka Rao, Chris Harris, Alex Irpan, et al. (Google Brain Mountain View USA, et al.) [CVPR'20] (Cited by:19)

Slide 7

Slide 7 text

7/20 概要 ❏ 目標 人間のように動作するロボットアームを製作 ❏ 解決策 シミュレーションのみでモデル学習し,そのデータを現実環境に適用 ❏ 結果 ロボットアームが人間のようにルービックキューブを解くことに成功 Solving Rubik’s Cube with a Robot Hand, Ilge Akkaya, Marcin Andrychowicz, Maciek Chociej, et al. (OpenAI) [arXiv'19] (Cited by:851)

Slide 8

Slide 8 text

8/20 シミュレーションによる学習 1. ADRの使用 2. 制御方針の学習 3. 状態推定ネットワーク データの変換による現実への適用 1. 推定ネットワークと制御方針を 連結 2. センサ内蔵ルービックキューブ Giiker Cubeの使用 ※制御方針を検証するためにいくつ かの実験でGiiker Cubeを使用 Solving Rubik’s Cube with a Robot Hand, Ilge Akkaya, Marcin Andrychowicz, Maciek Chociej, et al. (OpenAI) [arXiv'19] (Cited by:851)

Slide 9

Slide 9 text

9/20 向き変更タスク ❏ ブロックを目標方向に回転 ❏ ブロックの回転が目標と0.4[rad] 以内で一致すればゴール判定 ❏ ゴール判定後,次のゴールが生成 ルービックキューブタスク ❏ 回転:1つの面を90度回転 ❏ 反転:別の面を一番上に移動 ❏ 「反転」と「上面の回転」を組み 合わせる Solving Rubik’s Cube with a Robot Hand, Ilge Akkaya, Marcin Andrychowicz, Maciek Chociej, et al. (OpenAI) [arXiv'19] (Cited by:851) ※左上はゴール目標

Slide 10

Slide 10 text

10/20 Giiker Cube ❏ ルービックキューブの状態を視覚 だけで検知するのは困難 ❏ センサーとBluetoothが内蔵 ❏ 90度の角度分解能であり,状態 を追跡するのに不十分 Giiker Cube (カスタム) ❏ Giiker Cubeのキューブレット要 素以外の部品を再設計 ❏ 5度の角度分解能を実現 Solving Rubik’s Cube with a Robot Hand, Ilge Akkaya, Marcin Andrychowicz, Maciek Chociej, et al. (OpenAI) [arXiv'19] (Cited by:851)

Slide 11

Slide 11 text

11/20 ADRの概要 1. 環境の分布からサンプリングし,訓練データを生成 2. モデル (制御方針or視覚状態の推定値)を最適化 3. 現在の分布におけるモデル性能の評価 4. 環境の分布を更新 5. 1〜4を繰り返す ❏ ランダム化を手動で調整する必要がない Solving Rubik’s Cube with a Robot Hand, Ilge Akkaya, Marcin Andrychowicz, Maciek Chociej, et al. (OpenAI) [arXiv'19] (Cited by:851)

Slide 12

Slide 12 text

12/20 制御方針 ❏ 報酬 1. 現在の状態とゴールとの距離差 2. ゴールが達成されると+5 3. キューブ/ブロックを落とすと-20 ❏ 強化学習アルゴリズム 1. PPOを使用 2. 方策アーキテクチャにReLU活性化を用いた単一のフィード フォワード層とそれに続く単一のLSTM層を使用 ❏ エピソード修了条件 1. 50回連続して成功 2. キューブ/ブロックを落とす 3. 次に生成されたゴールに到達せずにタイムアウト Solving Rubik’s Cube with a Robot Hand, Ilge Akkaya, Marcin Andrychowicz, Maciek Chociej, et al. (OpenAI) [arXiv'19] (Cited by:851)

Slide 13

Slide 13 text

13/20 視覚情報からの状態推定 ❏ 非対称な中心ステッカーによる視覚情報 右図のようにマスの片隅を切り出して,回転さ せた時に対称性が無いように工夫 ❏ ビジョンモデル 1. ケージの左,右,上に設置された3台のカ メラからの画像を入力とする 2. Giiker Cube (カスタム)を使用して角度情 報を取得する Solving Rubik’s Cube with a Robot Hand, Ilge Akkaya, Marcin Andrychowicz, Maciek Chociej, et al. (OpenAI) [arXiv'19] (Cited by:851)

Slide 14

Slide 14 text

14/20 ビジョンモデルのアーキテクチャ ❏ パラメータ同一のResNet50を使用 1. 位置と向きを予測可能 2. 6つの面の角度を予測することはス テッカーを使ったキューブでも困難 ❏ 面の角度予測の分割 1. アクティブな軸 a. 3つの軸のうち動いているもの 2. アクティブな面の角度 a. 2つの面の角度[-π/4,π/4] 3. 上面の角度 a. 絶対的な角度[-π,π] Solving Rubik’s Cube with a Robot Hand, Ilge Akkaya, Marcin Andrychowicz, Maciek Chociej, et al. (OpenAI) [arXiv'19] (Cited by:851)

Slide 15

Slide 15 text

15/20 結果 ❏ 実験設定 1. ブロック向き変更タスク 2. 連続で成功した数で測定 3. ブロック落下or50回連続成功orタイム アウトで終了 ❏ Sim2Sim 1. ADRで方策を学習 2. 手動で調整されたランダム化を持つ環境 の分布で評価 訓練時間が5〜6日程度で連続成功数が約40 回で収束している Solving Rubik’s Cube with a Robot Hand, Ilge Akkaya, Marcin Andrychowicz, Maciek Chociej, et al. (OpenAI) [arXiv'19] (Cited by:851)

Slide 16

Slide 16 text

16/20 結果 ❏ 実験設定 1. 実環境で10回,sim上で500回の試行を行い連続成功数を測定 ❏ Sim2Real 先行研究のベースラインと比較して平均値で約2倍,中央値で約3倍 Solving Rubik’s Cube with a Robot Hand, Ilge Akkaya, Marcin Andrychowicz, Maciek Chociej, et al. (OpenAI) [arXiv'19] (Cited by:851) XL,XXLは数ヶ月以 上の長時間の学習

Slide 17

Slide 17 text

17/20 結果 ❏ ルービックキューブ (定量評価) 1. 成功 (sim)は「反転と回転」の数を示す 2. 成功率のHalfはスクランブルを半分適用した場合で,Fullは全部適用 ※スクランブルとはルービックキューブをシャッフルする行為 ADR (XXL)においてFullで10回中2回成功 Solving Rubik’s Cube with a Robot Hand, Ilge Akkaya, Marcin Andrychowicz, Maciek Chociej, et al. (OpenAI) [arXiv'19] (Cited by:851)

Slide 18

Slide 18 text

18/20 結果 ❏ ルービックキューブ (定性評価) 1. ADR (XXL)の最適方策を使用した結果 2. 様々な摂動を与えた結果 a. 摂動に対する訓練なしで,すべての摂動に対してロバストな結果 Solving Rubik’s Cube with a Robot Hand, Ilge Akkaya, Marcin Andrychowicz, Maciek Chociej, et al. (OpenAI) [arXiv'19] (Cited by:851)

Slide 19

Slide 19 text

19/20 ❏ 概要:多様な自然環境で歩行できる4足歩行ロボットの方策学習方法を提案 ❏ ポイント:visionなどの外部センサを利用せずに制御 ❏ 手法:simでのみ得られる情報を活用して,実世界でロバストな制御を学習 ❏ 実験結果:3つの自然環境すべてで平均速度と輸送コスト (トルクや総重量か ら求めるもの)がベースラインを超えた Learning quadrupedal locomotion over challenging terrain, Joonho Lee, Jemin Hwangbo, Lorenz Wellhausen, et al. (Robotic Systems Lab ETH Zurich Zurich Switzerland, et al.) [Science Robotics'20] (Cited by:569)

Slide 20

Slide 20 text

まとめ RL-CycleGAN:Sim2Realにおけるドメイン適応 20/20 Solving Rubik’s Cube with a Robot Hand:ドメインランダム化 Learning robust perceptive locomotion for quadrupedal robots in the wild:simでのみ得られる情報を活用 ❏ 傾向と今後 ❏ シミュレーションベースの大規模モデルがくるかも ❏ 実機実装の際にはドメインランダム化が有効そう

Slide 21

Slide 21 text

21/20 制御方針 ❏ 報酬 1. 現在の状態とゴールとの距離差 2. ゴールが達成されると+5 3. キューブ/ブロックを落とすと-20 ❏ 強化学習アルゴリズム 1. PPOを使用 2. 方策アーキテクチャにReLU活性化を用いた単一のフィード フォワード層とそれに続く単一のLSTM層を使用 ❏ エピソード修了条件 1. 50回連続して成功 2. キューブ/ブロックを落とす 3. 次に生成されたゴールに到達せずにタイムアウト Solving Rubik’s Cube with a Robot Hand, Ilge Akkaya, Marcin Andrychowicz, Maciek Chociej, et al. (OpenAI) [arXiv'19] (Cited by:851)

Slide 22

Slide 22 text

22/20