You are on page 1of 11

INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY

CAMPUS MONTERREY

SISTEMA DE CONTROL – AR DRONE PARROT + KINECT

Dr. Eduardo G. Mendívil


Dr. Luis E. Garza

Reporte Técnico

Equipo:
Sergio Chávez A00810117 Jesús Delgadillo A00999575
Héctor Jiménez A00949740 José Cortés A01139006
Edgar Ledezma A00811157 Miguel Valadez A01034467

ABRIL 2015
AR DRONE PARROT + KINECT
S. Chávez, H. Jiménez, E. Ledezma,
J. Delgadillo, J. Cortés, M. Valadez

Resumen ― El siguiente proyecto consiste en el por controlar el drone, ya que este lo hace solo. El segundo
desarrollo de un sistema de control para el AR Drone enfoque tiene que ver con que el usuario emita las señales
Parrot a través de lectura de gestos por el Kinect. correctas para poder enviar los comandos al drone para que
Además de una manipulación de señales análogas para ejecute alguna acción. De esta forma, el usuario decide por
controlar el Drone a través de Labview. el VANT qué hacer. Sin embargo, ya que alguien tiene
control sobre el drone, éste debe estar capacitado para
Abstract ― The following project is about the poder volarlo. Por esta razón se requieren de sistemas no
development of a control system for the AR Drone complejos que puedan ser fáciles y rápidos de aprender.
Parrot through gestures read by the Kinect. Likewise,
analog signals manipulation through Labview to Hay muchas tecnologías que pueden aplicarse para
control the Drone. controlar el drone. Puede ser desde un control de RF, tal y
como se vende. Se podría utilizar tanto Bluetooth como X-
Keywords: Drone, control system, gesture control, Kinect, Bee para esta aplicación. Una interfaz amigable en una
labview. computadora podría manipular las señales que se enviaran
al drone, la cual puede utilizar un Kinect para interpretar
I. INTRODUCCIÓN gestos de una persona, un EEG para interpretar las ondas
cerebrales, entre otros.
Los vehículos aéreos no tripulados, VANT por sus siglas,
mejor conocido como drones son aeronaves que pueden El objetivo de esta investigación es el uso de un
ejecutar un vuelo sin tripulación. Hoy en día esta Kinect para interpretar gestos de un usuario para enviar
tecnología está siendo primordialmente usada por los datos de control al drone. Por otra parte, se estarán
militares. No obstante, la reducción de precio en dicha manipulando manualmente las señales análogas para
tecnología ha abierto nuevos mercados a tal punto que se simular un control de RF al VANT.
está volviendo muy comercial.
Después de varios experimentos, se concluyó que los
gestos seleccionados para el sistema de control del drone
resulta muy fácil de aprender y tiene una respuesta de
reacción rápida por lo que el tiempo de interpretación de
gesto y transmisión de dato de control es mínimo.

I.I. OBJETIVO
Fig 1.1 – VANT comúnes. El objetivo de esta investigación es el uso de un
Drone militar (izq.) y Drone Comercial (der.) Kinect para interpretar gestos de un usuario para enviar
datos de control al drone. Por otra parte, se estarán
Hoy en día, la tecnología explora nuevos horizontes manipulando manualmente las señales análogas para
en donde el enfoque pueden ser dos - control del VANT de simular un control de RF al VANT.
manera autónomo y control del VANT de manera remota.
El primer enfoque tiene la intención de darle control a la Para poder alcanzar el objetivo general se han
computadora del vehículo para que pueda ejecutar una definido los siguientes objetivos intermedios:
tarea de acuerdo a la interpretación de sus sensores. De o Selección de gestos a utilizar que sean amigables.
esta manera la persona o usuario no tiene que preocuparse

pág. 2
AR DRONE PARROT + KINECT
S. Chávez, H. Jiménez, E. Ledezma,
J. Delgadillo, J. Cortés, M. Valadez

o Medición e interpretación de gestos para


