ロボット実験で学んだこと
未来のロボット開発を進化させるために経験を共有しよう。
― 1 分で読む
目次
この記事では、私たちのプロジェクトでうまくいかなかった方法や実験について見ていくよ。私たちの経験を共有して、他の人が私たちの失敗から学べるようにしたいんだ。成功しなかったことを理解することで、今後の改善に役立つ知識を得られるからね。
特権ポリシー蒸留と観測履歴
特別な情報、たとえばキーパラメータや真の位置を使って、もっと良いポリシーを訓練しようとしたんだ。このアプローチは、モデルが動いている間に監督学習と定期的なチェックを使ったんだけど、性能は向上しなかった。実際、観測履歴を長くすると問題が発生したんだ。理由の一つは、Pythonで使ってたタイミングシステムが正確じゃなかったからで、履歴を信用するのが難しかった。この問題は、より良いタイミングシステムを持つUnitree A1ではあまり深刻じゃなかったよ。
投げのための正確な把持
把持と投げの技術を向上させるために、人間のデモからたくさんデータを集めたんだけど、500例あってもコントローラからの小さな動きがロボットの物体操作に問題を引き起こしたんだ。もっとデータがあれば、もっと信頼できる把持と投げのプロセスが作れるかもと思ってる。
完全無拘束デプロイメントのシステム信頼性
私たちのシステムは、ケーブルに接続せずにタスクを実行できるんだけど、全体的には信頼性が足りなかった。一部のハードウェアやシステムレベルの課題に直面したんだ。ロボットの重さがうまくバランス取れてないから、関節がすぐにオーバーヒートしちゃって、それがエラー状態に入る原因になった。だから、モーターをよく冷やしてエネルギーを節約するためにポリシーを調整したりしてた。
もう一つの問題は、電源供給だった。バッテリーの充電レベルによって異なる電圧を供給していて、満充電の時は特定のコンポーネントには高すぎて、減ってくるとロボットの動きが遅くなったり効果が薄れたりした。
速度統合
iOSのARKitを使ってiPhoneでロボットの位置をトラッキングすることにしたんだけど、残念ながらカメラの位置が早い動き、たとえば投げる時に不安定になることが多かった。iPhoneとオンボードシステムの間の通信時間が早くても、ロボットの位置の更新には約140msの遅れがあったんだ。
この遅れがシミュレーションされたことと現実で起こることの間にギャップを作った。結果として、ロボットは遅い振動を経験し、時間が経つにつれて悪化していった。色々な読み取りを使ってロボットの速度を推定できたけど、遅れからくる揺れは問題のままだった。改善するために、もっと早いアクションレートを使ったりシステムを効率よく調整したりすることを考えたよ。
iPhoneの配置
ロボットにiPhoneを取り付ける戦略的な場所を選んだんだ。主に、カメラが環境をよく見えるようにしつつ、タスク中にロボットアームが見えないようにしたかったから。角度を上向きに設定して、周りの詳細をもっとキャッチできるようにしたんだ。これでトラッキングプロセスが助けられた。さらに、ロボットアームが電話に届かないようにして、損傷のリスクを減らしたよ。
ロボットURDF
迅速な動きが必要なタスクのために、いくつかの方法が私たちの不完全なモデルと実際のロボットとのギャップを埋められなかったことに気づいたんだ。ロボットの部品を分解して測定し、モデルを更新してシミュレーションと現実の両方でうまく機能させる必要があるとわかったよ。
シミュレーションではすべてが完璧にタイミングが取られているけど、現実世界では遅れがたくさんある。最大の遅れはロボットの関節を観察し、それに指示を送ることから来るもので、すべての遅れの原因を正確に測定できなかったけど、総時間を0msから30msに調整することで性能が向上したんだ。適切に調整されていないと、ロボットが揺れてしまう。
他の遅れの原因は、私たちが使った位置トラッキングシステムから来ていて、モーションキャプチャシステムは8msの遅れを追加し、iPhoneは140msの遅れがあった。これらの遅れをできるだけシミュレーションに反映させようとしたよ。さらなる改善のために、追加の方法を使って位置の推定を更新しようとしたけど、これらの努力は大きな改善にはつながらなかった。
Pythonプログラムにも遅れがあったんだ。技術的な制約のせいで、すべてのタスクを一つずつ実行しなきゃならず、遅くなってしまった。コードを最適化して、長時間実行されるタスクを別々の部分に分けることで、観察とコマンドの速度を上げたよ。
安全問題への対処
シミュレーションから現実世界にポリシーを直接デプロイしようとした時に、安全上の懸念がいくつか見られたんだ。揺れなどの問題に対処するために、アクションの正則化を増やしたよ。ロボットは、予測した動きが以前のものから遠いと報酬が少なくなるようにした。揺れに寄与するセンサーもいくつか無効にした。
ロボットの関節には設計上の理由でオーバーヒートの問題もあって、必要以上に働かせてしまってたんだ。トレーニング方法を調整することで、シャットダウンが起きる前に動作時間を約30分まで延長することができたよ。
さらに、シミュレーションでは現実世界で問題を引き起こす危険な動きが見られたんだ。バランスの取れた姿勢を促進して安定性を助けるために、新しい報酬を追加してリスキーな構成を避けるようにした。
操作ポリシー
操作ポリシーで使われるハイパーパラメータも分析したよ。視覚観察と自己受容のホライズンは、ロボットをガイドするのに以前の画像や状態がどのくらい使われたかを指すものなんだ。また、実際の動作でのステップや頻度も監視した。
ロボットの動作中にエンドエフェクターパスを滑らかに保つために、ロボットが実行しているパスと軌道の更新をブレンドする方法を導入したんだ。
全身ダイナミック投げ
投げのタスクでは、アクションを処理するステップを増やす必要があったから、それがシームレスになるようにしたんだ。そうすることで、アイテムをより遠くに投げられることがわかった。さらに、パラメータを密接に追跡して、よりスムーズな結果を保証したよ。
エンドエフェクタのリーチがロバストな全身プッシングに繋がる
プッシュのような簡単な動きには、デモの例をあまり集めなかったんだけど、ロボットのパスを安定させることに特に重点を置いて、軌道の更新を滑らかにしたんだ。
プラグアンドプレイのクロスエンボディメント操作ポリシー
高精度が必要なタスクでは、安定性を保つためにアクションの頻度を下げなきゃいけなかった。これらのタスクには追加のデータを必要とせずに、既存のリソースを使ったんだ。
野外カップ再配置評価
様々な厳しい条件下でカップを再配置することで、システム全体をテストしたよ。不安定な表面や厳しい照明など、ロボットがどれだけ適応できるかを見極めるためのテストだったんだ。
報酬条件
ロボットを訓練する際に、性能を向上させるのに役立ついくつかの報酬要因を考慮したんだ。これには、関節の範囲、加速、位置の制限が含まれていた。ロボットがアクション中にバランスを保ち、整列できるようにすることにも重点を置いたよ。
現実世界での投げ
投げのタスクでは、ロボットが物体を受け取ることでパフォーマンスを向上させたんだ。ロボットが操作中に倒れたかどうかで失敗をカウントして、投げられた物が対象から一定の距離内に着地すれば成功と見なしたよ。
シミュレーションアブレーション
テスト中に、さまざまなスタート条件でトライアルを作って、ロボットが異なるシナリオにどれだけうまく対処できるかを見たんだ。障害物と衝突せずにバランスを保てたかどうかで性能を測定したよ。
システムのコスト
最後に、ロボットシステムを設定するのに必要な費用をまとめたんだ。この内訳を見たら、私たちの完全なシステムは市場にある他の類似のロボットシステムの約4分の1のコストだってわかったよ。
私たちの発見を共有し、私たちの旅を詳しく説明することで、似たような技術に取り組んでいる他の人たちにインスピレーションを与えられたらいいなと思ってる。何がうまくいって何がうまくいかなかったのかを理解することで、私たちの方法を洗練させてロボティクスの開発を進めることができるからね。
タイトル: UMI on Legs: Making Manipulation Policies Mobile with Manipulation-Centric Whole-body Controllers
概要: We introduce UMI-on-Legs, a new framework that combines real-world and simulation data for quadruped manipulation systems. We scale task-centric data collection in the real world using a hand-held gripper (UMI), providing a cheap way to demonstrate task-relevant manipulation skills without a robot. Simultaneously, we scale robot-centric data in simulation by training whole-body controller for task-tracking without task simulation setups. The interface between these two policies is end-effector trajectories in the task frame, inferred by the manipulation policy and passed to the whole-body controller for tracking. We evaluate UMI-on-Legs on prehensile, non-prehensile, and dynamic manipulation tasks, and report over 70% success rate on all tasks. Lastly, we demonstrate the zero-shot cross-embodiment deployment of a pre-trained manipulation policy checkpoint from prior work, originally intended for a fixed-base robot arm, on our quadruped system. We believe this framework provides a scalable path towards learning expressive manipulation skills on dynamic robot embodiments. Please checkout our website for robot videos, code, and data: https://umi-on-legs.github.io
著者: Huy Ha, Yihuai Gao, Zipeng Fu, Jie Tan, Shuran Song
最終更新: 2024-07-14 00:00:00
言語: English
ソースURL: https://arxiv.org/abs/2407.10353
ソースPDF: https://arxiv.org/pdf/2407.10353
ライセンス: https://creativecommons.org/licenses/by/4.0/
変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。
オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。