Now, a deep dive (pun intended) into how the controller was updated during the last year. Previously, the control system of the ROV consisted of six different PID controllers, one for each degree of freedom (DOF). It resulted in poor performance when controlling multiple DOFs simultaneously. The reference generated only excited one DOF at a time, which made the pathfinding inefficient. For this reason, a Linear Quadratic Regulator (LQR) was implemented, and the system model was linearized.
The implemented LQR is a multiple-input-multiple-output (MIMO) controller which minimizes the criteria
which should be interpreted as minimizing the difference from requested states as well as the amplitude of the input signal. The model setup for the LQR is
The optimal linear state feedback controller, assuming known states x, is given by
where L is given by
The controller was implemented in Matlab/Simulink, as can be seen below. The central part is the matrix multiplication of the gain matrix L and the control error. The other crucial element is the feed-forward block that derives the input signals for maintaining the current attitude and depth of the ROV. The difference in result between the LQR and the PID control system can be seen in the picture below, although it is hard to visualize a 3D-path on paper.
Interested to know more about the project, contact us. You can also find more information and videos here: http://www.isy.liu.se/edu/projekt/tsrt10/2019/combine/