サーボモータでジャンプに挑戦4

Home > 電子工作 > サーボモータでジャンプに挑戦4
すき 0
うんこ 0

前回はシリアルサーボ STS3032を用いての屈伸倒立振子を製作し、ジャンプ動作の確認を行いました。

サーボモータでジャンプに挑戦3

しかし残念ながらジャンプ後の着地は実現できませんでした。

 

 

ホイール用モータ

倒立振子のホイール用モータとしてシリアルサーボ STS3032を採用したのですが、あまり応答もよくなくジャンプ後の着地もうまくいきませんでした。

 

本家の倒立振子も動作音から察するに、ホイール用のモータとしてサーボを使用していると思うのだが。。

 
なんとご本家様から金言をいただく!

動画の倒立振子はSTS3032を使用しているとのこと!
ってことは私の使用方法に問題があるということですね(;^ω^)

非常にありがたいアドバイス(というか答え)をいただき感謝感謝!
このまま路頭に迷うところだった。

 

AudiostockでBGM・効果音を販売中!

STS3032動作モード

STS3032で応答よく倒立振子ホイール制御できることが分かったので、腰を据えてサーボの制御方法を勉強し直します。

実は前々から気にはなっていたのですがSTSシリーズは動作モードがいくつかあるんですよね。
一つ一つ丁寧に見ていきましょう。

サーボの動作モードはFeetechのサーボデバッグ用ソフトで変更可能です。
”Programming”タブのWork Mode (ID 33)の数字を変更

Operation Mode 0

通常のサーボモード

Operation Mode 1

回転速度を指定するモータモード。
これまではこのモードで倒立振子動作をさせていた。

Operation Mode 2

トルクを指定するモータモード。
応答もよくこのモードで倒立振子動作させるのが正解のよう。

Timeを指定して回転させるがデバッグソフトを観るとトルク(0~1000)を指定して回転させている。

Operation Mode 3

回転移動量を指定するステップモード。

参考

 

STS3032 Operation Mode 2

倒立振子のホイール用に適切であろうサーボの動作モードがわかりましたので早速展開します。

Operation Mode = 2のTime設定がSTSサーボのArduino用ライブラリでは出来なかったので、ライブラリをちょこっと修正しました。

 

倒立動作

STS3032のOperation Mode = 2ではモータのトルクを指定しているので、モータの回転速度を指定している前提のこれまでの制御方法では倒立できませんでした。

STS3032の回転速度センシング機能をもちいて速度の実測値をフィードバックすることでやっと倒立できました。

 
この時点の制御でフィードバックしている項目は以下のとおり

  • 機体の傾きの角度 (ATOMS3内蔵のIMUセンサで計測)
  • 機体の傾きの角速度 (ATOMS3内蔵のIMUセンサで計測)
  • ホイール回転速度 (STS3032内蔵センサで計測)
  • ホイール回転量 (回転速度の積算で算出)

 

気をよくして、移動動作も試したのですが上手くいきませんでした。

ホイール回転速度を実測値として倒立動作させたのが今回が初めてなのですが、この場合の移動動作って難しくないですか?

上の動画ではフィードバックする速度に変数付与して動かしてますが、その動作の速度がセンシングされてまたフィードバックされてしまうので。。。

うーんちょっと考えないとな。恐らくちゃんとした書籍を紐解けば答えがあるはず。
移動に関しては引き続き調べることとします。

 

ジャンプ動作

さてお目当てのジャンプ動作です。

ちょっと飛んで着地できた!!
しかし着地後の安定性がイマイチですね。

安定性向上

さらなる安定性向上を目指して、測定回転速度の積算によって算出していたホイール回転量をSTS3032のホイール位置センサの実値から導出することにしました。

足の屈伸量を増やすことに成功し、それなりにジャンプできるようになりました。

まだ改善の余地はありそうですが、夢のジャンプ実現が達成できました。

 

おわりに

ここではシリアルサーボ STS3032の動作モードの再検討を実施し、夢の倒立振子のジャンプ動作を実現しました。

本家のXGO様の幾度もアドバイスをいただき実現に至りました。本当にありがとうございます。

本家の機体はホイール用にブラシレスモータが採用される予定とのことです。デザインもめっちゃカッコいい。
AIロボット犬同様に機能やソフトも洗練されているものと予想されます。
販売が凄く楽しみですね。

 

また自作の倒立振子についてはギュンギュンと移動動作させたいので引き続き検討いたします。

それではまた

追記

2023/8/17

ジャンプ動作や屈伸・足踏み動作を一連で実行できるようにしました。

 

移動も色々検証したのですが、前進/後進が全然うまくできない。。

上の動画では旋回動作も実施
旋回時は回転速度とホイール移動量の測定を止めてを値をゼロとして左右のタイヤの指定値にそれぞれスピード加算して実行。

このやり方では前進/後進ができない。
旋回ももっとグルグル回したいのだが。。

引き続き勉強が必要だ。

次の記事

倒立振C Plus の製作レシピ販売開始

「サーボモータでジャンプに挑戦4」への2件のフィードバック

  1. 動作のさせ方に興味がわきます。サーボモータでジャンプに挑戦の製作レシピの販売もしてほしいです。
    コードでサーボの動作モードがいまいちわからないのでOperation Mode = 2のTime設定のライブラリを修正したの含めてSTS3032サーボの解説だけでも販売してほしいな

    1. ありがとうございます。
      STS3032につきましては別途ブログ記事にまとめてみようと思います。
      宜しくお願い致します。

コメントはこちらから

メールアドレスが公開されることはありません。コメントのみでもOKです。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください