¿Qué frecuencia necesita mi bucle de actualización de salida-sentido-cálculo-salida de quadcopter para mantenerse estable?

20

Con un quadcopter de motor a motor de 600 mm (2 pies), ¿qué frecuencia necesita mi bucle de actualización de salida-sentido-cálculo-salida para mantenerse estable?

Estoy estimando un peso de despegue total de aproximadamente 2 libras (0.9 kg), que espero que sean principalmente motores y baterías.

David Cary
fuente
1
Sospecho que solo serán posibles respuestas muy aproximadas aquí, ya que hay muchas variables que afectarán la respuesta del sistema. Quizás vea: ¿Cómo calculo la frecuencia de bucle requerida para un servocontrolador?
Rocketmagnet

Respuestas:

17

Como sugiere Rocketmagnet, la frecuencia que "necesite" dependerá de muchas cosas. Cuanto más sensibles sean sus rotores, más sensible será su nave a los picos aleatorios en los comandos del motor. Estos picos aleatorios pueden ser causados ​​por lecturas de sensores ruidosas causadas por imperfecciones físicas, lo que significa que necesitaría reducir las ganancias de su controlador, lo que a su vez podría significar que su quadrotor puede volverse más inestable. Algunos otros factores incluyen las inercias rotacionales del quadrotor, el paso de la pala de las hélices, la ubicación del centro de masa y la distancia de motor a motor.

Programé un controlador de vuelo desde cero para mi tricopter de 2 kg que funcionaba en un ATmega1280 y lo encontré en:

  • 50 Hz: permanecerá en el aire pero es casi imposible de controlar.
  • 100 Hz: al menos evitará volcar inmediatamente hacia un lado.
  • 200 Hz: puedo soltarlo en interiores con el acelerador flotante y se mantendrá más o menos en un solo lugar.

Puede ser interesante observar que cuanto mayor sea la frecuencia de control, más efectivas serán las inercias de su rotor para ser amortiguadores físicos, lo que ayuda a anular el ruido de la IMU y mejorar la estabilidad del vuelo.

Pero si tuviera que dar un número fijo para una frecuencia mínima de actualización del controlador de vuelo para un quadrotor de ese tamaño adecuado para la navegación en interiores, según la experiencia personal ...

Yo diría 80 Hz.

yoos
fuente
1
No entiendo por qué sugirió 80Hz cuando tenía que usar 200Hz en una nave mucho más grande, si algo cuando el sistema es más pequeño necesita un tiempo de muestreo más rápido ya que las frecuencias naturales son más altas porque hay menos inercia.
goncalo luis
¿Hay algún beneficio al correr por encima de 200 Hz? Tengo un sistema que funciona a 2Khz en este momento, pero a costa de un poco de peso extra.
tuskiomi
(Wow, este es un hilo antiguo, pero) @goncaloluis Sugerí 80Hz como mínimo. Tiene toda la razón acerca de necesitar una velocidad de muestreo más rápida para embarcaciones más pequeñas. :)
yoos
1
@tuskiomi Hasta cierto punto ... Su aplicación y el ancho de banda deseado deberían controlar la frecuencia de bucle de control requerida, pero como muchos han notado, la inercia se convierte en el factor limitante eventualmente.
yoos
2

50-200Hz es bastante normal como podemos ver en los proyectos de código abierto. Debe tener en cuenta que, en la mayoría de los casos, la inercia de los motores y la comunicación con los ESC es el factor limitante.

usuario65
fuente
2
@Shahbaz: Ser "código abierto" afecta nuestro conocimiento de la frecuencia del bucle de control. Si no es de código abierto, generalmente no tenemos idea de cuál es la frecuencia del bucle de control.
David Cary
No del todo cierto. Los controladores de vuelo de código cerrado generalmente publican su frecuencia de control. La mayoría de ellos emiten control a 400Hz para hacerlos compatibles con los controladores de velocidad electrónicos estándar (ESC). Por ejemplo, el popular DJI Wookong-M: dji-innovations.com/tech-spec/wookong-m-sepc
foobarbecue
1

Para poder obtener un número difícil, necesitaría tener un modelo matemático de su oficio y analizarlo. Hay dos opciones para obtener un modelo de un sistema:

1) Se te ocurre una representación matemática del quadcopter a través de diagramas de cuerpo libre;

2) Construyes un concierto para probar el quadcopter sin ningún sistema de control y usas la teoría de identificación para encontrar un modelo;

Entonces tendrá que linealizar su modelo, un quadcopter es inherentemente no lineal. Haga un diagrama de bode del sistema, la frecuencia que necesita es aproximadamente el doble de la frecuencia más alta de su sistema.

Esta es la forma "profesional" de hacerlo. Si no desea pasar por todo esto, use un valor como el que han sugerido user65 y yoos (lea mi comentario sobre la respuesta de yoos) e itere hasta que obtenga lo que desea. Tampoco desea que el tiempo de muestreo sea demasiado alto, porque comenzará a tener problemas cuando el sistema de control responda al ruido.

goncalo luis
fuente
1

Su pregunta solo puede responderse específicamente si tenemos los parámetros del modelo de su sistema. El enfoque más basado en principios para responder a su pregunta sería representar la dinámica altamente no lineal de su sistema en un tiempo discreto; luego, utilizando esta representación, se puede determinar un tamaño de paso máximo para el que se logra la estabilidad; este será el valor máximo que su sistema puede usar con éxito. El tamaño mínimo del paso será determinado no por la dinámica del sistema, sino por el hardware que está utilizando: el exceso de ejecución es lo que me preocupa en este caso.

JSycamore
fuente