検索
連載

動きの開発、速度制御ロジックのモデリング体験! MBD&MDDによる組み込みシステム開発(5)(1/2 ページ)

今回は、Scicoslabを使いながら速度制御ロジックのモデリングを行い、「動き」の開発を進めていく!!

Share
Tweet
LINE
Hatena

 前回「制御の世界のモデルベース開発とは?」では、簡単な制御モデルを使用して、制御の世界のモデルベース開発プロセスについて説明しました。

 今回は、速度制御部分の開発を行っていきます。

開発対象

 システム全体のフレーム部分は、すでに連載前半で作成しました。

 今回の開発対象は「追従走行中」状態であるfollower_linetraceの、「追従走行する」RC_fw_linetrace_run関数のロジックとなります。現在は、ON/OFF制御(ある程度の距離まで先行車に近づいたらスピードを20に、ある程度距離が離れたらスピードを100にする)が実装されています。制御モデルを使用して、この部分をよりよいものにしていきます。ただし、今回は追従部分のみを対象とし、ライントレース部分はON/OFF制御のままとします。


開発対象
図1 開発対象

制御モデルの作成

制御系の構造

 今回考えている制御系の構造を図2に示します。コントローラは、PI制御によるフィードバック制御を適用することにします。プラント(制御対象)は、自車と先行車で構成されます。これは車間距離を制御するためです。それでは、早速コントローラからモデリングをはじめましょう。

制御系の構造
図2 制御系の構造

コントローラ

 前述のようにコントローラには、PI制御を適用します。PI制御(またはPID制御)は古典制御の代表的な制御則であり、さまざまなところで適用されています。

 今回は、制御について論じるのが目的ではないので詳細は説明しませんが、PID制御は偏差に比例する制御を行う「P制御」、偏差の積分に比例する制御を行う「I制御」、偏差の微分に比例する制御を行う「D制御」(今回は、D制御は適用しません)を含む制御になります。P制御は“現在”、I制御は“過去”、D制御は“未来”に対する制御だともいわれます。

 このPID制御を制御モデルで表すと図3のようになります。

PIDコントローラ
図3 PIDコントローラ

 また、今回作成するコントローラの内容は、表1のようになります。表1の「Pゲイン」「Iゲイン」は暫定値です。これらの情報を基に、前回紹介した「Scicoslab」を使用してモデルを作成していきましょう。なお、モデルで使用しているブロックは表2に示すカテゴリに格納されています。

コントローラ PI制御
Pゲイン 1.2
Iゲイン 0.2
Dゲイン 0(D制御は適用しないため)
設定値 30cm

制御間隔 0.05sec

表1 コントローラの内容

ブロック カテゴリ
ゲインブロック Linear
合計ブロック Linear
積分ブロック Linear
微分ブロック Linear
定数ブロック Sources
表2 ブロックの格納場所

プラント

 同様に、制御対象となる自車と先行車をモデリングしていきましょう。今回は単純化のため、モータへ付加するスピードと実際の走行距離を測定して、それらの関係からモデル化していきます。そこで、モータへ付加するスピードと、5秒間走行させたときの実際の走行量の関係を調べてみました。その結果を図4に示します。

スピードと移動量の関係
図4 スピードと移動量の関係(横軸:スピード、縦軸:移動量cm)

 図4中の数式は、最小二乗法による近似直線です。この傾きを速度ゲインとして使用します。この速度ゲインを使用して、自車と先行車のモデルを作成します。モデルは図5のようになります。自車の移動距離(速度×速度ゲイン)と先行車の移動距離(初期車間+速度×速度ゲイン)の差が車間距離になり、コントローラにフィードバックされます。作成したモデルのパラメータは表3のとおりです。

制御対象
図5 制御対象
ブロック パラメータ
走行体の速度ゲイン 4.2
図4の近似直線の傾き20.297を5secで除した値
初期車間 50cm
制御間隔 0.05sec
表3 モデルのパラメータ

全体の制御系

 コントローラとプラント部分を結合し、シミュレーションが可能なように描画ブロックなどを追加すると図6のようなモデルになります。このモデルでは、目標車間距離を30cmに設定しています。また、自車速度のオフセットとして30のスピードを与え、コントローラからの調整量との差をモータに与えるスピードとしています。

マージしたモデル
図6 マージしたモデル

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る