私は、いくつかの連続回転サーボと加速度計/ジャイロスコープを使用して、2輪バランシングロボットをすでに構築しました。サーボを8ビットエンコーダーを備えたギア付きDCモーターにアップグレードし、バランスを取りながらロボットが動き回るようにしました。
バランスを取りながら運転するようにプログラムする方法にちょっとこだわっています。一つの方法は、モーターへの制御入力を、それを押すようなものとして動作させることだと思います。したがって、ロボットは、移動したい方向に一瞬アンバランスになります。でもそれはちょっと不器用に思えます。より良い方法があるに違いありませんか?バランサーの動的モデルと差動駆動を組み合わせる必要があると思いますが、これは私が知っている制御理論を少し超えています。
Anortonの回答からの更新見栄えの良い状態行列ができました。
次に極配置について:A行列は、新しい状態ベクトルに基づいて4x4である必要があります。また、Bは4x2行列でなければなりません。これは、左/右のホイールトルク(u = 2x1ベクトル)しか制御できないためです。
これについてもっと読む必要があるかもしれませんが、極配置によってA行列を決定する体系的な方法はありますか?この例とさらに複雑な例では、推測とチェックによってAを決定することは非常に難しいようです。
アップデート#2 少し読んだ後、私はそれを理解したと思います。A行列を決定するには、ロボットのダイナミクスが必要です。それができたら、MATLABまたはオクターブを使用して極配置を行うことができます。
:)
私のコントロールの知識は非常にスリムですが、そこに$ 0.02の価値を投げます...