determinar señales de control. Debido a estos cuatros movimientos que tiene el VANT, se
o Programación de algoritmo para interpretación de puede resumir en dos formas. Dos ejes rotacionales, “Roll”
gestos y velocidades para control del AR Drone. y “Pitch”, son ejes que permiten al drone moverse en el
o Entender funcionamiento del radiocontrol plano XY. El otro eje rotacional, “Yaw”, y el de
Specktrum DX6i y del Drone DJI. translación se encuentran en el Eje Z, lo cual permite dos
o Implementación de electrónica y algoritmos para movimientos sobre sí mismo. Tomando en cuenta estas
manipular señal análoga del control. distinciones se pueden definir dos áreas de trabajo, las
o Pruebas y mejoramiento de desempeño del sistema cuales serán las bases para los gestos que el Kinect estará
de control. leyendo.

II. DESARROLLO TEÓRICO

II.I Selección de Gestos


Los VANT tienen tres ejes rotacionales y un eje de
translación para poder lograr todos los movimientos
deseados. Es muy importante poder hacer distinción entre
estos ejes para que se pueda entender el funcionamiento
del Drone.

En el Eje Z se tienen dos movimientos el de translación Fig 2.1.2 – Áreas de trabajo para gestos.
que permite al Drone ir arriba o abajo y el de rotación
llamado “Yaw”, el cual permite que el VANT gire a su Las dos áreas de trabajo mostradas en la figura anterior
alrededor o es decir en sentido o en contra del reloj. En el permiten realizar los gestos adecuados para controlar cada
Eje Y se tiene el de rotación denominado “Pitch”, el cual eje. En la primera área de trabajo, es decir la mano derecha
sirve para moverse en la profundidad o en simples del usuario (cuadro rojo), servirá para realizar
términos ir hacia adelante o hacia atrás. Por último, se movimientos en el plano XY, “Roll” y “Pitch”. La segunda
tiene en el Eje X el de rotación llamado “Roll”, por el cual área de trabajo, es decir la mano izquierda del usuario
se logra hacer movimiento hacia los lados, es decir de (cuadro naranja), servirá para realizar movimientos en el
izquierda a derecha. eje Z, “Yaw” y de translación.

Ambas áreas de trabajo permiten mover la mano de


izquierda a derecha y arriba abajo. Esto permite al usuario
controlar todos los ejes de una manera simple y amigable.
El movimiento de izquierda a derecha en la mano derecha
permite el movimiento de “Roll” o que el drone se mueva
en esa dicha dirección, mientras que en la mano izquierda
este movimiento hace el “Yaw”, es decir el giro a su
alrededor. El movimiento de arriba abajo en la mano
derecha significaría que el VANT haga el “Pitch” o
Fig 2.1.1 – Ejes de rotación en el Drone.
pág. 3
AR DRONE PARROT + KINECT
S. Chávez, H. Jiménez, E. Ledezma,
J. Delgadillo, J. Cortés, M. Valadez

moverse hacia adelante y hacia atrás, mientras que en la mandar comandos. Por esta razón, si el usuario quiere
mano izquierda solo cambiaría su altura respectivamente. aterrizarlo solo es necesario bajar ambas manos fuera del
área del trabajo. No obstante, solamente a determinada
altura este comando puede interpretarse. El VANT tiene
integrado un sensor ultrasónico que está leyendo la altura
del mismo. Es por esta razón, que cuando se detecta que ya
no hay gestos por procesar y se está a cierta altura, el drone
aterriza.

Fig 2.1.3 – Movimientos del usuario en la mano izquierda


Fig 2.1.4 – Gesto para despegue y paro de emergencia
y lectura del gesto por parte del Kinect

