
Hoje, estamos combinando um programa de controle de drone autônomo com um programa de detecção de bola para explodir a bola com um drone autônomo.
Em artigos anteriores, examinamos o lançamento de um drone virtual e real autônomo, bem como o desenvolvimento de um nó ROS que define e transfere as coordenadas de uma bola no espaço . Agora, refazeremos o programa de controle de drones para que ele tente estourar a bola automaticamente.
Programa voando para a bola
O programa que voa para a bola é baseado no mesmo ciclo de controle de velocidade do programa de controle manual .
A diferença é que, em vez das teclas de controle do teclado, o vetor de velocidade do drone é controlado por informações sobre a posição da bola obtida no tópico /baloon_detector/twist
.
setvel_forward
velocidades e setvel_forward
vector setvel
definidos para que o drone voou direto para a bola.
Se o drone não vir a bola por mais de 0,2 segundos, acreditamos que a estouramos e colocamos o drone no modo de pouso.
O texto completo do programa é fornecido abaixo: (crash_baloon.py) Recomendações de depuração
Para depuração, recomendamos escolher um espaço aberto, anexar a bola à base, certificando-se de que não haja objetos vermelhos por perto, para que não haja falsos positivos no programa de orientação.
A operação do programa de orientação, antes do voo, deve ser verificada usando um navegador, em 192.168.11.1:8080:

Se tudo estiver configurado corretamente, o programa deve distinguir com confiança a bola e não causar falsos positivos.

No início do programa de orientação, entende-se que o drone deve ver a bola após a decolagem. Caso contrário, o drone pensará que a bola já estourou e passará para o modo de pouso.
No futuro, você pode modificar o programa - faça uma abordagem à bola, por exemplo, usando o modo AUTO.MISSION. E depois de atingir o ponto GPS desejado, mude para o modo de busca visual.
A seleção de coeficientes de velocidade no ciclo principal do programa é realizada experimentalmente para um drone específico.
Nas competições, as tentativas de rebentar a bola eram assim:
Eu ficaria grato pelos comentários e perguntas daqueles que tentam repetir nosso experimento.
Os códigos-fonte dos programas são carregados no Github .