Tuning PID controller non-linear equation
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
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
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!