
Hoy estamos combinando un programa autónomo de control de drones con un programa de detección de bolas para reventar la pelota con un dron autónomo.
En artículos anteriores, examinamos el lanzamiento de un dron autónomo virtual y real , así como el desarrollo de un nodo ROS que define y transfiere las coordenadas de una pelota en el espacio . Ahora vamos a rehacer el programa de control de drones para que automáticamente intente reventar la pelota.
Programa volando hacia la pelota
El programa que vuela hacia la pelota se basa en el mismo ciclo de control de velocidad que en el programa de control manual .
La diferencia es que, en lugar de las teclas de control del teclado, el vector de velocidad del dron se controla mediante información sobre la posición de la pelota obtenida del tema /baloon_detector/twist
.
setvel_forward
velocidades setvel_forward
y el vector setvel_forward
setvel
configuran para que el dron vuele directamente hacia la pelota.
Si el dron no ve la pelota durante más de 0.2 segundos, creemos que la explotamos y ponemos el dron en modo de aterrizaje.
El texto completo del programa se muestra a continuación: (crash_baloon.py) Recomendaciones de depuración
Para la depuración, recomendamos elegir un espacio abierto, unir la pelota a la base, asegurándose de que no haya objetos rojos cerca para que no haya falsos positivos del programa de orientación.
El funcionamiento del programa de guía, antes del vuelo, debe verificarse utilizando un navegador, en 192.168.11.1:8080:

Si todo está configurado correctamente, el programa debe distinguir con confianza la pelota y no causar falsos positivos.

Al comienzo del programa de orientación, se entiende que el dron debería ver la pelota después del despegue. De lo contrario, el dron pensará que la pelota ya ha estallado y cambiará al modo de aterrizaje.
En el futuro, puede modificar el programa; haga un acercamiento a la pelota, por ejemplo, usando el modo AUTO.MISIÓN. Y después de alcanzar el punto GPS deseado, cambie al modo de búsqueda visual.
La selección de coeficientes para velocidades en el ciclo principal del programa se lleva a cabo experimentalmente para un dron específico.
En las competiciones, los intentos de reventar la pelota se veían así:
Agradecería los comentarios y preguntas de aquellos que intentan repetir nuestro experimento.
Los códigos fuente de los programas se cargan en Github .