メインコンテンツ

アニメーションを使った倒立振子

この例では、Simulink® を使用して倒立振子システムをモデル化およびアニメーション化する方法を示します。倒立振子の重心はピボット点より上にあります。この位置を安定して維持するために、システムは振子が落下を開始するとピボット点を重心より下に移動する制御ロジックを実装します。倒立振子は制御手法のテストに使用される古典力学問題です。

システム

この例では、システムはモバイル カートに取り付けられた倒立振子で構成されています。モデルは動きを垂直方向の平面に制限します。システムの安定性を維持するために、モデルは状態フィードバック制御を実装してカートの位置を追跡します。Simulink で方程式がどのように導出されて実装されるかの説明については、Derive Equations of Motion and Simulate Cart-Pole System (Symbolic Math Toolbox)を参照してください。

倒立振子のダイナミクス

モデルはマスク サブシステムを使用して倒立振子の非線形システム ダイナミクスを実装します。サブシステムは、"x" 軸に沿ったカートの位置と、ピボット点を中心とした振子の回転を決定します。

状態フィードバック制御

モデルは状態フィードバック制御を実装してカートの位置を追跡し、ピボット点を振子の重心より下に維持します。Kalman filter はシステムの内部状態を推定するために使用されます。

アニメーションと解析

モデルは Level-2 MATLAB S-Function ブロックを使用してアニメーションを実装します。S-Function は MATLAB® Handle Graphics® を使用します。S-Function を表示するには、pendan.m を開きます。[Pendulum Animation] ウィンドウで、スライダー バーを使用して、カート上の振子のピボット点を移動します。システムの安定性を維持するために、モデルはオブザーバーベースの状態フィードバック制御を実装します。次の図は、倒立振子システムの時間領域応答を示したものです。1 つ目のサブプロットは、カートの実際の位置と基準位置との比較を示しており、時間の経過に伴う追従性能が強調されています。2 つ目のサブプロットは、振子の角変位をラジアン単位で表したものであり、振子の角度が制御プロセス中にどのように変化するかを示しています。シミュレーション データ インスペクターを使用して、ログ記録された信号を調査することもできます。

参考

| |

トピック