Dejar caer PWM en Ardrone Parrot 2.0

8

Tengo algunos problemas con ARDrone Parrot 2.0 y espero que alguien más se encuentre con lo mismo.

Mientras se desplaza, el dron está perdiendo altitud (aparentemente) al azar y luego recuperándose. Lo hace sin recibir ninguna entrada de velocidad y debe mantener la altitud.

Estamos utilizando los controladores de ardrone_autonomy (rama dev_unstable) en github . Podemos ver que las salidas PWM se envían al motor y que están cayendo del comando de desplazamiento hacen un pequeño valor antes de volver exponencialmente al valor de desplazamiento cuando se produce esta caída.

El problema podría ser una comunicación entre la IMU y el controlador integrado o en nuestra implementación de control de software.

¿Alguien ha visto un problema similar o sugerencias para probar / solucionar lo que está sucediendo?

Daman
fuente
¿Está utilizando ARDrone en interiores o exteriores? Inferido de la pregunta anterior, ¿sobre qué terreno está tratando de pasar el rato? Algunos terrenos pueden causar problemas con el vuelo estacionario. ¿Has probado en varios entornos? ¿Qué estrategia de control está utilizando en su implementación de control de software? PID? ¿Mantiene la altura con el sensor de ultrasonido incorporado?
Tom Bamber

Respuestas:

1

No he usado el ARDrone pero tengo experiencia con la retención de altura en otro piloto automático.

Sin la información adicional, una búsqueda rápida en Google encontró un posible problema de firmware con ARDrone en este hilo .

Si está utilizando el sensor de ultrasonido a bordo, como mencioné en mi publicación sobre ¿Cómo puedo detectar el borde de una mesa? . Los sensores de ultrasonido pueden saltar a cero esporádicamente durante parte de un segundo y esto podría hacer que el ARDrone cambie de altitud y luego vuelva al valor real.

Tom Bamber
fuente
Tom, actualmente estamos usando el dron en interiores. Estamos en nuestro laboratorio, que es un piso de alfombra y utilizamos baldosas de colores de alto contraste para que el sistema de visión se adhiera. No hemos podido realizar muchas pruebas en otros entornos debido a nuestra configuración actual de laboratorio en la universidad.
Daman
En cuanto a una estrategia de control, estamos usando un controlador xbox para volar usando un nodo ROS para leer las entradas. Los archivos ROS que estamos obteniendo son del github ARdrone_autonomy. El comando se está enviando al control a bordo del dron que parece ser un PID. Es mejor que reduzcamos nuestro problema desde mi primera publicación. El ROS tiene un tema de los datos de navegación internos que proporciona información al motor. Muestra los valores PWM que se envían al motor, así como un término integral interno para el controlador PID de altitud. Estamos viendo que se restablece de 60 a 0 cuando cae el quad
Daman
¿Para confirmar que las señales PWM que se envían al motor se restablecen de 60 a cero cuando cae el quad? Si este es el caso, entonces sería necesario rastrear y determinar de dónde viene el error matemático. Creo que el problema proviene de la forma en que se utilizan los datos de su sensor en la retención de altura, no puede ajustar su PID con ese tipo de error.
Tom Bamber