通常のロボットのプログラムのように、キーとなる姿勢を登録し、その姿勢を連続で再生するという方式で、お片付け動作をやってみました。

https://youtube.com/shorts/pNyVH6XyHjY


やったこと

SO100 ロボットアームに、4つのキャラメルを順番にピックして別の場所に置く動作をさせました。

カメラや画像認識は使っていません。


仕組み

カメラを使わない代わりに、ティーチングという方法を使いました。

ロボットアームのモーターをオフにして手で動かし、「ここでつかむ」「ここに置く」といったキーとなる姿勢をプログラムに登録します。再生時は、登録した姿勢をつなげてロボットを動かします。

姿勢間の補間には、

  • moveL(エンドエフェクタが直線を描くように動く)
  • moveJ(各関節が独立に動く)

の2種類を作成して使いました。


使ったライブラリ

ロボットの運動学(FK / IK)には lerobot_kinematics を利用しました。

このライブラリは SO100 / SO101 ロボットアームの順運動学(FK)と逆運動学(IK)を提供しており、エンドエフェクタの XYZ 位置・姿勢から各関節角度を求めることができます。