Tuning PID controller non-linear equation

조회 수: 18 (최근 30일)
Afzal Ali
Afzal Ali 2016년 11월 26일
답변: Arkadiy Turevskiy 2016년 12월 6일
I am analysing the torque required to produce a desired angle for a robot finger link. The equation I have used to model the system is:
(I + mL^2)theta(t)''= mLgcos(theta) - cL(theta(t)') + applied torque
where, I is the mass moment of inertia of the link (2.35e-4 kg.m^4), m is the mass of the link (0.079 kg), L is the distance from the center of mass to the joint (0.041 m), g is gravitational acceleration, c is the damping coefficient (0.05 Nms/rad), theta(t) is the angular displacement of the link, theta(t)' is the angular velocity, theta(t)'' is the angular acceleration.
And my transfer function (theta/applied torque) in the frequency domain is:
(s^2+1)/(k1*s^4 + k2*s^3 + k1*s^2 + k2*s - k3)
where, k1 = I + mL^2, k2 = cL, k3 = mLg
I am using a PID controller to simulate the response of the link, however, I am having difficulty in tuning the PID. I have tried the automatic tuning functionality, however, the response I get from the model is different to that shown by the tuner.
The response shows massive overshoot and underdamping, regardless of the PID parameters used. I have attached my simulink file.

답변 (1개)

Arkadiy Turevskiy
Arkadiy Turevskiy 2016년 12월 6일
I am able to get a much better response than you have in the attached model. When you launch PID Tuner, just increase the speed of the response and it will find a decent design.
Simulation results with your PID design:
Designing PID with PID Tuner:
Tuned gains:
Simulation results with tuned gains:
HTH

카테고리

Help CenterFile Exchange에서 PID Controller Tuning에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by