Sin embargo, hay tres instancias más que se deben definir II.II Normalización de Lecturas
para poder controlar el drone del todo y estos son el Basado en experiencias de proyectos de detección gestual
despegue, el aterrizaje y el paro de emergencia. El primero previos, se tenía el problema de al hacer calibraciones para
y el último resultan muy importantes debido a que son la programación de las coordenadas que deberían
comandos de alta prioridad, ya que sin despegue el reconocerse para cada gesto, es que se realizaban en base a
movimiento del drone no es posible y el paro de un sistema de posicionamiento absoluto, que funcionaba
emergencia es necesario para evitar cualquier accidente. bien para una persona adulta de tamaño promedio, sin
embargo si un niño pequeño o una persona muy alta por
Es por esta razón, que se debe utilizar ambas áreas de ejemplo intentaban usar el sistema, se dificultaba la
trabajo para esas dos instancias. La del despegue se logra detección de los gestos, debido a este tipo de sistema
diferenciar de los demás movimientos al extender por absoluto, pues en un niño pequeño, las referencias
completos ambos brazos hacia enfrente, esto significa que utilizadas resultan ser más pequeñas, o más grandes en el
el usuario no quiere moverse para ningún lado, caso contrario. Para evitar esto, antes de realizar cualquier
arriba/abajo/izquierda/derecha. El paro de emergencia se cálculo, las coordenadas se normalizan respecto a la
interpreta al colocar ambas manos sobre la cabeza, la cual distancia existente entre la cabeza y la cadera del usuario,
hace la distinción debido a la unión de las extremidades. pues se mantiene una relación directa entre la estatura de la
persona y el resto de las coordenadas, independientemente
Para el aterrizaje, no es necesario utilizar un gesto debido a de cual sea la medida absoluta de la persona.
la simpleza de esta instancia. Esto quiere decir, que el
cuándo el usuario quiere aterrizar, éste ya no quiere
pág. 4
AR DRONE PARROT + KINECT
S. Chávez, H. Jiménez, E. Ledezma,
J. Delgadillo, J. Cortés, M. Valadez

Estos límites se utilizaran como referencia para calcular las


velocidades de control enviadas al drone, manteniendo el
límite inferior de 0.3 correspondiente a una velocidad cero,
y 0.8 correspondiente a una velocidad de uno. Para el caso
en que la posición de la mano respecto al hombro fuera
menor a 0.3, no se envía ningún comando en esta zona.

Se establece la siguiente ecuación de linealización que se


utilizará para el algoritmo en Labview.

𝑦 = 2𝑥 − 0.6
Fig 2.2.1 – Lectura de datos de posición para
cálculos de normalización.

𝑋/𝑌/𝑍 𝐻𝑎𝑛𝑑 − 𝑆ℎ𝑜𝑢𝑙𝑑𝑒𝑟


𝑅𝑋/𝑌/𝑍 =
𝐴𝑏𝑠 𝐻𝑒𝑎𝑑 − 𝐻𝑖𝑝

0.0501288
𝑅𝑥 = = 0.08322
0.602313
Fig 2.2.3 – Linealización para caso de
0.566557 movimiento positivo
𝑅𝑦 = = 0.940619
0.602313

0.1653
𝑅𝑧 = = 0.27444 𝑦 = 2𝑥 + 0.6
0.602313

Después de varias mediciones correspondientes a cada


gesto del área de trabajo de detección de gestos, se
establece una región normalizada entre 0.3 y 0.8, para la
distancia entre la mano y el hombro.

Fig 2.2.4 – Linealización para caso de


movimiento negativo

II.III VANT RC + Kinect


Buscando adaptar el programa a otros tipos de VANT que
no sean el Parrot AR.DRONE y viendo la accesibilidad de
los VANT de radio control se puede replicar el sistema de
Fig 2.2.2 – Región Normalizada de trabajo control en uno de este tipo. El modelo específico
seleccionado para este enfoque fue el DJI F450 el cual
tiene una tarjeta de control de vuelo DJI NAZA LITE. Se

pág. 5
AR DRONE PARROT + KINECT
S. Chávez, H. Jiménez, E. Ledezma,
J. Delgadillo, J. Cortés, M. Valadez

utiliza un radiocontrol SPEKTRUM DX6i el cual es un control en dado caso de que la interpretación del gesto
control de 6 canales de radio control. no sea la correcta.

Además se tienen las velocidades que se mandan a los


