378 Views
November 11, 22
スライド概要
2022/11/11
Deep Learning JP
http://deeplearning.jp/seminar-2/
DL輪読会資料
Motion Policy Networks 2022.11.11 Presenter: Tatsuya Matsushima @__tmats__ , Matsuo Lab 1
概要 部分的な点群入力から衝突しない滑らかな軌道を生成する Motion Policy Network(MπNet)を提案 • シミュレータ上で多様な環境や初期姿勢・ゴールを生成, 古典的なプランナを使い大量に作成した軌道を教師データとして, 追加のロスを加えながら模倣学習 • もとの古典的プランナより高い性能 • 衝突のない軌道&滑らかさの点で • 環境中の部分的な深度カメラの情報から制御可能 • リアルタイムで動く(9Hz)ので動的な物体を避けるのもできる 2
書誌情報 Motion Policy Networks • Adam Fishman1,2, Adithyavairan Murali2, Clemens Eppner2, Bryan Peele2, Byron Boots1,2, Dieter Fox1,2 • 1University of Washington, 2NVIDIA • CoRL2022 accepted (poster) • https://openreview.net/forum?id=aQnn9cIVTRJ • https://arxiv.org/abs/2210.12209 • v1: 2022/10/21 • サイト:https://mpinets.github.io/ • コード:https://github.com/NVlabs/motion-policy-networks ※特に出典が明記されていない図は当論文・サイトから引用 3
百聞は一見に如かずということで… すごそう・・・ 4
論文の著者らによる動画 https://www.youtube.com/watch?v=hIWdQTq8AqQ 5
背景:manipulationのプランニングの難しさ 未知環境における高速なマニピュレータの動作計画は 未だ解決していない • 得られる軌道への要件が複数存在 • スピード,最適性,使いやすさ,滑らかさ… • これを全部満たすようなプランニングアルゴリズムを作るのは難しい • Visualの障害物表現からプランニングするための中間表現が必要に なっている • 例:軌道の途中での正確な衝突判定 • 6
関連研究 代表的なプランニング手法:グローバルプランニング A* search • 状態空間を離散化してgraph search RRT (Rapidly-Exploring Random Trees) • サンプリングベース • 近い点からノードを生やす木探索 十分な性能に達するまで遅い,計算量多くて大変 図出典:https://slides.com/russtedrake/spring22-lec19#/9 動画出典:PythonRobotics https://github.com/AtsushiSakai/PythonRobotics 7
関連研究 プランニングに学習を組み合わせた方法 深層学習を用いてサンプリングを学習することで, 古典的プランナの高速化を目指した研究もある • 例)Motion Planning Networks (MPNet) • サンプリングベースのRRT*で生成した軌道を模倣学習し, 古典的なプランナの結果と組み合わせる • Open-loopな使い方をするので動的な衝突回避などまでは考慮できてない • 出典:https://sites.google.com/view/mpnet/home 8
モデルアーキテクチャ 現在の関節角(q)とセグメンテーションされた点群を入力にして 関節角の移動量(q-dot)を出力するモデルを学習 • 点群エンコーダはPointNet++,他はMLP • 点群は,ロボット自身・環境・ゴール姿勢の手先(カメラから得ら れた点群に追加)の3種類のラベルをつける 9
学習時の損失関数 幾何形状を考慮したbehavior cloning • ロボットの表面の点群(1024点, x)に関してBCのlossを計算 • タスク空間でlossを計算したかったから • BCの場合通常action (configuration) space (q)で計算されることが多い 衝突のペナルティ • 物体のSDFを使って衝突を判定(シミュレーションなのでできる) • 10
データの生成 物理シミュレータ上でシーンのジオメトリ・初期状態・ゴール 姿勢の3つをランダム化 • 57.5万個の環境で327万個の設定を作成 • Global PlannerとHybrid Plannerの2種類でデータを作成 • Globalはゴール姿勢のIKを解いてAIT*で654万個の軌道生成 • Hybridはタスク空間でのAIT*とGeometric Fabricsというlocal planning手法を組み合わせて327万個の軌道生成 • 失敗したケースはゴールを hindsight relabellingした 11
実験(シミュレーション) 生成したデータから学習に使わなかった設定で評価 • 学習ベースのモデルはデータ生成したプランナより早い • CSは軌道を再計算する際の時間(cold start) • Hybridで生成した設定に対しては,MπNetの方がglobal planner より高い成功率 12
学習データのオーダを増やすと性能が向上 MπNetは学習データのサイズに対して性能がスケール • データを増やすと性能上がる • 95%ぐらいの成功率まで伸びる • 110万個ぐらいで性能はサチった • MPNetの性能はデータ増えてもほとんど 変わらない 13
実験(sim2real) シミュレータで学習した方策を実機環境に転移(最初の動画) • Franka Panda(7DoF)のロボットアームを使用 • LiDARを環境中に固定(Realsense L515) • LiDARから得られた点群から,ロボットのモデルを用いてロボット 自身の点群をフィルタリング • フィルタリングされた後の点群は4096点にダウンサンプル, • 9Hzで回ってる(リアルタイムに動く) • ロボット自身の点群はモデルを用いて作成 14
まとめ・感想 まとめ • シミュレータ上で多様な環境や設定を生成し,古典的なプランニング手法で生成した軌道を教師デー タとしてBCで方策を学習 • 部分的な観測から動的に衝突回避のできる方策が学習できた 感想 • 論文自体は素直で読みやすい • 部分観測のカメラから動的に衝突回避する動作計画できるのすごい • 学習時にsimだからできることをたくさん活用してロバスト性を高めるのが素晴らしい • 例)衝突の計算に物体のSDF(privileged info)を使う • 深度カメラから得られる点群のみ使っていたが, RGBの情報を使ってセマンティックな情報を使えばもう少し高度な動作もできるようになるのでは? • 例)セグメンテーションした結果を入力してプランニング • or マニピュレーション結果をセグメンテーションに反映?(learning to segment) • 衝突のない軌道を生成するだけではなく特定の物体を押すとか 15