SO-ARM101のLeRobotカメラ設定:手首カメラとオーバーヘッドカメラの解説
シェア
SO-ARM101の模倣学習ポリシーの多くは、グリッパーに取り付けた手首(アイインハンド)カメラと、作業スペースの上に固定したオーバーヘッド(第三者視点)カメラの2つの映像で学習します。この2つを正しく設定することは、他のどのハードウェアの選択よりも重要です。揺れるカメラや構図の悪いカメラからは、どんなポリシーも学習できないデータセットしかできません。
このガイドで紹介するカメラとマウント。追跡番号付きでSingaporeから発送します。
1. レンズを選ぶ
| カメラ | 推奨画角 | 理由 |
|---|---|---|
| 手首 | 90°、低歪み | 魚眼のような湾曲なしに、グリッパーの両指と対象物の両方が見える |
| オーバーヘッド | 110°~140° | 机の上方50~60 cmから60 × 60 cmの作業スペースをカバーできる |
1080p USBカメラモジュールには、60°、90°、110°、140°のM12レンズが用意されています。手首用に90°を1つ、オーバーヘッド用に110°または140°を1つ購入してください。
2. 手首カメラを取り付ける
SO-101のグリッパーには、固定側のジョーにカメラ用のボスがあります。32 × 32 mmのカメラ基板を小さな印刷ブラケットにネジ止めすると、レンズが指先に向かって約15°傾き、把持の最後の数センチの間も対象物がフレームに収まります。USBケーブルは前腕の内側に沿わせ、手首の関節部分にたるみを持たせてください。ケーブルが張っていることは、手首のサーボが切断される最も多い原因です。
3. オーバーヘッドカメラを取り付ける
1/4"ボールヘッド付きデスクアームをテーブルの奥の縁にクランプし、作業スペースの50~60 cm上方から約45°の角度で見下ろすようにカメラを配置します。可能であれば、アームをクランプしているのと同じテーブルの脚から離してください。アームの振動はモーションブラーとして映像に現れます。記録時と評価時で、オーバーヘッドカメラを動かしてはいけません。
4. LeRobotにカメラを認識させる
cameras = {
"wrist": OpenCVCameraConfig(index_or_path=0, width=640, height=480, fps=30),
"top": OpenCVCameraConfig(index_or_path=2, width=640, height=480, fps=30),
}
lerobot-find-cameras opencvを実行してインデックスを調べ、10秒のテストエピソードを記録して映像を確認します。どちらの映像でもグリッパーが対象物に到達する様子が映り、フレーム落ちがないことが必要です。
5. 照明と背景
- 無地で反射しないマットを使用してください。当店のトレーニングキューブの10 × 10トレイを使うと、ポリシーが基準にできる固定グリッドになります。
- 照明を一定に保つ:窓からの日光の変化を避けるため、両方のセッションでデスクランプを点灯してください。
- オートエクスポージャーが明滅する場合は、カメラドライバーで露出を固定してください。
両方のカメラ映像を1回の注文でそろえる
手首用に90°レンズのカメラモジュールを1つ、オーバーヘッド用に110°または140°レンズのものを1つ、さらにそれを支えるデスクアームをご購入ください。
FAQ
どの解像度で記録すべきですか?
ほとんどのLeRobotチュートリアルや事前学習済みポリシーは、640 × 480、30 fpsを想定しており、データセットも小さく済みます。1280 × 720で記録するのは、クロップする予定がある場合や細部が必要な場合に限ってください。
LeRobotが誤ったカメラインデックスを表示するのはなぜですか?
Linuxは/dev/videoの番号を接続した順に割り当てます。両方のカメラを接続した後でlerobotのfind_camerasスクリプトを使用し、毎回のセッションで同じUSBポートに接続するか、シリアルパスで指定してください。
スマートフォンやLogitechのウェブカメラは使えますか?
はい、UVCに対応していれば使えます。ウェブカメラは手首に付けるとかさばります。ブラケットに載せたカメラモジュール単体なら重さは15 gで、アームのバランスを崩しません。