sábado, 3 de marzo de 2012

Porqué y como vuela un Cuadricoptero y Héxacoptero. Teoría.

Existen 4 parámetros para describir los movimientos de este tipo de vehículo, la altitud, los ángulos Roll y Pitch y el ángulo Yaw. En las gráficas siguientes las flechas rojas indican la potencia del empuje de cada motor.
El control de la altura es relativamente sencillo, basta con variar la potencia de los motores. Como se puede ver en el gráfico XX igualando las velocidades de los cuatro motores y variando su valor se conseguirá más o menos altura.

Para el control de los ángulos Roll y Pitch se fijan iguales las velocidades de los motores situados sobre el eje que se quiere cambiar y variando las velocidades de los motores perpendiculares de manera desigual, el cuadricóptero se girará en uno y otro sentido como podemos ver en el gráfico XX.


                Para regular el ángulo Yaw, se fijarán los motores que giren en el mismo sentido, y variando los motores que giran en sentido contraopuesto se girará hacia un lado u a otro.

           Concluimos que tenemos que tener en cuenta 4 parámetros fundamentales para controlar el aparato:

  • Altitud --> barómetro                                   [throttle]
  • Pitch --> acelerómetro/giróscopo                          [Pitch]
  • Roll  --> acelerómetro/giróscopo                            [Roll]
  • Yaw  --> acelerómetro/giróscopo/magnetómetro     [Yaw]
       Si se tiene en cuenta un sistema coordenado como el de la figura superior,en el caso del cuadricóptero, los parámetros Pitch y Roll coinciden con el giro de los ejes principales, X e Y.







               No es así en el caso del hexacóptero que sólo coincide el eje Pitch:
          Usando la trigonometría se calculan la equivalencia de los motores 3, 4, 5 y 6 con los ejes Roll y Pitch. En la figura inferior podemos ver, en este caso el motor nº5, es proporcional al sin(30) para Pitch y cos(30) para Roll.
           Los sentidos de los ejes serían:

               
              Se precisan unas ecuaciones que relacionen [throttle][Pitch][Roll][Yaw] con las velocidad de cada motor:
         Para simplificar podemos despreciar, por el momento el factor YAW, que tiene que ver con la orientación.

          //FRONT                 
 valor1 = throttle               + 1.0* pitch;
 valor5 = throttle + 0.866* roll + 0.5* pitch;
 valor4 = throttle - 0.866* roll + 0.5* pitch
          //BACK
 valor2 = throttle               - 1.0* pitch;
 valor3 = throttle + 0.866* roll - 0.5* pitch;
 valor6 = throttle - 0.866* roll - 0.5* pitch;

            Para tener en cuenta el ángulo YAW se varía la velocidad de los motores que giran hacia el mismo sentido. 
//YAW
    //CW
   valor1 += yaw;
   valor3 += yaw;
   valor6 += yaw;
    //CCW
   valor2 -= yaw;
   valor4 -= yaw;
   valor5 -= yaw;

          

La numeración de los motores ha sido arbitraria, se puede ver en la figura XXX, donde los motores 1, 3 y 6  giran en sentido horario (Clockwise), y los 2, 4 y 5 giran en sentido antihorario (Counterclockwise).