Tune PID controller for a nonlinear system in MATLAB.

27 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2021 年 2 月 17 日
編集済み: MathWorks Support Team 2025 年 1 月 31 日
I am implementing a PID controller in a MATLAB script in which I have use ode23. The system is nonlinear, and I want to know how to optimize my PID gains without using Simulink.
 

採用された回答

MathWorks Support Team
MathWorks Support Team 2025 年 1 月 17 日
編集済み: MathWorks Support Team 2025 年 1 月 31 日
Most of the tools that MATLAB has available for PID controller tuning are designed for linear systems. Nonlinear systems are extremely hard to predict and thus very challenging to optimize PID gains for. A common practice is to optimize the PID gains for the linearized system and use these as a starting point for the PID gains of the nonlinear system.
While a Simulink model can be easily linearized, the process is less straightforward in MATLAB. To achieve this, the PID Tuner app can be used. To access the documentation for the PID Tuner app, execute the following command in the MATLAB R2019b command window:
Please run the following command in the command window of MATLAB R2019b to access the release-specific documentation:
>> web(fullfile(docroot, 'control/ref/pidtuner-app.html'))
With this app, users can input arrays of input and output signals to the physical system without any PID controller action. The PID Tuner app will attempt to linearize the system and apply the best PID gains based on the specified performance measures (such as response time and transient behavior). The steps below outline this process when choosing the input/output data for the plant.
  1. Open the PID Tuner app from the "Apps" tab.
  2. In the "Plant" dropdown, select "Identify New Plant."
  3. In the "Get I/O Data" dropdown, select "Arbitrary I/O Data."
  4. Specify the variable name (vector) for the output signal.
  5. Specify the variable name (vector) for the input signal. (*Note: input and output signals must be the same size)
  6. Enter the start time.
  7. Enter the sample time.
  8. Click "Import" in the bottom right of the pop-up window.
  9. Set all other settings in the toolstrip of the PID tuner (i.e., Controller type, domain, performance measures, etc.).
The performance measures can be adjusted until the desired system response is achieved.
 
Please follow the below link to search for the required information regarding the current release:

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangePID Controller Tuning についてさらに検索

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by