cnpcshangbo / Drone-visual-servoing-with-a-controller-in-MATLAB

This project uses Simulink to build vision-based controller for Gazebo simulation.
GNU General Public License v3.0
9 stars 4 forks source link

Anti-windup too slow #9

Open cnpcshangbo opened 7 years ago

cnpcshangbo commented 7 years ago

investigation on anti-windup slow 3

cnpcshangbo commented 7 years ago

https://www.mathworks.com/help/simulink/examples/anti-windup-control-using-a-pid-controller.html

cnpcshangbo commented 7 years ago

In commit (4c5aa0af76415c544d7c3a1a5a6d8acc21911ef5), I added limit block and zero hold. However, issues still exist.

  1. The anti-windup back-calculation gain is too small. back-calculation gain too small
  2. The system has static error. static error To-do: Read this article to figure out how to tune the back-calculation gain. [1] K. Åström, T. Hägglund, Advanced PID Control, ISA, Research Triangle Park, NC, August 2005.
cnpcshangbo commented 7 years ago

After reading some materials, I found that clamping method always work, but back-calculation highly rely on the coefficient. So I am going to try the clamping method. https://stackoverflow.com/questions/18654853/simulink-pid-controller-difference-between-back-calculation-and-clamping-for#

Feedbacks (Nov 28, 2017):

The clamping method still has a serious actuator saturation. I am going to retest the back-calculation method using a larger anti-windup gain as Dr. Chen suggested.

cnpcshangbo commented 7 years ago

df92935ad603c6d8119a9fd2f9766e4d6c254570 Results: drone avoid marker. To-do: check if the controller needs reverse by using mouse to move marker.

cnpcshangbo commented 7 years ago

b9f3340a6d56530845cfdba5741a50879f13b73e Issues: Drone shakes. To do retest.

Feedbacks (Nov 28, 2017):

The drone shaking issue is solved by changing to a better computer.

cnpcshangbo commented 7 years ago

commit dd54131c6cbbe04c4d434734147927c22c9419b7 Tested again. Drone keeps moving after losing target. The controller output u keeps a value when feedback=0 (feedback is not available). To do:

  1. Skip this issue
  2. Continue to test the FOPD controller
  3. Figure out a method to deal with the situation when feedback is not available.