domingo, 13 de enero de 2013

Estabilización

    Llegamos al punto que creo es el más crítico: la estabilización del cuadricóptero, que consigamos que se mantenga en vuelo lo más estático posible minimizando los vaivenes y vibraciones. Pensando que sería uno de los puntos sobre los que más podría aportar por el momento he tenido un pequeño gran tropiezo.
    Empecé haciendo una modelización matemática con su correspondiente bucle de realimentación con control mediante un PID. Para las primeras pruebas particularicé con un brazo del cuadricóptero (dos motores con sus dos hélices). Mis cálculos dieron que el sistema era estable con un PD. Sin embargo las pruebas reales con un brazo con sus dos motores sobre un balancín fueron bastante desastrosas. Varias son las causas por las que creo que no obtuve ningún buen resultado.

    - Puede influir que la modelización que hice para simplificarla haya llevado a producir resultados erróneos (por ejemplo desprecio el tiempo que a un motor con su hélice le cuesta alcanzar la velocidad que se le marca, es decir, desprecio el momento de inercia el conjunto motor-hélice).

    - Los rozamientos del brazo con el pie vertical que lo sujeta como balancín afectan al sistema como también los cables que iban de los motores y la IMU (situados en el brazo) a la batería y la placa Arduino (situados externamente junto al ordenador), desvirtuando la respuesta que realmente tendría en el aire.

    - También empiezo a creer que la estabilización de un cuadricóptero mediante un control PID es un sistema un poco caótico, es decir, pequeñas variaciones en las variables de entrada (los parámetros PID) producen salidas muy dispares.

    Añadir también que el sistema es tan complejo como que cuando estamos cerca de la posición de equilibrio necesitamos unos valores PID distintos a cuando estemos lejos de esa posición. O aunque no sea estrictamente necesario para que el sistema sea estable el cambio de valores del PID hace que tengamos una estabilidad del vuelo mayor. Tenemos que calcular los mejores valores PID en ambos casos y cambiarlos en el programa según intervengan unos u otros. También tendremos que decidir en qué situación (a qué ángulo sobre el punto de equilibrio) cambiamos esos valores.

    Cuando tengamos todo esto (para lo cual veo que aún me falta lo suyo...) un paso más allá será detectar si sobre una posición estática del cuadricóptero éste se está desplazando para que el bucle de control actúe y lo devuelva automáticamente a su posición. Esto espero que algún día llegue al punto de ponerme con ello...

   El siguiente paso es hacer unas pruebas más reales para lo cual estoy montando todos los elementos del cuadricóptero en un montaje prácticamente definitivo. No tendré cables  que desvirtúen los resultados. Las primeras pruebas la idea era hacerlas estando colgado el cuadricóptero de dos hilos sobre un brazo. De este modo vuelvo a la sencillez del balancín pero con menos rozamientos ya que puedo dar a los 4 motores una pequeña fuerza de modo que los hilos sean sólo un elemento de seguridad sustentándolo ligeramente. Sin embargo me han sugerido que lo mejor es hacer las pruebas sujetando el cuadricóptero con una mano en el centro. Probablemente empezaré de esa forma y cuando lo tenga algo controlado pasaré a lo de los hilos.