DCモータ 倒立振子で屈伸
前回はDCモータ RE-280RA を用いて倒立振子を製作しました。
ここでは膝を設けて屈伸動作もさせてみました。
目次
制御方法再検討
屈伸させる前により安定な動作を目指して制御方法を再検討しました。
前回は最終的に以下をフィードバックして倒立動作制御しておりましたが
- 機体の角度 (IMUセンサで検知)
- 機体の角速度 (IMUセンサで検知)
- ホイールの回転速度 (モータへのPWM信号のデューティー比の積算)
感覚的に理解しやすい以下に変更してみました。
- 機体の角度 (IMUセンサで検知)
- 機体の角速度 (IMUセンサで検知)
- ホイールの回転速度 (モータへのPWM信号のデューティー比)
- ホイールの回転距離 (モータへのPWM信号のデューティー比の積算)
移動制御が非常にやりやすくなりました!いい感じ
タイヤも高級にしてみた。
タイヤを高級品に交換
動作がシックになった#倒立振子 #電子工作タミヤ 楽しい工作シリーズ No.145 ナロータイヤセット 58mm径 (70145) https://t.co/hyjc48oJSv pic.twitter.com/RDfQqLLUd5
— HomeMadeGarbage (@H0meMadeGarbage) July 3, 2023
滑りも低減して動作がより安定した。
筐体製作
以前サーボモータSCS0009を用いて屈伸動作する倒立振子を製作しました。
ホイールの回転にもSCS0009を用いていたのですが回転速度が足りず安定走行はできませんでした。
今回はサーボ一個でもリニアに上下できることが分かったことが収穫かな
ホイールは普通にモータ使ったほうが良さそう pic.twitter.com/WCj1IEKWYF— HomeMadeGarbage (@H0meMadeGarbage) April 28, 2023
そこでここではホイール部のモータを RE-280RA に変更します。
とりあえずモータ固定部のみを作り直して。モータを交換してみました。
RE-280RA を屈伸型に投入
屈伸サーボは未結線で動かないけど動作味見でいい感じこれよりサーボ結線、電源系構築などなど濃厚なので
今晩以降のおかずとす#倒立振子 pic.twitter.com/MB4iREWDWt— HomeMadeGarbage (@H0meMadeGarbage) July 4, 2023
倒立動作も移動動作も問題なさそうです♪
屈伸用サーボ結線
シリアルサーボ SCS0009 を接続して動作確認しました。
マイコン ATOMS3 の4ピンコネクタでシリアルサーボを制御することにしました。
サーボとの通信はATOMのあの4ピンのラインでいけるな
それでは電源系を整えましょう pic.twitter.com/hmVVTG3fG9— HomeMadeGarbage (@H0meMadeGarbage) July 4, 2023
但し4ピンコネクタのIOは3.3V系であるため4ピンコネクタの5V線は3.3Vに接続を変えました (UART-1Wire回路の構造上の要請)。
電源系はこんな感じにした。
電源まわり積んでも動作はバッチリ
サーボ結線して電源周りもFix
サーボ動かしは今からコード書く気力がないので
明日のランチとす#倒立振子 #電子工作 pic.twitter.com/AkQfQN5Nzx— HomeMadeGarbage (@H0meMadeGarbage) July 4, 2023
屈伸動作
屈伸サーボも動かしてみました。
高さを変えてもそれなりに動作していますね。
足のサーボ動かしてみた
足の高さを制御にフィードバックすべきかどうか
これは濃厚すぎるので今晩のディナーとす#倒立振子 #電子工作界の栗原はるみ pic.twitter.com/acuuToFfqG— HomeMadeGarbage (@H0meMadeGarbage) July 5, 2023
屈伸動作や足踏み動作も確認
足の高さを制御にフィードバックすべきかどうかも考えたのですが、ここでは中間の高さでパラメータを最適化して対応しました。
姿勢制御モジュールSHISEIGYOシリーズでも採用しているホイールの回転速度で機体の倒立目標角度を最適化する機構も導入しているのでコレも効いてるのかもしれません。
おわりに
ついに念願の屈伸型 倒立振子を完成させることができました。
そもそもDCモータの直接駆動で さらにはエンコーダなしでそれなりに安定に倒立して縦横無尽に動かせる倒立振子ができたことに驚きました。
今回の倒立振子に回転速度を検知する機構を追加して更なる安定動作も目指せるかもしれませんね。
次はこういうの作りたいな。。