distintos ejes de movimiento del Drone, es decir del
Roll, Pitch, Yaw y Vertical Speed. Hay que recalcar
que para que el VANT ejecute uno de estos
movimientos, se le manda un valor del -1 a 1 que se
interpreta como la velocidad en dicho movimiento. Si
Fig 2.3.1 – F450 DJI y SPECKTRUM DX6i la velocidad es distinta de 0, quiere decir que el
usuario está mandando un comando de movimiento a
Se tienen cuatro comandos principales que controlan el través de un gesto.
VANT:
 RUDDER - El cuál es el timón y controla el Finalmente, en dicha HMI se ubican información que
“Yaw” del VANT. envía el Drone que puede ser útil para otras
 ROLL - Como su nombre lo dice controla el “Roll” aplicaciones. Dentro de ese paquete de datos que
el cual es el giro alrededor del eje X.
envía el VANT se encuentra la altura, grados de
 Altitude - el cual controla que tanto va a crecer en
rotación, velocidades, entre otras. El único dato que se
altitud el VANT.
utiliza para el alcance de este proyecto de dicho
 Throttle - Acelerador del VANT.
paquete es la altura, la cual es la lectura del sensor
Para un correcto funcionamiento se debe de tener una
ultrasónico, el cual se utiliza para interpretar si el
relación entre cada una de las variables adecuadamente. usuario quiere aterrizar.

III. IMPLEMENTACIÓN

III.I Estructura de Programación


Para poder hacer el control del VANT por gestos
usando el Kinect, se requiere de una HMI que permita
al usuario darle algo de retroalimentación. En la
figura que se presenta a continuación se puede
observar una pantalla blanca y una pantalla negra, las
cuales son la cámara del Kinect y la interpretación de
las extremidades del usuario respectivamente.

También se muestran unos botones de “Take-off”,


“Hover” y “Emergency Landing”, los cuales sirven
como forma de control manual para mandar el dato de Fig 3.1.1 – HMI Diseñada para el Sistema de Control

pág. 6
AR DRONE PARROT + KINECT
S. Chávez, H. Jiménez, E. Ledezma,
J. Delgadillo, J. Cortés, M. Valadez

La estructura de programación para el sistema de El primer estado consiste en permitir que el Kinect
control consta de cuatro ciclos independientes. El haga una detección adecuada del usuario. En
primer ciclo es el que establece la comunicación con ocasiones el usuario se coloca o muy cerca del sensor
el Kinect y hace la interpretación de los gestos. El o en un ángulo difícil de leer, lo cual hace lecturas
segundo ciclo es el que establece la comunicación con erróneas de las extremidades. Es necesario permitir
el Drone para enviarle el paquete de datos deseado. El que se detecte una distancia adecuada entre las
tercer ciclo es el que se encarga de recibir datos del extremidades. Esto se logra al asegurar que la
Drone (altura, grados). El cuatro ciclo es el que se distancia entre la cabeza y los pies sea al menos el
encarga de recibir la transmisión del video del Drone. doble de la distancia entre la cabeza y la cintura. Si
esta distancia se logra, el Kinect está leyendo
correctamente al usuario y se prosigue al siguiente
estado de esperar lanzamiento o despegue.
El estado del despegue es un estado de control para
evitar situaciones en donde el usuario active un
movimiento de “Roll” o “Pitch” sin haber despegado.
Es entonces donde este gesto debe ignorarse. Es por
esta razón que solamente se puede interpretar el gesto
de despegue. Cuando el usuario lo realice, se hace un
Fig 3.1.2 – Ciclo 3 y 4 que se encargan de recibir cambio al estado de cálculo de velocidad.
información del Drone (Datos y Videos)
El estado de cálculo de velocidad consta en estar
interpretando los distintos gestos que se mencionaron
en la sección de desarrollo teórico. Dependiendo el
gesto que se esté realizando es el cálculo de la
velocidad que se guardará para enviar al drone en el
segundo ciclo.

Es importante aclarar que ambas áreas de trabajo


