いつかやってみたいと思っていた倒立振子にチャレンジしてみました。
ほんとは必要な材料を一から揃えて作りたかったのですが、他にもやりたい事があるので倒立振子キットを購入しました。(と適当な口実を作り逃げました。。)
購入したキットはBalaCというM5StickC Plus同梱のもので、公式のサイトに行けば倒立振子のプログラムもアップロードされています。
しかし、プログラムくらいはせめて自分で作成してみたくなりましたので、micropythonでの実装を試みました。
結論からいいますと、自身のプログラムではうまく行きませんでした。結構時間をかけましたが、ダメでした。1週間くらいでしょうか。
しかし私は転んでもただでは起き上がりません。失敗作を利用し「え、いやもともとこれを作る気だったんですけどなにか??」と大きく開き直る事にしました。今回はそれを皆さまにお見せしたいと思います。
一応成功例(公式のプログラムで動かしたもの)ものっけておきますので、ちょっとだけ覗いて行ってやってください。
BalaC
BalaCのキットは倒立振子に必要な部材が一式同梱されています。
タイヤ、サーボモータ、タイヤ、2次電池、マイコン(M5StickC Plus)
価格は¥6000位だったかな。
公式プログラムで動かしてみる
なるほどね、知ってますよ、PID制御ってやつでしょ?OKOK。前に傾けば前進させて、逆も然りでプログラム書けばいけるでしょ。
と言うことで、ここから地獄に足を踏み入れることになります。
PID制御さっぱりわからん
kp,ki,kdの値を試行錯誤するもどんどん訳が分からなくなっていきます。
先人の方々の知恵を拝借しながら進めるも1週間程沼にハマったまま抜け出せず。
もうまるっとパクっちゃえということでCが書けない私は、偉大な先人の方々のコードをそのままpythonに変換しますが、うまく行かずハングしまくる私の倒立振子。
。
。。
「え、いやもともとこれを作る気だったんですけどなにか??」
倒立振子のなれの果て
カメラワークにこだわりました。
倒立振子のなれの果て2
ハングスピードにこだわりました。
電子工作戦闘力3(普通の戦闘力は1)のこんな私ですが、たまにこのサイトに来てくれると嬉しいです。
あと承認欲求の化け物ですのでTwitterでフォロー&いいねしてくれると嬉しいです。