Control de los motores

s

Encendido

El control del drone se implementa mediante la asignación de cinco variables. El programador puede observar sus valores mediante el display de la figura.

La variable on∈{0,1} puede estar desactivada (0) o activada (1). En caso de estar desactivada, los motores del drone se pararán, haciendo que éste caiga al suelo. Si la variable está activada, el drone permanecerá suspendido en el aire y se desplazará en función del resto de variables.

1

Ejes del drone

En la figura se muestra el sistema de coordenadas relativo al drone, mostrándose el eje X, el eje Y y el eje Z.

Nótese que los rotores delanteros del drone son verdes, mientras que los rotores traseros son rojos.

>

Vuelo

La variable velX∈[-1,+1] es un número real que proporciona al drone cierta velocidad de avance (si velX>0) o retroceso (si velX<0), según la dirección marcada por el eje X. Si su valor es nulo (velX=0) el drone no se moverá en dicha dirección.

La variable velY∈[-1,+1] permite al drone desplazarse lateralmente a la izquierda (si velY>0) o a la derecha (si velY<0), según su eje Y.

La variable velZ∈[-1,+1] permite al drone ascender (si velZ>0) o descender (si velZ<0), según su eje Z.

Por último, la variable rotZ∈[-1,+1] permite al drone girar a la izquierda (si rotZ>0) o a la derecha (si rotZ<0).

La manipulación de estas variables se hace mediante una máquina de estados programada en StateFlow. Su aprendizaje es muy sencillo e intuitivo. Por ejemplo, el estado representado a la derecha provoca que el drone active sus motores y se eleve hasta alcanzar un metro de altura.