tienen límites, de acuerdo a la posición del gesto es la
velocidad que se interpreta que se debe enviar.
Fig 3.1.3 – Ciclo 2 para establecer comunicación Detallando esto, se refiere a que si el usuario levanta
y envío datos al Drone su mano izquierda una pequeña distancia con respecto
a su hombro, se interpreta que el usuario quiere
La interpretación de los gestos se realiza en el primer trasladarse en el eje Z (altura) a una pequeña
ciclo. Dentro de este ciclo se tiene una máquina de velocidad. Entre más cerca o lejos del hombro, la
estados programada que sirve para hacer la diferencia velocidad deseada es más pequeña o grande
entre los gestos. respectivamente.
pág. 7
AR DRONE PARROT + KINECT
S. Chávez, H. Jiménez, E. Ledezma,
J. Delgadillo, J. Cortés, M. Valadez

De igual manera, se debe recordar que todas las


posiciones de la mano con respecto al hombro, es una
lectura normalizada para evitar conflictos entre
usuarios. De este modo, se asegura que el cálculo de
la velocidad es el correcto.
Fig 3.1.6 – Cálculo de la velocidad de acuerdo a la
lectura normalizada del gesto (positivo)
[Ver apartado II.II - Normalización]

Fig 3.1.4 – Ciclo 1 para establecer comunicación con el


Kinect y ejecutar la máquina de Estados Fig 3.1.7 – Cálculo de la velocidad de acuerdo a la
lectura normalizada del gesto (negativo)
[Ver apartado II.II - Normalización]

III.II Adaptación al Drone DJI


Para la parte de implantación del F450 se requiere de
una manera de controlar las señales por medio del
control Specktrum. Las palancas funcionan como
señales analógicas con valores que vari de 41 mV a
3.3 V.

Fig 3.1.5 – Interpretación del gesto dentro del Ciclo 1

Fig 3.2.1 – Análisis de las señales

pág. 8
AR DRONE PARROT + KINECT
S. Chávez, H. Jiménez, E. Ledezma,
J. Delgadillo, J. Cortés, M. Valadez

Para Simular las señales se requiere abrir el control las señales analógicas, por lo que con un filtro paso
para poder conectar las señales directamente de una bajo se realiza una conversión de señal de PWM-
tarjeta ARDUINO UNO con la plataforma Analógico.
LABVIEW y la librería LYNX, la cual permite
conectar el Arduino con el programa de Labview.

Fig 3.2.2 – Programación en Labview

En la siguiente etapa se fue comprobando si recibe Fig 3.2.4 – Filtro paso bajo que se debe integrar
señales de manera adecuada el control, por lo que con En las cuatro señales de control
el configurador del controlador verificamos los
valores numéricos para su funcionamiento. IV. CONSIDERACIONES

IV.I. Futuras Implementaciones


E Implicaciones Éticas
Debido a la estructuración de estos algoritmos, dicha
investigación puede crecer a distintas áreas. Como se
puede notar, el control remoto del VANT fue a través
de la manipulación de gestos que se leen a través del
Kinect. No resulta nada complejo modificar esta
estructura para que la señal de control pueda ser
cualquier otra. Un ejemplo interesante sería poder
utilizar una diadema para lectura de ondas cerebrales
Fig 3.2.3 – HMI e Interfaz de configuración del DJI
o EEG que pudieran ser interpretadas y adaptadas de
manera rápida a los algoritmos presentados
Realizando el análisis se puede ver que se necesita un
anteriormente.
acondicionamiento de señal para que el control acepte
pág. 9
AR DRONE PARROT + KINECT
S. Chávez, H. Jiménez, E. Ledezma,
J. Delgadillo, J. Cortés, M. Valadez

caracterización geofísica de los estratos productores


