💪

LeRobot SO-101のモーションをマニュアル設定するツールを作成しました

に公開

LeRobot SO-101をマニュアル動作

LeRobotといえば模倣学習なので、わざわざマニュアルでモーションを設定する人も少ない気がしますが、作ってしまったので公開します。

ソフトは以下です。MacでもLinuxでも動くと思います(まだMacでしか試してないですが、そのうちLinuxでも試します)。

https://github.com/karaage0703/lerobot-tools

前提は以下を参考にキャリブレーションまで設定していることが条件となります。

https://zenn.dev/karaage0703/articles/8042463b476fbf

ロボットはSO-101のみ対応しています。Followerだけ使います。Leaderは不要です。

lerobot-toolsの使い方

READMEに書いてあるとおりです。

uvでのセットアップを推奨します。uv自体のセットアップは以下記事参照してください。

https://zenn.dev/karaage0703/articles/029b45ff78bc57

あとは、Motion Editorというソフトを使うと、各軸をマニュアルコントロールできます。動きは以下のような感じです。

https://x.com/karaage0703/status/1955287517604745614

起動したら、表示される操作ガイドに従って各軸を動かして、動かしたい姿勢(ポイント)が決まったらMを押下してください。ポイントを指定し終わったらCを押下すると、モーションファイルがmotionsディレクトリに自動で生成されます。

続いて Motion Playerというソフトで、モーションファイルを指定すると、保存したモーション通りに再生できます。

このリポジトリはあくまでモーション設定とサンプルコードという位置づけで、モーション作ったらあとは、好きに使ってくださいという想定です。

PID制御について

PID制御設定については。以下の記事がとても参考になりました(感謝です)。

https://tech-blog.abeja.asia/entry/so101-motor-control-202508

最初小さめのステップで動かしていたら、特定のモーターだけ、全然負方向(重力に逆らう方向)に動かなくて悩んでいましたが、原因はこれでした。

PID制御は、全部のモータをP=20 I=5 D=32に設定しています。Claude Codeが各モーター毎に設定できないと情けないこというので一旦サボってます。そのうち気が向いたり必要に駆られたらモーターごとに微調整するかもしれません(多分しない)。

まとめ

LeRobot SO-101をマニュアルで動かせるようになりました。

模倣学習は…まあそのうちに。

https://github.com/karaage0703/lerobot-tools

関連記事

https://zenn.dev/karaage0703/articles/d778d660703c0b

Discussion