シリアルサーボモータ SCS0009 で倒立振子 完結編
前回はサーボモータSCS0009を用いて屈伸動作する倒立振子の検討を実施しました。
ここでは前回でた課題の検討を進め サーボモータを用いた倒立振子の神髄に迫りたいと思います。
目次
前回の課題
前回挙がった課題を再度掲載します。
- UART-1Wire回路作成
現状は公式基板使用しているけど自作して小型化。ホイール用と屈伸用の2個必要 - バッテリ搭載
電源線がジャマ!搭載の際には重心に気を配る - 安定倒立制御を目指す。
屈伸による安定パラメータへの追従方法を探る
これらを順次検討進めていきましょう。
UART-1Wire回路
ちょっと大きめのUART-1Wire変換 公式基板 をやめて、自作で小型化します。
また今回は足屈伸用とホイール用のサーボをコントローラのcoreをわけて制御したいので変換回路も2ch必要となります。
回路は秋月の資料を丸々参考にしました。
https://akizukidenshi.com/download/ds/akizuki/feetech_digital_servo_20220729.pdf
製作した基板がコチラ。2ch。
秋月の回路は5V系ですが、3.3Vにしてシリアルサーボのシグナルラインも3.3Vにプルアップしています。
あとで気づいたのですがドライバMAX485はデータシート上の入力電源範囲が4.75~5.25Vとあり、完全に5V動作のICでした。
しかし3.3Vでも動いてしまいました。。
正しくは3.3V系のドライバを使ったほうがいいでしょう(MAX3485ED ←パッケージは異なりますがピンコンパチ)。
バッテリ搭載
UART-1Wire変換回路も小型化できましたので、バッテリも搭載しちゃいましょう。
バッテリを搭載
LiPoバッテリ 7.4V 700mAh https://t.co/XLgLxwZYCB pic.twitter.com/OZ0FCvmkGh
— HomeMadeGarbage (@H0meMadeGarbage) April 24, 2023
倒立制御はまだイマイチですが、非常にスッキリとした機体となりました。
安定倒立制御
いよいよ安定倒立を実現し屈伸しながらの縦横無尽制御を目指します。
移動動作
まずは屈伸機構のない初期型の機体で安定倒立動作の検証をいたしました。
制御はノーマルのPIDでパラメータを調整。
ブーン
最大回転速度がそれほど早くないので
キチンと速度管理しないと暴走するなぁ pic.twitter.com/JuVOtQQgp3— HomeMadeGarbage (@H0meMadeGarbage) April 25, 2023
それなりに移動制御はできるのですが、ホイール回転が上がって機体が大きく傾くと その傾きを復帰させるに必要な回転速度が実現できず制御不能になってしまいます。。
車輪サーボスピード足りず縦横無尽な移動は難しそう。。
ボディ軽くするのも厳しいし
ホイール径大きくすればワンちゃんあるべか? pic.twitter.com/xTNaJNAAyc— HomeMadeGarbage (@H0meMadeGarbage) April 28, 2023
屈伸機体でも同様に。より機体重量が増すので姿勢復帰により高速回転が必要になります。
低速移動はできますが早い移動動作は難しいですねぇ
屈伸動作
高速移動はあきらめるとして本題の屈伸動作を確認いたしました。
今回はサーボ一個でもリニアに上下できることが分かったことが収穫かな
ホイールは普通にモータ使ったほうが良さそう pic.twitter.com/WCj1IEKWYF— HomeMadeGarbage (@H0meMadeGarbage) April 28, 2023
いい感じ♪
前回検討したリンク機構による線形上下動作が非常に効いていますね。
おわりに
以下の動画に感銘をうけて開始した、倒立動作の再考。
another demo pic.twitter.com/vN2phdIVem
— XGO (@luwu_dynamics) April 8, 2023
非常に勉強になりました。
“サーボ一個で屈伸なんてしたら重心動きまくって倒立どころじゃないじゃん。こんなの制御大変でしょー”
を動機に実際に自身で検証してまたひとつ賢くなりました。
ホイールには速度の出るモータを使用したほうがいいかなと思います。サーボの連続回転で良いフィードバック値が得られなかったのもちょっと痛かったです。
サーボ1個でもリニアに上下できることが分かったことが今回の大きな収穫だと思います。
なんでもやってみないとわからないものですね。
— HomeMadeGarbage (@H0meMadeGarbage) April 29, 2023