Tuning PID controller non-linear equation
6 views (last 30 days)
Show older comments
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.
0 Comments
Answers (1)
Arkadiy Turevskiy
on 6 Dec 2016
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
0 Comments
See Also
Categories
Find more on PID Controller Tuning in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!