【lerobot】#2 SO-ARM101/100起動からテレポーテーションまで

組み立てと環境設定完了後の、ubuntuのマシーン上でso-101/100ロボットをテレポーテーションまで動かす説明になります。so-100ロボットとso-101ロボットは互換性があるので、so-100ロボットを動かす場合はコードのso-101箇所をso-100へ書き直し実装してみて下さい。

環境を有効にする


condaのlerobot環境を有効にする
conda activate lerobot
lerobotフォルダに移動
cd lerobot




leader_armとfollower_armのデバイス値の更新


leader_armとfollower_armのデバイス値を確認します。
ls /dev/tty*
Ubuntuの場合、SO-ARM101は、/dev/ttyACM0, /dev/ttyACM1で認識されるはずです。SO-ARM101のUSBを2本接続した状態で起動し、1本抜いた状態で、ls /dev/tty* を実行すれば、どちらのSO-ARM101が、/dev/ttyACM0に割り振られているかわかるはずです。

確認出来たら、下記のファイルの場所からso_101のleader_armとfollower_armのデバイス値を更新して下さい。
lerobot/lerobot/common/robot_devices/robots/configs.py


アクセスを許可する。
sudo chmod 666 /dev/ttyACM*
💡 再度PCを立ち上げる際、忘れずにアクセスを許可してください。


Calibrate キャリブレーション


次に、so-100ロボットのキャリブレーションを実施します。これにより、leader_armとfollower_armが同じ物理位置にある時、それぞれの位置が一致するようになります。 それぞれのarmのキャリブレーション位置の詳細写真はseeed studioに掲載されています。

follower_armのキャリブレーション
python lerobot/scripts/control_robot.py \
  --robot.type=so101 \
  --robot.cameras='{}' \
  --control.type=calibrate \
  --control.arms='["main_follower"]'
leader_armのキャリブレーション
python lerobot/scripts/control_robot.py \
  --robot.type=so101 \
  --robot.cameras='{}' \
  --control.type=calibrate \
  --control.arms='["main_leader"]'



Teleoperate 遠隔操作


これでロボットを遠隔操作する準備が整いましたので、下記のスクリプトを実行して下さい。
python lerobot/scripts/control_robot.py \
  --robot.type=so101 \
  --robot.cameras='{}' \
  --control.type=teleoperate



参考URL