My self-balancing robot stories |
制御の専門書によると、パラメータは、位置、速度、加速度の計測が必要になるそうなのですが、位置と速度はどのように取得されてますか?
ステッピングモーターだと与えるパルスをカウントすれば得られると思いますが、DCモーターだとロータリーエンコーダが必要だと思うのですが、そのあたりはどのように対応されているのでしょうか?
良かったら教えてください。
私の使っている制御法はPID制御で、機体を垂直に保つために機体角度を一定になるよう機体角度にPゲイン、角度の積分値にIゲイン、角速度にDゲインを設定しています。
参考にしているのは以下のサイトです。コードもここのものを改ざんしています。
http://www.instructables.com/id/InstaBots-Upright-Rover/
私のブログで3号機と称している機体はほぼこのサイトの部品構成で製作しています。コードは2015年7月11日の記事にて公開しています。
機体の速度をフィードバックできればより高度な制御が可能ですが、仰る通りDCモーターではエンコーダーが必要になります。私も2015年5月17日の記事のように自作し機体に組み込んでみましたが、いまいちどう使うのかが理解できず結局は取り外しています。したがって私のブログの機体はすべてエンコーダーなしの状態ですが、手前みそながら倒立も走行も問題ないようです。
まずは簡単な構成で試作されることをお奨めします。
倒立振子はなかなか奥の深いロボットですので、是非挑戦されることを期待しています。
途中、手助けできることあればなんなりとお尋ねください。
そのパラメータでも制御できるんですね。
教えて頂いた事をもう少し考えてみます。
また、判らないことがあればお願いいたします。
取り急ぎお礼まで
あけましておめでとうございます。
お蔭さまでエンコーダー無しで倒立させることが出来ました。
https://youtu.be/ldm-iHHeHB4
フラフラするのが、ちょっと気になりますが、
エンコーダ無しだと仕方ないでしょうね。
1ギアなので方向転換は無理ですが、
小さく作ったので、割と可愛いです。
動画拝見いたしました。
なかなかの出来栄えですね。
1モーターというのは考えつきませんでした。
その他の動画も拝見しました、いずれもうまく倒立、走行していますね。
当方はHPにあるように最近はステッピングモーターを使うようになってきています。こちらのほうが制御しやすく安定性も走行性も向上するようです。とは言ってもプログラムのほうはほとんど受け売りですが。
最新作は以下で見れますので、お暇があれば覗いてみてください。
https://youtu.be/takjE6NGwsY
ご連絡有難うございました。
WEBで倒立2輪を知ってから、自作してます。
以前、Arduino 倒立振子 4号機を参考にさせていただいて、
作成したこともあったのですが、うまく安定動作しませんでした。
その後も、自作されている方のWEBも参考に機体、コード、ゲイン等
調整してますが、参考にさせていただいた皆さんのようには
いまひとつ安定しておりません。
本日、ブログのコメントに2015/5/11の記事にコードを
記載されているというのに気づいたのですが、見つけられません
でした。できれば、コード、調整方法も参考にさせて
いただけないでしょうか?
よろしくお願いいたします。
よろしくお願いいたします。
最近はDCモーター版は製作をやめてもっぱらステッピングモーターを使っていますので、4号機も分解してしまいコードがどれなのか私も見つけられない状態です。
3号機にはなりますが、以前に英国の方から同じようにコードについて問い合わせがありその当時真剣に整理してお送りしたものが見つかりました、3号機ですが4号機と基本同じだと記憶しています。
よろしければzipファイルにてお送りいたしますので、送付先のメールアドレスを(非公開コメントにチェックをいれていただければアドレスが公開されることはないと思います)教えていただければ別途メールにて送付させていただきます。