Software
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:
- Verifica se todos os componentes estão operacionais para a missão.
- Responsável por reconhecer as formas obtidas pela câmera.
- Realiza o processamento simplificado, reconhecendo e reconferindo os resultados.
- Código de controle principal, onde os dados são processados.
- Analisa os dados coletados para que o sistema tome a melhor decisão.
- Executa a ação decidida na etapa anterior e inicia a movimentação do veículo.
- Executa o comando utilizando principalmente códigos de controle básicos presentes no pacote padrão.
- 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.
- 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.