Un quadcopter contiene (entre otras cosas) dos algoritmos separados e independientes: un algoritmo de estimación de actitud y un algoritmo de control.
El algoritmo de estimación de actitud calcula información sobre la orientación del quadcopter: los ángulos de balanceo, cabeceo y guiñada.
El algoritmo de control es responsable de conducir los motores para que la orientación del quadcopter coincida con lo que espera el piloto (o el software del piloto automático). Este algoritmo es el que leería los ángulos estimados del cuadricóptero (del algoritmo de estimación de actitud) y cambiaría la velocidad de los motores para intentar igualar los ángulos deseados. Los PID son un algoritmo de control común y adecuado para cuadricópteros.
El bloqueo de cardán es un fenómeno que puede ocurrir en el algoritmo de estimación de actitud. No tiene nada que ver con el algoritmo de control. Como tal, no necesita ESC, motores o hélices para probar el bloqueo del cardán: puede modificar su código para mostrar sus ángulos de balanceo, inclinación y guiñada, y probar que los valores correctos se calculan a medida que mueve manualmente su quadcopter. Es posible que pueda hacer esto con el quadcopter conectado a su computadora, a través de Bluetooth, o utilizando otros métodos dependiendo de su plataforma.
Si los ángulos se calculan correctamente, no necesita preocuparse por los cuaterniones. Si no se calculan correctamente, los cuaterniones podríanayudarte. El algoritmo de estimación de actitud generará 3 ángulos para que el algoritmo de control los use, sin embargo, podría usar una representación interna diferente, como cuaterniones o matrices 3x3. En ese caso, todavía convertiría la información de actitud en ángulos para proporcionar datos utilizables al algoritmo de control. En términos generales, los cuaterniones no son intuitivos pero son computacionalmente eficientes. Esto los hace muy adecuados para plataformas lentas como Arduino. Las matrices o ángulos pueden ser una opción más fácil para un hardware más rápido. Si necesita que elabore una u otra solución, avíseme, pero sería bastante prematuro dar detalles en esta etapa, ya que no estoy convencido de que necesite implementar cuaterniones.
Finalmente, si los ángulos se calculan correctamente, la forma de hacer su bucle quadcopter es controlar la velocidad angular en lugar del ángulo. Si sus palos representan el ángulo del cuadricóptero, no hay forma de hacer un bucle completo: intente visualizar la posición de los palos como los bucles del cuadricóptero y debe entender por qué. Sin embargo, si los palos controlan la velocidad angular, entonces puede controlar la velocidad a la que gira.
¡Buena suerte con tu proyecto!
Nota: En aras de la simplicidad, no he mencionado la opción teórica de manipular los datos como matrices o cuaterniones tanto en el algoritmo de estimación de actitud como en el algoritmo de control. Nunca he visto un quadcopter implementando tales algoritmos.