Clear Filters
Clear Filters

車両の速度制御モデルについての質問

11 views (last 30 days)
蓮 出越
蓮 出越 on 30 Mar 2023
Answered: Hiroshi Miyagawa on 11 Apr 2023
大学で車両制御の開発を行っている者です.
Simulinkで速度制御のシミュレーションモデルを設計したいです.
Longitudinal Controller Stanleyブロックを用いて速度制御の設計を行いました.
しかし,以下のようなエラーメッセージが表示されます.
固定ステップサイズは0.001,許容誤差は1から0.001と小さくしたのですが,改善ありません.
何か対策があれば教えていただきたいです.よろしくお願いします.
車両モデルはBicycle model - Velocity Input ブロックを使用しています.
もしくは速度をある一定の速度になるように制御できる手法があれば教えていただきたいです.

Answers (1)

Hiroshi Miyagawa
Hiroshi Miyagawa on 11 Apr 2023
Simulinkモデル全体像を拝見していないので、推測を含みます。
【ツール目線のエラーの原因】
エラーメッセージから察するに、エラーを出しているブロック(Integratorブロック)を含むブロックは車両モデル(Bicycle model - Velocity Inputブロック)の内部にあるようです。
車両モデルへの入力が物理的にあり得ない値のために、その中にある積分器(Integratorブロック)が悲鳴を上げている、と思われます。
【解決案】
車両モデルの入力を速度以外にする。
【背景】
Longitudinal Controller Stanleyブロックを用いているので、そのブロック(のRefVelocityポート)に目標の車速と、(CurrVelocityポートに)車両モデルが出力する車速を入れていると思われます。
Longitudinal Controller Stanleyブロックの出力(AccelCmd,DecelCmd)を何らかの処理を介して車両モデルに入力していると思います。その車両モデルがVelocity Inputなので速度を入力する仕様と思われます。制御対象(この場合車両)の速度を制御する場合に、その制御対象に対し速度を入力するのは、系が成立しないので、車両モデルの入力を変更する必要がありそうです。
お使いの車両モデルは、力入力(longitudinal forces)に変更できますでしょうか?
できない場合はライブラリから'Vehicle Body 3DOF Single Track'ブロックを持ってきて、力入力に設定します。

Categories

Find more on Reporting and Database Access in Help Center and File Exchange

Products


Release

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!