n_shinichi’s blog

★記事一覧★から見てください...(すみません、メニュー、リンク、カテゴリー分けがうまくできてません) 日々の備忘録、誤記多し... 名古屋大学:非常勤講師、小学5年生:電磁石単元理科講師、学生フォーミュラ:EV技術指導員、魔改造の夜:Dンソーアドバイザ、CQ出版_Interface:制御技術関連執筆

MENU

おぼえ... M5SticKC_Plus2での倒立振子ロボ 改良?修正?について

ちょっと今日、M5SticKC_Plus”2”は なんかほかの工夫もせんと

 立たせづらいなと思って考えてて思いついたことの覚え...

 

 すみません、、、下記、ここだけ読んでもなんのことかは

 これまでの倒立振子ロボ、スティックくんの制御記事紹介を

 読んできた人にしかわからんと思うけど...

 

自分にしかわからんメモです。

 

IMUのキャリブレーション

 

M5SticKC_Plusでは

 これまで勘で、M5SticKをおよそ水平して持って電源を入れ、

 数秒間の平均値で水平基準を出してそこから、

 実際の倒立振子ロボの重心立ち位置、83度を倒立基準角として

 PID制御で立たせてた。

 

でもって立たせる時は・・・

 およそ83度±5度程度に入ったら、倒立制御開始...としてた。

 

よくよく考えてみるとまわりくどいし誤差がそこそこある。

 ただ、旧型のM5SticKC_Plusは5V出力で連続回転型サーボを

 動かせてたので速度がそこそこ出て、毎秒2回転ほどだけど・・・

立たせ始め初期の角度ズレをリカバーできてた。

 

でも、

新型M5SticKC_Plus2は5V電源を使うと、シャットダウンしてしまう。

 ステップ状にモータ駆動を掛けようとすると電源瞬断でCPUが落ちる...

 旧型は電源管理ICで多機能なAXP192を実装してた。

 これが過渡電流は絞って実際にはギリギリの5V駆動を可能にしてた。

 

新型はその電源管理ICは入ってない。 

 回路でちょっとした電源管理回路は入ってるけど出来がよくない...

 M5Stackによくないんじゃないってメールしたら

 Plus3?では対策するって回答が来た。。。

 

でも今はPlus2しか買えないので

 倒立振子ロボスティックくん作ってみますか? って紹介するなら

 M5SticKC_Plus2でも作れるようなの紹介できるようにしとこうと思うところ。

 

5Vは使えない・・・使いにくいが正解かな。。。

 サーボ制御も過渡駆動をソフトスタート掛ければ使えないことはないけど

 それだとギリギリ動ける速さ引き出すとかまた面倒。。。

 

で、、、BAT駆動。

 バッテリー端子からサーボ動かす・・・を試すと、

 当然、ステップ状に駆動掛けても落ちない。応答は十分早い。

 ただ、速度は遅い。単純に5vが3.7Vくらいに落ちるので25%ほど速度落ちる。

これが思ったより効いてしまう。

 

気絶こそしないけどうまく立たない M5SticKC_Plus”2”

 

 

 

 

旧型のM5SticKC_Plusの電源を5Vから、BAT端子に変えると

 けっこう立たせづらくなった。

 制御は何も変更なし、PIDゲインは5V時と同じ

 でも3.7Vほどのバッテリー直でも一応立てれる。

 

 

 

 

  ロバスト性も落ちた。

最初のスタートの重心ずれが大きいと倒れかけを復帰して起き上がれない。

 ずれが大きいと言っても1度程度の話。

 

で最初の話で今の制御はずれてても制御開始できる範囲を大きくしてたのを

 ちゃんと重心に乗った立ち位置角度になったら、、、

 音、Beepとか、LEDとかで知らせて、、、

 そこから1秒後とかで制御開始・・・

  持ってる手はそのタイミングで離す。。。みたいな感じ

 

でもって、IMUキャリブレーション

   電源入れるたびってのはやめようかと思う

 重心位置基準を治具作ってロボ状態で正確に初期位置角をいったん測って

 フラッシュに記録しておく。。。でそれを読み出す。としようかと思う。

 意外と個体単位ではそんなに狂ってこないこともわかったので。

 たまに確認修正すればいい感じのようなので。

 

ちょいと今は月末のうちの研究所の研究発表会で

 大型展示やることになって忙しくてマイコン工作まともにできない。。。

 なので本腰?入れるのは6月になりそうで

 で、思いついたことメモっておかないと忘れるので備忘録... でした。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

倒立振子ロボスティックくんを

 作ろうと