最初の最初・・・のとこに
ぼくのスティックくんが載ってる! なんとうれしい。
去年展示した時の写真、それ Make:Japan に載ってたやつ。。。
スティックくん、
こんな超簡単構造の倒立振子ロボです。
超簡単♪
— しん (@shinichi_nin) 2024年2月28日
倒立振子ロボスティックくん!#スナップフィット で20秒組立て
サーボを繋いだだけで出来上がり。
刈谷メイカフェア出展向け準備中...
構造が簡単な分、
制御はそこそこ高度なこと
やってます... #M5Stack #M5StickC #arduino #IMU #PID制御 #カルマンフィルタ #回転サーボ pic.twitter.com/1mRYooPpiL
先日のKariyaメイカフェアにも展示してました。
それなりにウケてたと思う。
特に、ちょっとエンジニア関係の方からは突っ込んだ質問も来てた。
そのお相手がまた楽しかった。
やっぱり、、、ちょいと工夫して作ったモノは自慢したかったり。
M5StickC に 連続回転型サーボをつないだだけ。 の構成が
自慢です。
フツーの倒立振子ロボはマイコンの他に回転センサ、ジャイロ、Gセンサ
ギヤモータ(ステッピングモーターとかだとダイレクトもけっこうある)
モータドライバ・・・等々たくさんの部品の組み合わせになるし、
ネジなども使って組立てには工具も必要だけどそんなの一切なし。
そういうのはそーそーないと思う。
その分、制御にはそこそこ凝ったことやってる。
車輪、モータの回転センサがないので位置は直接しることができない。
位置のフィードバックがないとバランスを取って立っても、
どんどん移動してしまう。じっとしてられない。
モータの駆動信号をPI演算補正で位置推定してます。
でもそのモータ駆動信号がサーボ信号なのでやっかい。
1.5ms幅パルス中心で振るフツーのサーボ信号。
これの分解能が粗くて、応答が遅い。。。
サーボ自体も安物使うので精度も悪い。
そもそもサーボは高速応答って言ってもこのサイズの
倒立振子ロボで使うには遅い。
サーボの高速応答・・・およそ人の操作に対しての話。
なので10Hz程度でも人はそんな指は速く動かないので十分に速い。
スティックくんの制御は100Hzで演算してる。
(大きなロボなら固有振動数が小さくなるのでもっと遅くてもいけるのだけど
スティックくんサイズは一瞬で倒れる・・・固有振動数が高い ので
演算周期も短くしないとすぐ倒れる。)
なのでとてもサーボはついてこれない、ノイズフィルタでカットされて
しまう信号変化。
サーボを使わず、ギヤモータとモータドライバで組めば100Hzの応答は
簡単にできてしまうけど。
あえて難しくなるサーボでやってる。。。。^^;
構成を簡単にするために。
サーボ、応答のヒスも大きいので大きめのギヤバックラッシュ補正とか
考えないといけない。
IMUの信号処理も普通のフィルタ処理だと位相遅れが無視できない
感じになるのでカルマンフィルタ処理。これだと位相遅れがほぼない。
30年前・・・カルマンフィルタ、知らなかった頃
センサのノイズフィルタ処理で、、、信号予測推定ノイズ処理とか言って
直近過去の信号から近似直線計算して重みづけして現在の最新信号の
補正をする・・・特許取れると思ったら、
先輩に それカルマンフィルタって言うやつ。
アポロ11号のノイズ処理で有名って聞いた時はショックだったので
よく覚えてる。
そういうの、いくつもある。
自分が考案した・・・と思ってよくよく調べたら誰か先人がいる。
3相モータのベクトル制御も20年前やり始めた頃
120度毎に1相スイッチ固定して2相で制御できる、スイッチング損失低減で
特許取れるって話したら、それ2相変調って言う技術だよって言われて
あれもけっこうくやしかった。 よく覚えてる。
先輩にはそれ自分で気が付いたのか、大したもんだぞって褒められたけど。
でも実際、特殊な場合を除いて2相変調制御って使われない。
演算面倒だし、中性点が揺れるのでコモンモードノイズ電流が大きくなる
リップルが大きくなる・・・コンデンサ発熱する・・・等々あって。
今のTrは高速で動くようになって
スイッチング損失でそう困ることもあんまりなくなったし。
あれなんの話だったかな・・・って
東京メイカフェアの話だった。今年もたぶん出すと思うけど
何を展示しようかな。