De igual manera se puede ver como la manipulación de hidrocarburos, así como el uso de sondas cargadas
de la señal análoga sirve para eliminar el control de con yodo-131 para la medición del flujo vertical en
RF y poder utilizar no solamente una forma remota de los pozos petroleros.
control distinta, sino que se puede expandir a los
distintos drones que se tienen en el mercado y no estar Ya sentadas las bases para una posible aplicación que
limitado a tener que utilizar AR-Drone o DJI. vela por el bienestar de las personas, se espera que
futuras generaciones vean en este proyecto, un
Tras el abaratamiento de la tecnología para el sustento para posibles aplicaciones que fructifiquen y
desarrollo de VANT, cada día van surgiendo nuevas ayuden a incrementar la calidad de vida de las
aplicaciones que en un principio no se habían personas.
contemplado y que podrían atentar en contra de la
integridad de los humanos. Al igual que ha pasado V. CONCLUSIONES
con otro tipo de nuevas tecnologías, las regulaciones Los vehículos áreas no tripulados es una tecnología
para el uso de este tipo de avances son lentos, sin que hoy en día está en continua investigación para
embargo, ya se está trabajando para poder poder sacarle el mayor alcance. Los VANTs tienen
implementar un código de ética y leyes que regulen su dos formas de ser controlados, de manera autónoma y
funcionamiento y aplicaciones. de manera remota. A través del Kinect y de
manipulación de señales análogas se puede lograr un
A pesar de conocer las diferentes aplicaciones sistema de control remoto.
negativas que se le pudieran dar a este tipo de
vehículos aéreos no tripulados, se ha optado por el Para poder hacer lecturas de las extremidades del
desarrollo en pro del bienestar humano, siendo una de cuerpo y poder interpretarlas de manera correcta es
las bases y objetivo para el desarrollo de este necesario asegurar que el Kinect reciba bien la señal
proyecto el poder implementar un prototipo con del usuario y de la manipulación correcta para aplicar
VANT que sirva como base de funcionamiento para una normalización de la señal. La estructuración del
futuras aplicaciones comerciales que velen por la algoritmo de control en cuatro ciclos distintos permite
salud de las personas. la replicación de este proyecto utilizando otros
métodos de control envés de utilizar gestos del
Una de las aplicaciones que se han considerado como Kinect. Además que la manipulación de señales
posibles áreas comerciales ha sido el poder análogas permite expandir el proyecto en drones más
implementar un sistema de control de movimiento comerciales.
para VANT como éste, para la inspección de áreas
latentes de riesgo para obreros por radiaciones Es necesario reflexionar sobre las aplicaciones y las
ionizantes en plataformas petroleras, ya que se ha implicaciones de dicha tecnología, ya que apenas se
encontrado una alarmante cantidad de personas está viendo la punta del iceberg de la misma. En unos
afectadas por la interacción con fuentes radiactivas o años, esta tecnología se convertirá en algo de la vida
generadores de neutrones utilizados en la
pág. 10
AR DRONE PARROT + KINECT
S. Chávez, H. Jiménez, E. Ledezma,
J. Delgadillo, J. Cortés, M. Valadez

diaria de las personas y no se sabe bien aún cuál será


la aplicación más deseada para esta.

VI. REFERENCIAS
1. Haluani, M. (2014). La tecnología aviónica
militar en los conflictos asmétricos:
problemáticas aplicaciones de los drones.
Cuadernos Del Cendes, 44.
2. Molina, G., Vizuet, J., Angeles, A., & Ruiz,
M. (2005). RADIACIONES IONIZANTES
EN LA INDUSTRIA PETROLERA.
Veracruz: CIPM
3. "Aircraft Rotations." Aircraft Rotations. Web.
27 Apr. 2015.
http://www.grc.nasa.gov/WWW/K-
12/airplane/rotations.html
4. Robert L., Williams II. "Engineering
Biomechanics of Human Motion." Ohio. Ohio
University. Web. 27 Apr. 2015.
http://www.ohio.edu/people/williar4/html/PD
F/ResPapePres4670.pdf.
5. "Kinect LabVIEW Interface Using Microsoft
Kinect API." National Instruments. Web. 27
Apr. 2015.
http://www.ni.com/example/31504/en/
6. "Kinesthesia Toolkit for Microsoft Kinect -
University of Leeds NI LabVIEW
Programming API for Microsoft Kinect SDK."
Kinesthesia Toolkit for Microsoft Kinect. Web.
27 Apr. 2015.
<http://sine.ni.com/nips/cds/view/p/lang/es/nid
/210938>.

pág. 11

You might also like