前回の「アームの組み立て編」では、LeRobotプロジェクトのオープンソースロボットアーム「SO-101」の組み立てと、モーターIDの設定が完了しました。
今回は、LeaderアームとFollowerアームを連動させて動かすテレオペレーションに挑戦します。
キャリブレーション
まず、アームを動かす前にキャリブレーションが必要です。キャリブレーションとは、アームのモーターがそれぞれの基準位置を正確に認識できるようにする作業です。
1. すべてのケーブルを接続する
まず、LeaderアームとFollowerアームのすべてのモーターケーブルをモーターと基板にしっかりと接続します。
2. キャリブレーションスクリプトの実行
ターミナルを開き、以下のコマンドを実行します。
followerの場合
lerobot-calibrate \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM数字 \
--robot.id=followerの任意の名前
leaderの場合
lerobot-calibrate \
--teleop.type=so101_leader \
--teleop.port=/dev/ttyACM数字
--teleop.id=leaderの任意の名前
それぞれコマンドを実行すると、ロボットをすべての関節が範囲の真ん中にある位置にセットするように指示されます。
これ以降は、それぞれのjointを動かしてキャリブレーションを行います。詳しくはこちらの動画を参照してください。
テレオペレーション
キャリブレーションが完了したら、いよいよLeaderアームを操作してFollowerアームを動かしてみます。
以下のコマンドを実行することで、テレオペレーションをすることができます。
lerobot-teleoperate \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM数字 \
--robot.id=キャリブレーション時につけた任意の名前 \
--teleop.type=so101_leader \
--teleop.port=/dev/ttyACM数字\
--teleop.id=キャリブレーション時につけた任意の名前 \
--display_data=true
コマンドが実行されると、Leaderアームの動きに合わせてFollowerアームが追従し始めます。Leaderアームのジョイントを動かしたり、グリッパーを閉じたり開いたりして、Followerアームが同じように動くか確認してみましょう。
🎉🎉できたーーー!!動いたーーー!!🎉🎉
画面にはこのように以下の画像のように表示されそれぞれのモーターの情報が出ていることがわかります。
(画像内ではカメラの情報も表示しています。)

まとめ
この記事では、組み立てたSO-101を実際に動かすためのキャリブレーションとテレオペレーションの手順をご紹介しました。モーターIDの設定から始まり、この段階でようやくアームが私たちの意図した通りに動くようになりました。
次回はいよいよ、このテレオペレーションの動きをデータとして記録し、AIに学習させるエピソード収集、さらには学習まで行います。いよいよAIにアームの動かし方を教えるステップに入りますので、どうぞお楽しみに!