Software

By terra.ufsc

O setor de eletrônica é responsável por toda a parte eletroeletrônica do AUV, desde os códigos que são desenvolvidos e adaptados até a escolha dos componentes eletrônicos como placas de circuitos e desenvolvimento de PCI (placa de circuito impressa).

Para o desenvolvimento do código para o AUVille utilizou-se o ROS (sistema de operação robótica) usando como base um repositório disponível no GitHub. A primeira modificação realizada foi para torná-lo autônomo, já que o código original é voltado para um ROV. A comunicação foi estabelecida por um código de emulação de conexão, utilizando os protocolos MAVROS e PyMAVLink, fazendo com que os comandos para execução venham do reconhecimento de imagem e não mais de um controle com conexão externa. Isso evitou a criação de um código especializado (ou A.I) para a tomada de decisões durante a missão, proporcionando uma economia de tempo para refinar o código de controle que temos.

No fluxograma a seguir, o código é apresentado de forma ilustrativa, listando todas suas divisões e módulos:

  1. Verifica se todos os componentes estão operacionais para a missão.
  2. Responsável por reconhecer as formas obtidas pela câmera.
  3. Realiza o processamento simplificado, reconhecendo e reconferindo os resultados.
  4. Código de controle principal, onde os dados são processados.
  5. Analisa os dados coletados para que o sistema tome a melhor decisão.
  6. Executa a ação decidida na etapa anterior e inicia a movimentação do veículo.
  7. Executa o comando utilizando principalmente códigos de controle básicos presentes no pacote padrão.
  8. Ao mesmo tempo, em um módulo separado, chamado de módulo T.A.R.D.I.S, é coletado todas as informações críticas dos sensores e componentes, salvando em um cartão micro SD em formato “.txt” para eventuais estudos de caso e análise gráfica.
  9. Por último, tem-se o Botão S.O.S, responsável pela interrupção da missão a qualquer momento por qualquer pessoa que pressione o botão.
Fonte: Terra, 2021