スティックくん、倒立振子ロボでライントレーサー・・・
やってみようとすると思った以上に難易度高いかもしれないってのが
わかってきた。
倒立振子の方はだいたい理屈もよくわかってるつもりで
ライントレーサーもそれなりに作ったことあるし
スティックくんでもやってた。
組み合わせて調整がちょいと手間・・・くらいに思ってた
あんまり真剣に考えたこともなかったけどいざやりはじめると
そう簡単じゃなかった。。。
何よりやっぱりこのサイズ、非力なスティックくんではけっこうしんどい。
非力・・・というかモータの速度がFM90、110rpmしか回らない。
1秒に約2回転・・・直径約Φ30・・・実力秒速15cmくらい。。。遅い...
なのに小さいもんで固有振動周期短い・・・倒れるまでの時間短い。
なもんでリカバリできるボディ傾き許容範囲狭い。
手間取ってるいい訳だな・・・
お友達のHello MiPくん LEGOマインドストームくん達のサイズは
けっこう簡単に立てる。 (倒立振子ロボの仲間たち)
ミニフィグセグウェイの倒立振子ロボはまだけっこう先。。。かな
ETロボコンとかでもNXTは倒立振子でライントレーサーやってる
この手の太いラインでの1個センサでの境目制御は割とライントレーサー簡単
スティックくん、倒立振子ロボ検索しても世界最小クラスって
感じだけど、背の高さでは”木楽らぼさん”のが一等小さい。。。
こんなんできますかねって話してたらあっさり作っちゃう...
木楽らぼさん、倒立振子ロボのレジェンドです。
とりあえずフツーに倒立するようになってからあまり細かく制御
見てなかった。。。し、だいぶ忘れてるとこあって
おさらいしてもうちょい制御見直した。
これまでの制御で...8の字的に走らせようとしてもやっぱし
いまいちでこんな感じ
で、高性能プロトタイプの RX-78 スティックくん
— しん (@shinichi_nin) 2023年2月4日
ライントレースの準備運動、
できるだけ定速度で前進バックせずにバランス
取って走る練習。。。これが難しい。
8の字走行をしようとしてるんですが・・・#M5StickC #超小型倒立振子ロボ #BLE #Dabble #Arduino https://t.co/IewZjUwJUs pic.twitter.com/BQyBsIvjlQ
ライントレース・・・検出センサはふつうちょいと前方につける。
車体がラインから外れる手前でわかるのでフィードバックしやすい。
言い換えれば・・・バックではライントレースまともにできない。
でも、倒立振子ロボの基本の動きは前後に揺れることでバランスを取る。
なのでゆっくり前進してるとバックが多少混ざりやすい。
単純計算では揺れてバックしてる時より重心前進速度が速くなれば合成された
速度ではバックはなくなる。
でも、、、速度が遅いスティックくんは速度範囲が狭いので揺れでのバックが
なくなるまで速度を上げるとちょいとしんどい。
できるだけ前後揺れの少ない走行が必要なってくる。
定常円旋回(右)もけっこう難しい。
ちょこちょこ止まる
倒立振子ロボ スティックくん
— しん (@shinichi_nin) 2023年2月5日
ライントレースへの道・・・
定速度定常旋回半径10cm狙い...
バックモードが混ざらないよう、できるだけ低速
で、右回転...だけど...ずれるし不安定
角速度,前進速度での制御じゃやっぱダメかなぁ#M5StickC #超小型倒立振子ロボ #BLE #Dabble #Arduino pic.twitter.com/mnjGU40twe
定常円旋回(左) ・・・ 右と回り方加減が違う。。。
倒立振子ロボ スティックくん
— しん (@shinichi_nin) 2023年2月5日
ライントレースへの道・・・
今度は左回転。
同じ制御で左右で感度がだいぶ違う...
速度ベースじゃなくて目標位置,角度制御に
せんといかんかなぁ。でもヨー角はドリフトするし、
エンコーダなしだからなぁ...#M5StickC #超小型倒立振子ロボ #BLE #Dabble #Arduino pic.twitter.com/EHt3hypY58
IMUのヨーレートはドリフトするのだけど、
これまでこれといってドリフト対策はしてこなかった
特に困らなかったもんで。でも今度はそうもいっとれんので
ドリフト演算対策してみた。
#倒立振子ロボ #スティックくん
— しん (@shinichi_nin) 2023年2月5日
ライントレースへの道・・・
これまで素の値で使ってヨー角ドリフトが大きかった。ノイズ対策処理してヨー角ドリフトを低減。
右向けぇ右っ、戻れっ、左向けぇ左っ、戻れっ、
位置はずれる角度制御いけるかな...#M5StickC #BLE #Dabble #Arduino #MPU6886 pic.twitter.com/RbtSrr8a7r
90度ターン4回やった後も向きはそんなにずれてない。
位置はずれていってるけど。
前後進制御もこれまでモータの最終出力にオフセットを掛ける感じでやってたけど
モータパワーの積分速度演算の中に目標速度を割り込ませてフィードバックするようにした。
そんでもってなんとかライントレースもやれそうな感じになってきたのがこれ。
倒立振子ロボ スティックくんで#ライントレース への道・・・
— しん (@shinichi_nin) 2023年2月5日
なんとかライントレースできるアルゴリズムが
見えてきたかな。。。超スローだけど...#倒立振子ロボ #スティックくん #M5StickC#Arduino #BLE #ライントレーサー #PID制御https://t.co/uiOp1pUska pic.twitter.com/dHgA38CgDj