Paso 13: Retroalimentación Control
1. disturbios tales como viento y no ideales tales como diferencias en los motores y hélices causa la dinámica de la vida real ser ruidoso y variable. Asignación de mando directo no toma en cuenta, y nuestra mente, ojos y manos podrían no ser lo suficientemente rápidas como para reaccionar a éstos en tiempo real, sobre todo en un pequeño cuadrotor.
2. queremos cuadrotor tener cierto grado de "autonomía". En particular, sería bueno si el cuadrotor podría uno mismo-nivel, volviendo a casi horizontal cuando mandamos cero pitch, roll y yaw. Con asignación directa, estamos ordenando la cuadrotor para girar pero no sabe volver a la horizontal cuando hemos terminado.
Esto es donde control de regeneración . A pesar de sus notaciones matemáticas complejas, el concepto de control por realimentación es simple. Imagine que lavarse las manos en un fregadero que nunca has usado antes. Se establece el mando del grifo en alguna posición intermedia. Si el agua 's demasiado frío, usted súbalo. Si el agua 's demasiado caliente, gire hacia abajo. Cuánto usted gire hacia arriba o hacia abajo depende de cuán caliente o frío se compara a tu gusto. Si el agua comienza frío, pero rápidamente se calienta, usted puede preventivamente girar la perilla abajo a prevenirla de superación y quema las manos. Todos estos conceptos son matemáticamente formalizados en el control de retroalimentación.
Control de retroalimentación en un cuadrotor:
Una estructura común para el control de retroalimentación se denomina control PID (proporcional-Integral-derivado). Lo que se desea controlar en este caso es el ángulo (pitch, roll o ángulo de desvío) de la cuadrotor. Esto es análogo a la temperatura del agua en el fregadero. Con ningún comando entrada, tratamos de controlar el ángulo para ser cero. Sin embargo, también podemos mandar a un ángulo distinto de cero para mover el cuadrotor. Los comandos que envía a los motores se basan en el error entre el ángulo que queremos y el ángulo que realmente tienen, como es medido por la IMU.
- Proporcional (P): el comando es proporcional a cuánto error angular tenemos. Ayuda a devolver la cuadrotor cero ángulo, o empujar a cualquier ángulo que te mando.
-Integral (I): El comando es proporcional al error acumulado en el tiempo. Puede ayudar a luchar contra los disturbios como el viento o el rendimiento del motor asimétrico. No utilice esto en mi quad, aunque dejé código de marcador de posición para en el proyecto de Arduino.
- Derivado (D): el comando es proporcional a la tasa de cambio del error *. Resiste el movimiento y mantiene el ángulo de la superación de la meta.
Analogía masa-resorte-amortiguador:
Los efectos del control PD (sin término integral) en un cuadrotor son similares a agregar un resorte virtual y un regulador de tiro virtual (amortiguador) a la cuadrotor, que es la masa. Ver la primera imagen para una representación gráfica de esto. La rigidez se establece por una constante, Kp, la "ganancia proporcional". La tasa de amortiguación se encuentra por otra constante, Kd, el "beneficio derivado". El ángulo θr, define el ángulo en el que los resortes se estiran uniformemente. Imaginar los resortes a una tabla movible y la tabla para ordenar cuadrotor para ir a un determinado ángulo de rotación.
-Aumento de Kp empuja el cuadrotor hacia el ángulo de referencia más rápido, pero también puede resultar en más overshoot y oscilación.
-Aumento de Kd se ralentiza la velocidad de rotación de la cuadrotor, pero puede también húmedo a oscilaciones.
Tenga en cuenta que las ganancias se pueden aumentar a un punto donde este modelo se rompe. Si Kp, Kd, o ambos son demasiado altos, el controlador iniciará amplificar ruido, conduce a inestabilidad y oscilaciones. Estas oscilaciones tienden a ser en una frecuencia más rápida que las oscilaciones que se vería desde una alta Kp: relación entreKd . Si ves oscilaciones rápidas, la mejor cosa a hacer es bajar ambos beneficios.
Las ganancias requiere práctica y experiencia y depende del exacto y preferencia de vuelo. Una muy buena guía para PID Sintonía multirotors, con vídeo ejemplo para mostrar los distintos tipos de oscilaciones, pueden encontrarse aquí. Que la analogía del resorte/apagador le ayuda a pensar intuitivamente las ganancias.
* En realidad, en la práctica a veces es más fácil utilizar el índice medido de rotación directamente, en lugar de intentar medir la tasa de cambio del error. El error sólo existe en software y computación que el derivado de la misma puede ser ruidoso. Prácticamente hablando, utilizando la tasa medida de rotación directamente en el giroscopio funciona muy bien. Para esto en la analogía masa-resorte-amortiguador, los amortiguadores están conectados a tierra (ángulo cero) en vez de a la tabla. En esta configuración, resisten toda la rotación, incluso mandó a rotación.
Pitch, Roll y Yaw controladores:
El cuadrotor tiene en realidad tres controladores de retroalimentación independientes, uno para pitch, roll y yaw. Acelerador se asigna directamente a los cuatro motores sin control de retroalimentación en este cuadrotor. Con un sensor de altitud, podría añadirse un cuarto regulador de retroalimentación.
Los controladores de la echada y del rodillo son controladores PD que coincidan exactamente con la primera imagen. En la medida en que el cuadrotor es simétrica, las ganancias de la echada y del rodillo deben ser el mismo. Las salidas de la proporcional y de los beneficios derivados se suman juntos y enviadas a los motores a través de la matriz de comando en el paso anterior. La segunda imagen muestra los controladores PD echada y el rodillo en forma de diagrama de bloque. Las variables son:
Kp - ganancia proporcional
Kd - derivado de la ganancia
Θr - ángulo de referencia o el comando
Θ - ángulo medido de la IMU
Ω - medida tasa de rotación de la IMU.
y - el comando de salida.
El control de guiñada se basa sólo en tarifa, por lo que no coincide exactamente con las imágenes. El error es la diferencia entre la tasa de desvío ordenada y la medida del desvío de la IMU. El magnetómetro en la IMU podría utilizarse para medir el ángulo de desvío absoluto para implementar un completo controlador PD, pero no he probado esto todavía.