Optimal guidance and control of autonomous underwater vehicle for docking task - Oliveira, Yuri de Matos Alves de (2023)
A inserção e retirada de veı́culos autônomos submarinos (AUV) são operações de alto custo, duração e risco para os operadores. Uma possı́vel solução para a redução desses três fatores é a substituição destes operadores por veı́culos de superfı́cie não tripulados (USV). Uma etapa fundamental para retirada do AUV de forma autônoma é a atracação, que é o momento em que o AUV entra na estação de atracação (DS) móvel, que por sua vez estaria sendo rebocada pelo USV. O algoritmo de controle do AUV deve garantir que a DS está no campo de visão (FOV) dos sensores do AUV, assim como que o AUV está no FOV dos sensores da DS. Ademais, o controlador deve controlar o AUV de forma precisa para evitar a colisão indesejada entre o AUV e a DS. Um controlador muito utilizado na literatura para resolver esses problemas é o contro- lador preditivo baseado em modelo (MPC). Contudo, a maioria dos MPCs de atracação não consideram a predição do movimento da DS em seu problema de otimização. Além disso, diversos MPCs de atracação consideram que o objetivo do MPC é levar o AUV para a mesma pose da DS. Porém, ao fim da manobra de atracação, o AUV deve estar em uma pose e com uma velocidade relativa a DS, e não nas mesmas. Dessa forma, para a atracação de um AUV, essa pose e velocidade relativas devem ser consideradas no cálculo de referência do controlador. Portanto, a proposta deste trabalho é a de levar em consideração essa pose relativa de atracação e a predição de sua movimentação no MPC. Por fim, esse trabalho também se propõe a manter contribuições já realizadas por outros trabalhos. Tais contribuições são as implementações no MPC dos limites dos propulsores, garantia que o AUV está no FOV da DS e garantia que a DS está no FOV do AUV. Para a validação da proposta deste trabalho, a solução foi testada em um ambiente de simulação no Gazebo, no qual a dinâmica submarina foi computada pelo UUV Simulator [1]. A framework robot operating system (ROS) [2] e a biblioteca de otimização Casadi [3] foram usados para o desenvolvimento do controlador e para a sua conexão com o simulador. Para os casos de teste, os parâmetros e o modelo 3D do veı́culo submarino comercial BlueROV2 Heavy foram utilizados para representar a DS e o AUV na simulação. Dois casos de testes foram elaborados para demonstrar a eficiência da predição do movimento da pose de atracação no MPC, um com uma oscilação vertical da DS e outro com um movimento rotacional e horizontal. As restrições de FOV e a predição da pose de atracação foram testadas simultaneamente com sucesso para caso de teste com oscilação vertical, mas por ter sido computacionalmente muito custoso, a restrição do FOV do AUV foi retirada para o outro teste. Para ambos os casos de teste concluiu-se que o tempo de atracação é reduzido e que o erro entre a pose do AUV e sua pose de atracação é menor quando é realizada a predição do movimento da DS.