To a certain extent, this is expected: real systems rarely work as well as simulation. But I was determined to see it do better. So, I developed it as an indirect adaptive controller. That is, I developed an adaptive controller, which is able to automatically adjust gains and parameter estimates. This controller can converge to a tracking error of 0, even if the parameters it find are incorrect. The question for me was whether using these parameters, which were wrong, in the sliding mode controller could improve performance.
The image below shows the joint errors (in degrees) for the robot with the sliding-mode controller, and the adapted sliding-mode controller. In each case, the end effector's commanded trajectory was a circle. Each color is a different joint error. While the error was not eliminated completely, it was reduced significantly
The image below shows how the end effector deviated from its desired position. The desired is shown in red, and the actual is shown in blue. In both cases, most of the red is difficult to see because it is followed so precisely. However, towards the bottom left of the circle, the adapted sliding-mode controller has a significantly better performance.
From this project, I developed the following skills:
1) Critical
thinking for developing technical methods
2) Nonlinear
control
3) Cross
application of knowledge