# モデル予測制御 設計実装ワークフロー紹介
# 目的
当サンプルモデルは、モデル予測制御(MPC)の設計と実装のワークフローを分かりやすく紹介するための資料である。(サンプルモデルの使い方については、[こちら](https://github.com/mathworks/mpc_implementation_example/blob/master/MPC_imple_PJ_%E8%AA%AC%E6%98%8E%E8%B3%87%E6%96%99.pdf)を参照)
特にマイクロコントローラに実装するときの検討事項について詳しくまとめている。
# 必要なツールボックス
本モデルでは、以下のツールボックスを利用する。ただし、インストールしていなくても、モデルを実行せず閲覧するだけであれば可能である。また、例題によっては使わないツールボックスもある。
- MATLAB®
- Simulink®
- Control System Toolbox™
- Model Predictive Control Toolbox™
- Simulink Control Design™
- Simscape™, Simscape™ Multibody™
- Symbolic Math Toolbox™
- Navigation Toolbox™
- Image Processing Toolbox™, Computer Vision Toolbox™
- Automated Driving Toolbox™
- MATLAB Coder™, Simulink Coder™, Embedded Coder®
# 目次
## 1.一般的な紹介資料
MPCについて初学者であり、以下の資料を見ていない場合は、本サンプルモデルより先に以下の資料に目を通しておくこと。
### ビデオ
- [モデル予測制御(MPC)とは? Part1 ~ 基本的な考え方](https://www.youtube.com/watch?v=i68MkFz9L38)
- [モデル予測制御(MPC)とは? Part2 ~ Model Predictive Control Toolbox例題](https://www.youtube.com/watch?v=47LzXHOXwtU)
- [応用 ~ アダプティブ・クルーズ・コントロールとセンサーフュージョン](https://www.youtube.com/watch?v=Nb3aTJ8Wgk8)
### 技術紹介記事
- [モデル予測制御](https://jp.mathworks.com/discovery/model-predictive-control.html)
### ホワイトペーパー
以下の資料はMPCの技術的な資料である。ある程度ツールの使い方を理解した後に読むこと。
- [MPC高速化のための3つの方法](https://www.mathworks.com/content/dam/mathworks/white-paper/jp-3-ways-to-speed-up-model-predictive-controllers.pdf)
## 2.線形MPC
最初に線形MPCを使った例を紹介する。プラントモデルとして、単純なSISOの不安定システムを用いる。以下のライブエディターを開いて作業を開始すること(以降、同様にライブエディターを開いて確認していく)。
[線形MPCコントローラの設計と実装](/MPC_imple_PJ/Linear/Linear_MPC_Design_md.md)
## 3.陽的MPC
線形近似されたDCモーターモデルに対して陽的MPCを設計し、実装する。線形MPCと陽的MPCの比較を行う。
[陽的MPCコントローラの設計と実装](/MPC_imple_PJ/Explicit/Explicit_MPC_Design_md.md)
## 4.適応MPC
適応MPCの設計と実装について、4輪走行車両の制御を例に紹介する。プラントモデルとしては、等価二輪モデルを用いる。
[適応MPCコントローラの設計と実装](/MPC_imple_PJ/Adaptive/Adaptive_MPC_Design_md.md)
## 5.ゲインスケジュールMPC
適応MPCで用いたプラントモデルと設計手法を転用し、ゲインスケジュールMPCを設計、実装する。
[ゲインスケジュールMPCコントローラの設計と実装](/MPC_imple_PJ/Multiple/Multiple_MPC_Design_md.md)
## 6.非線形MPC
非線形MPCの設計と実装について、シンプルな車両モデルの運転制御を例に紹介する。
[非線形MPCコントローラの設計と実装](/MPC_imple_PJ/Nonlinear/Nonlinear_MPC_design_md.md)
## 7.適応MPCに内点法ソルバー適用
適応MPCのソルバーとして、内点法を用いた場合の設計と実装について、4輪走行車両の制御を例に紹介する。プラントモデルとしては、等価二輪モデルを用いる。
[適応MPCコントローラのQPソルバーの設定について検討](/MPC_imple_PJ/Adaptive/Adaptive_MPC_QP_investigation_md.md)
## 8.マルチステージの非線形MPC
マルチステージの非線形MPCは、コスト関数を予測ホライズンの各ステップごとに設定できる。それにより、通常の非線形MPCよりも高速に計算できる。
[マルチステージ非線形MPCの設計と実装](/MPC_imple_PJ/Nonlinear/Nonlinear_MultiStage_MPC_design_md.md)
## Ex.1.適応モデル予測制御による倒立制御走行ロボットの倒立制御
適応MPCを用いて、倒立振子型の自律走行ロボットの制御を構築する。物理モデルをSimscape Multibodyで構築し、それを制御する。
[適応モデル予測制御による倒立制御走行ロボットの倒立制御](/MPC_imple_PJ/InvertedPendulumRobot/InvertedPendulumRobot_design_md.md)
## Ex.2.モデル予測制御ならびにカメラ画像によるターゲット認識を利用した衝突回避
適応MPCを用いて、自律走行車両の制御を構築する。Automated Driving Toolboxを用いた走行環境から障害物を認識し、回避しながら走行制御を行う。
[モデル予測制御ならびにカメラ画像によるターゲット認識を利用した衝突回避](/MPC_imple_PJ/obstacleAvoid/liveScriptForObstacleAvoid_md.md)
# 過去バージョン
過去のバージョンのファイル一式は、以下から得ることができる。ただし、過去のモデルには、古い時期に作成したサンプルしか含まれていないことに注意すること。
GitHubからクローンしている場合には、以下の該当バージョンに戻すことで、過去バージョンファイルを得ることができる。
R2021a: [v3.3.1](https://github.com/mathworks/mpc_implementation_example/archive/refs/tags/v3.3.1.zip)
R2020b: [v2.2](https://github.com/mathworks/mpc_implementation_example/archive/refs/tags/v2.2.zip)
R2020a: [v1.1.1](https://github.com/mathworks/mpc_implementation_example/archive/refs/tags/v1.1.1.zip)
没有合适的资源?快使用搜索试试~ 我知道了~
MPC设计与实现 matlab代码.zip
共443个文件
xml:292个
png:46个
m:34个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 105 浏览量
2023-04-20
10:42:05
上传
评论
收藏 8.98MB ZIP 举报
温馨提示
1.版本:matlab2014/2019a,内含运行结果,不会运行可私信 2.领域:智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,更多内容可点击博主头像 3.内容:标题所示,对于介绍可点击主页搜索博客 4.适合人群:本科,硕士等教研学习使用 5.博客介绍:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可si信
资源推荐
资源详情
资源评论
收起资源包目录
MPC设计与实现 matlab代码.zip (443个子文件)
create_ref_data.m 7KB
insert_zero_divide_avoidance.m 5KB
InvertedPendulumRobot_CT.m 2KB
plan_MobileRobotPaths_using_RRT.m 2KB
obstacleComputeCustomConstraint.m 2KB
obstacleVehicleModelDT.m 1KB
obstacleVehicleModelCT.m 956B
plot_vehicle_nl_result_in_SDI.m 832B
plot_vehicle_result_in_SDI.m 816B
plot_obstacleAvoid_result_in_SDI.m 749B
plot_IPR_result_in_SDI.m 743B
plot_unstable_system_result_in_SDI.m 699B
convert_theta_to_q_vec.m 698B
calc_Discrete_SS_for_Adaptive.m 658B
end_pj_script.m 551B
parkingCostGradientFcn.m 480B
parkingCostFcn.m 391B
compare_previous_run.m 341B
obstacleDetect.m 328B
set_slddVal.m 310B
avoid_zero_divide.m 310B
ReedsSheppVehicleStateJacobianFcn_MultiStage.m 283B
ReedsSheppVehicleStateJacobianFcnRRT.m 258B
check_MobileRobotPaths_If_Goal.m 254B
ReedsSheppVehicleStateFcn_MultiStage.m 248B
get_TimeStep.m 247B
ReedsSheppVehicleStateFcn.m 211B
show_simulink_model.m 205B
parkingTerminalConFcn.m 162B
create_text_file.m 158B
ReedsSheppVehicleOutputFcn.m 66B
start_pj_script.m 53B
uncheck_plots_of_SDI.m 31B
open_index.m 30B
ref_signal_vehicle.mat 486KB
office_area_gridmap.mat 57KB
obstacleAvoidance_scenario.mat 23KB
ref_elements_signal.mat 5KB
ref_signal_DCmotor.mat 2KB
InvertedPendulumRobot_refdata.mat 2KB
ref_signal_unstable.mat 2KB
InvertedPendulumRobot_design_md.md 26KB
Adaptive_MPC_Design_md.md 22KB
Nonlinear_MPC_design_md.md 14KB
Linear_MPC_Design_md.md 11KB
Explicit_MPC_Design_md.md 9KB
liveScriptForObstacleAvoid_md.md 9KB
Multiple_MPC_Design_md.md 9KB
Adaptive_MPC_QP_investigation_md.md 8KB
Nonlinear_MultiStage_MPC_design_md.md 8KB
ReadMe.md 6KB
MPC_Design_index_md.md 6KB
SECURITY.md 389B
InvertedPendulumRobot_design.mlx 636KB
Adaptive_MPC_QP_investigation.mlx 413KB
Explicit_MPC_Design.mlx 378KB
Linear_MPC_Design.mlx 297KB
Multiple_MPC_Design.mlx 288KB
Nonlinear_MPC_design.mlx 285KB
Adaptive_MPC_Design.mlx 276KB
Nonlinear_MultiStage_MPC_design.mlx 253KB
liveScriptForObstacleAvoid.mlx 98KB
MPC_Design_index.mlx 5KB
MPC_imple_PJ_説明資料.pdf 291KB
environment.PNG 1.12MB
image_0.png 1009KB
仿真咨询.png 350KB
image_2.png 224KB
image_3.png 129KB
image_4.png 116KB
image_4.png 115KB
image_3.png 115KB
更多代码关注我.png 114KB
image_5.png 108KB
image_1.png 106KB
image_3.png 105KB
image_0.png 105KB
image_2.png 104KB
image_2.png 104KB
image_1.png 104KB
image_4.png 103KB
image_2.png 103KB
image_0.png 96KB
image_0.png 96KB
image_1.png 94KB
image_0.png 93KB
figure_1.png 88KB
image_0.png 86KB
image_1.png 85KB
figure_0.png 75KB
image_1.png 72KB
image_1.png 71KB
image_2.png 65KB
figure_1.png 61KB
image_3.png 51KB
figure_0.png 51KB
image_1.png 47KB
image_2.png 46KB
image_3.png 40KB
image_3.png 40KB
共 443 条
- 1
- 2
- 3
- 4
- 5
资源评论
Matlab科研辅导帮
- 粉丝: 1w+
- 资源: 7491
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功