Como solemos hacer, vamos a intentar simplificar al máximo posible la explicación aunque es difícil. Esta explicación va enfocada sobre todo a la gente que se está iniciando o no tiene ni idea para que sirve el PID en un multirotor. Si queréis más adelante ya haremos otro artículo entrando más en detalle.

PID son las siglas para (Proporcional Integral Derivativo). Estos tres parámetros son usados para el algoritmo de cálculo del controlador PID. Un controlador PID es un mecanismo de control que calcula la desviación o error entre un valor medido y el valor que se quiere obtener para aplicar una acción correctora. 

PID

controlador PID

El PID tiene diversas aplicaciones: control de presión, flujo, fuerza, velocidad, aplicaciones químicas, etc..; pero, en el caso de los multirotores, usamos el controlador PID para tomar los datos de los sensores de la placa, compararlos contra los valores esperados para aumentar o reducir la velocidad de los motores, y así ajustar la estabilidad del aparato.

Dependiendo como esté escrito el código del algoritmo del controlador PID, afectará al vuelo de forma diferente. Por ejemplo, en Cleanflight tenemos 6 controladores de PID diferentes así que podemos ir probándolos para ver las diferencias de cada uno.

Para configurar los PID correctamente hay que hacerlo siempre en el modo de solo giróscopos (modo acro). Si no tuneamos correctamente el modo acro no tendremos un modo estable bien ajustado. Los valores PID son correlacionados. Si cambias por ejemplo el valor de D seguramente tengas que modificar también un poco el valor de P y lo mismo pasará con I.

Proporcional

En el ámbito de los multicópteros podríamos simplificar mucho la función de P y decir que es el valor encargado de la estabilidad y control.  Es el valor más importante e indica el nivel de corrección necesario a aplicar.  Mientras más grande sea P, más intentará estabilizarse la placa controladora pero si nos excedemos en el valor, el aparato se volverá demasiado sensible y provocará oscilaciones.

Si encontramos el valor adecuado de P podríamos dejar los valores de I y D = 0 y el cuadricóptero haría hover sin problemas.

Por ejemplo:

  • Si el valor de P es muy bajo será muy difícil controlar el multirotor porque será muy fácil sobre-corregir las maniobras cosa que hará imposible mantenerlo estable.
  • Si el valor de P es correcto nos será facil mantener la estabilidad y acelerará correctamente al aplicar o dejar gas.
  • Si el valor de P es demasiado alto el multirotor  oscilará rápidamente o los motores emitirán un sonido oscilante y agudo. También ganará altura fácilmente (a veces como a saltos) y será difícil mantenerla.

Integral

la I indica la velocidad con la que se repite la acción proporcional. Si dejamos I a 0, notarás que el movimiento del dron es muy robótico y brusco, por decirlo de alguna manera. Lo que hará la I a grandes rasgos es hacer más progresivo el movimiento de retorno a estabilidad dictado por P.

Por ejemplo:

  • Si el valor de es muy bajo el cuadricóptero tenderá a subir el morro al cambiar de dirección y derivará.
  • Si el valor de I es correcto mantendrá el ángulo de forma mucho más precisa.
  • Si el valor de I es demasiado alto el multirotor  oscilará lentamente y tenderá a bajar el morro cuando cambiamos de dirección. También se volverán muy perezosas las reacciones.

Derivativo

Hay algunas placas que no usan el valor D.  D normalmente es una cuestión de gustos. Lo que hará D a grandes rasgos es hacer más suave y rápido el movimiento cambiando la fuerza aplicada a corregir el error de posición.

Por ejemplo:

  • Un valor de D muy bajo hará el quad perezoso y en movimiento puede asemejarse a tener la P muy baja.
  • Un valor de D bajo suavizará las reacciones
  • Un valor de D más elevado hará que las reacciones sean más nerviosas.
  • Un valor de D demasiado elevado provocará oscilaciones rápidas.

En próximas entradas explicaremos el PID tuning aplicado a la Naze32 y CC3D.

Si te ha gustado no dudes en compartirlo.