Git Product home page Git Product logo

borg-org / balancing-ball-control-with-adaptive-mpc-using-online-model-estimation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mathworks/balancing-ball-control-with-adaptive-mpc-using-online-model-estimation

0.0 0.0 0.0 2.18 MB

モデル予測制御(MPC)は、複雑なシステムにおける高性能な制御機能を実現するための、実用的な手段として注目されている。しかし、MPCの内部モデル設計の工数、また内部モデルと実システムとのずれによる不安定化が課題となっている。そこで、逐次最小二乗法を用いた実時間モデル推定を行い、そのモデルを内部モデルに適用することで、内部モデル設計の自動化と制御の安定性を向上させる手法を提案する。

License: Other

MATLAB 100.00%

balancing-ball-control-with-adaptive-mpc-using-online-model-estimation's Introduction

オンライン推定モデルを利用した適応MPCの設計

本サンプルモデルでは、オンラインで逐次推定した状態空間モデルを用いて、適応MPCを実行する制御器の設計方法について紹介する。

モデルをダウンロード、もしくはクローンした後、最初に「rls_mpc_ball_control.prj」をダブルクリックしてプロジェクトを起動すること。

必要なツールボックス

本モデルでは、以下のツールボックスを利用する。ただし、インストールしていなくても、モデルを実行せず閲覧するだけであれば可能である。また、例題によっては使わないツールボックスもある。

  • MATLAB®
  • Simulink®
  • Stateflow®
  • Control System Toolbox™
  • Simulink Control Design™
  • Model Predictive Control Toolbox™
  • System Identification Toolbox™
  • Simscape™, Simscape Multibody™

概要

モデル予測制御(MPC)は、複雑なシステムにおける高性能な制御機能を実現するための、実用的な手段として注目されている。しかし、MPCの内部モデル設計の工数、また内部モデルと実システムとのずれによる不安定化が課題となっている。

そこで、逐次最小二乗法を用いた実時間モデル推定を行い、そのモデルを内部モデルに適用することで、内部モデル設計の自動化と制御の安定性を向上させる手法を提案する。

最初にPID制御器を用いたバランスボールの位置制御の例を示す。その後、周波数応答推定器を用いてプラントモデルの伝達関数を推定し、そのモデルを内部モデルとして用いたMPCの設計を行う。そして、逐次最小二乗法を用いたオンラインの内部モデル推定を行う手法も紹介する。合わせて、適応MPCを用いた軌道追従制御の例にて、MPCの制御性能を評価する。

また、むだ時間を含むシステムに対して適応MPCを設計する方法も紹介する。

目次

PID制御器によるボールの位置制御

周波数応答推定器によるプラントモデルの推定

オンラインモデル推定適応MPCを設計

適応MPCによる軌道追従制御

むだ時間を含むシステムに対して適応MPCを設計

参考資料

通常のMPCの設計と実装に関しては、以下の資料が参考になる。

モデル予測制御 設計実装ワークフロー紹介

過去バージョン

過去のバージョンのファイル一式は、以下から得ることができる。ただし、過去のモデルには、古い時期に作成したサンプルしか含まれていないことに注意すること。

GitHubからクローンしている場合には、以下の該当バージョンに戻すことで、過去バージョンファイルを得ることができる。

R2023a: v3.0

R2022b: v2.0.1

R2022a: v1.0.2

Copyright 2022 The MathWorks, Inc.

balancing-ball-control-with-adaptive-mpc-using-online-model-estimation's People

Contributors

toshinobu-shintai avatar jpkmw avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.