だいぶ期間が空いてしまいましたが、ブログは書いていなかったものの着々とロボットの製作は進めております。
今回は今週末にあるMaker Faire Kyoto2023への出展のために調整した機体の紹介をいたします。
四足重機Stoppo
こちらが設定資料です。

そして、その完成した機体の映像がこちらです。
こちらに関しては、上述の通りMakers Faire KYOTO 2023で展示予定です。
もしMakerFaireに行く予定がある方は、ぜひお立ち寄りいただけると嬉しいです。
Stoppoの仕組みについて
ここからはStoppoの仕組みを簡単に解説します。興味がある方のみご覧いただければmm
構成
Stoppoの構成は以下の通りです。
バッテリーからDCDCコンバータを用いて5Vに落とした上で、ラズパイとサーボに電源を供給してます。
raspberry piにはROSが載っていて、そこからjoyスティックとカメラ映像をsubscribeしています。
足軌道の逆運動学
SpotMicroに対する逆運動学はここが参考になります。
というのも巷にある四脚歩行ロボの逆運動学解説サイトにはZ軸方向のL2が考慮されていないものが多いのですが、これに関しては考慮した上で解説してくれています。
ただ上のサイトでは、途中までの計算方法を解説されている形となっているので、ここで最後の結論を解説してしまうと、

この画像のように変数を定義すると、

のように定義できます。
ここから逆運動学を解いてあげると、

のように計算することができます。(途中までの詳細は記事を参照ください)
これを元に、脚の先端の置きたい絶対座標の軌道を時間変数tで定義さえできれば、足軌道が設定できるという魂胆です。
今回脚軌道はy>0の楕円軌道を描いています。
脚の回転半径をr、z軸方向の回転角度をyawとして定義すると、

となり、これを実装したところ、下記のようになりました。
(+で各脚に対するオフセットを指定してます)
実際問題として、脚先端の動きは下記のような曲線を描いた方が良いらしいのですが、今回は時間がなかったので、楕円としました。

この実装により、直進運動、並進運動、回転運動には対応できたので、(ちょっと足をひきづっていますが、)ヨシとしました。
剣部分

剣部分は3サーボの3軸構成になっています。
上の剣振り下ろし箇所は1:2でギアを噛ませてあり、振り下ろしを早くするようにしています(BeaverメンバーのSKさん考案)