読者です 読者をやめる 読者になる 読者になる

MyEnigma

とあるエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

モデル予測制御(Model Predictive Control:MPC)の応用例

Model Predictive Control System Design and Implementation Using MATLAB® (Advances in Industrial Control)

Model Predictive Control System Design and Implementation Using MATLAB® (Advances in Industrial Control)

目次

はじめに

先日、モデル予測制御

(Model Predictive Control:MPC)の技術的概要を紹介しましたが、

myenigma.hatenablog.com

myenigma.hatenablog.com

今回は、自分用のメモとして、

MPCを使った実際の応用例について

まとめておきたいと思います。

 

応用例を見つけ次第、追記していきます。

 

Space Xのロケット自動着陸システム

最近、自動システム系で最もぶったまげたのが、

上記のSpace Xのロケット自動着陸システムです。

ロケットの再利用を目的としたものですが、

あまりにもすごすぎて、映画かなにかかと思いました。

 

ロケットを精密に(10m以下)目標の場所に到達させるのは、

下記の5つの原因から非常に難しいと言われています。

1 空気との摩擦による、熱の影響

2 自重が重いため、多少の加減速でも強い力がかかる

3 強い風などの外乱

4 大気圏突入時の通信の断絶

5 放射能による機器への影響

 

このような状況で、

上記の動画のような神業を実現するためには

どんな制御システムを使っているのかなと思っていました。

色々調べた所、確定ではないですが、

SpaceXのエンジニアによると、

以前紹介したCVXGENを使って、

凸最適をリアルタイムで解きながら、

制御しているようです。

CVXGENに関しては、

こちらを参照して下さい。

myenigma.hatenablog.com

 

ミニチュアレーシングカーの制御

 

スイスのETHの研究では、

上記の動画のようにミニチュアのレーシングカーの制御を

MPCで実現しています。

Autonomous RC Racing

 

非線形のDynamic Bicycle Modelを元に、

事前に生成されたコースを正確に追従しています。

 

Google Carのベースとなった自動運転車両の経路追従システム

f:id:meison_amsl:20170508104040p:plain

 

Google Carの元になった、

Stanford大学の自動運転車両の2011年の最後の論文によると、

この車両の経路追従はMPCを使っているようです。

実際は、各コース点で非線形モデルを線形化した

LQRのようですが。

myenigma.hatenablog.com

 

参考資料

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

Model Predictive Control System Design and Implementation Using MATLAB® (Advances in Industrial Control)

Model Predictive Control System Design and Implementation Using MATLAB® (Advances in Industrial Control)