次期モデル Mini Pupper 2 ラズパイCM4で足座標指定
前回はラズパイ CM4で直接サーボ角度を指定してミニぷぱ動作を楽しみました。
ここではラズパイ CM4で足の座標を指定しての動作を楽しみました。
目次
足座標指定
ここではMini Pupper2に搭載されたラズパイCM4からサーボを制御するESP32に足の座標をシリアルデータ送信して動作させます。
足の座標は各足の付け根を原点にして前後方方向のX [mm]とY方向へのロール角 [°]と高さZ [mm]を指定するようにいたしました。
更に座標移動には以前実験したスムージング機能を持たせて、シリアルデータにスムージングの効き具合も一緒に送るようにいたしました。
具体的には以下の13のデータを送って動作させます。
[スムージング[%], 前右x, θ. z, 後右x, θ. z, 前左x, θ. z, 後左x, θ. z, ]
スムージングは以下のように実施しています。
$$現在の座標 = 指示座標 * (100 -スムージング) [\%] + 前回の座標 * スムージング [\%] $$
動作
まずは各足の高さを指定して屈伸させてみました。
スムージングがない(0%)と動作が急峻になります。
ESP32にIK仕込んでラズパイCM4で足座標指定
座標移動のスムージング具合もシリアルデータに添えたこれで色々動作を楽しめる#MiniPupper #ミニぷぱ #MiniPupper2 pic.twitter.com/CY6ukPgNgd
— HomeMadeGarbage (@H0meMadeGarbage) November 22, 2022
スムージング機能によって動作が柔らかくなり振動も減っています。
移動座標と一緒にスムージング具合[%]も送っていることが今回のミソです。
歩行
足の座標を指定して歩行も試してみました。
ラズパイCM4で足座標指定して歩行#MiniPupper #ミニぷぱ #MiniPupper2 pic.twitter.com/XLLrCZ9lwQ
— HomeMadeGarbage (@H0meMadeGarbage) November 22, 2022
こちらもスムージングによって動きが非常にスムーズになっています。
歩行動作は以下の4ステートをシリアルデータとしてCM4からESP32(シリアルサーボ)に送るだけで実現できました。
各ステートを100msec毎に送信。
スムージングによって各ステート間が良い感じで補完されてスムーズな歩行が実現されました。
次の動作座標を動的に動かしても同様にスムーズな動作が可能であると考えます。
足座標指定による動作は非常に有用な方法なのではないでしょうか。
おわりに
ここではラズパイ CM4で足先の座標を指定してのミニぷぱ動作を楽しみました。
スムージング具合も指定することで大まかな座標指定でも滑らかに動けることがわかりました。
CM4でモーション座標をサクサク流したり、もしくはセンシングで動的に座標を指定しても十分な動作が期待できそうで大変喜んでおります。
それではまた。