Non linear plant equation and design the PID controller
조회 수: 12 (최근 30일)
이전 댓글 표시
I have a set of equation which is non linear equation and I want to design a non a PID controller for the the equation. The equation and the condition are in thre attachments. Please give me any hints that might help me with equation. Where u is the PID controller equation.

댓글 수: 0
답변 (1개)
Sam Chak
2024년 1월 16일
The motion dynamics of your Z-axis robot can be expressed through the following equation:
Here, the combined effects of friction and gravity are represented as a lumped disturbance. While the friction force exhibits nonlinear behavior, resembling a mathematically-saturated function (not easily visualized in If-Else or Piecewise forms), the motion system without disturbance can be characterized as linear:
Upon taking the Laplace transform, the transfer function of the plant is derived as:
This clearly represents a Double Integrator system. With this understanding, a classical PID controller can be designed with a specific focus on Disturbance Rejection.
From the simulation result, the amplitude (max) of the output response (red curve) resulting from a unit step disturbance is marginally below 0.0025 m. With a friction force of 50 Nm, this disturbance will induce a maximum change in height of less than 0.125 m, dissipating within the subsequent 5 seconds.
%% Plant
t = 0:0.01:8;
s = tf('s');
m = 20; % robot mass
P = 1/(m*s^2) % Plant transfer function
%% Classical PID Controller with a focus on Disturbance Rejection
wc = 6; % <-- Tune this parameter to make the response faster or slower
opt = pidtuneOptions('DesignFocus', 'Disturbance-Rejection');
[C, info] = pidtune(P, 'PID', wc, opt)
%% Closed-loop TF from Reference R(s) to Output Y(s)
Gcl = feedback(C*P, 1)
yc = step(Gcl, t);
%% Closed-loop TF from Disturbance D(s) to Output Y(s)
Gdl = feedback(P, C)
yd = step(Gdl, t);
%% Step responses
yyaxis left
plot(t, yc),
ylabel('Height, z (m)')
yyaxis right
plot(t, yd), grid on
xlabel('Time, t (s)')
legend('Response to a Step Reference', 'Response to a Step Disturbance', 'location', 'East')
title('Step Responses')
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 PID Controller Tuning에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
