IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE...

31
IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE VÍDEO EN TIEMPO REAL Y CAPTURA DE IMÁGENES DESDE UNA CÁMARA UBICADA EN UN VEHÍCULO AÉREO NO TRIPULADO IMPLEMENTATION OF A SYSTEM FOR REAL-TIME VIDEO TRANSMISSION AND IMAGE CAPTURE FROM A CAMERA LOCATED IN AN UN-CREWED AIR VEHICLE David Alberto Cruz Camelo*Fredy Alfonso Lancheros S ** Dora Lilia Castañeda 1*** Resumen: En el presente documento se describe el desarrollo de un sistema el cual permite la transmisión de vídeo en tiempo real y capturar imágenes por medio de una cámara que se encuentra ubicada en un vehículo aéreo no tripulado. Para ello se utiliza una tarjeta Raspberry Pi 3 como servidor web para la trasmisión del vídeo, captura de imágenes, control de motores y control de la alarma de velocidad excesiva; a su vez, como complemento, se utiliza una tarjeta Arduino la cual se encarga de tomar los datos que se obtienen del sensor de inclinación. Como resultado se obtuvo un dispositivo capaz de adquirir vídeo desde una cámara que por petición del usuario puede girar 120 grados en un movimiento semiesférico y a su vez capturar una imagen de las copas de los árboles en estudio. La transmisión de la información se hace vía wifi en una interfaz de usuario que facilita la toma de datos y permite hacer la posterior descarga de los mismos. * Estudiante Tecnología en Electrónica (Ciclos Propedéuticos). Universidad Distrital Francisco José de Caldas – Facultad Tecnológica. Email: [email protected] ** Estudiante Tecnología en Electrónica (Ciclos Propedéuticos). Universidad Distrital Francisco José de Caldas – Facultad Tecnológica. Email: [email protected] *** Ingeniera Electrónica, Especialista en Telecomunicaciones Móviles, Magister en Docencia, directora semillero de investigación SITA. Universidad Distrital Francisco José de Caldas – Facultad Tecnológica. E-mail: [email protected]

Transcript of IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE...

Page 1: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE VÍDEO EN TIEMPO REAL Y CAPTURA DE IMÁGENES DESDE UNA CÁMARA

UBICADA EN UN VEHÍCULO AÉREO NO TRIPULADO

IMPLEMENTATION OF A SYSTEM FOR REAL-TIME VIDEO TRANSMISSION AND IMAGE CAPTURE FROM A CAMERA LOCATED

IN AN UN-CREWED AIR VEHICLE

David Alberto Cruz Camelo*Fredy Alfonso Lancheros S** Dora Lilia Castañeda 1***

Resumen: En el presente documento se describe el desarrollo de un sistema el cual

permite la transmisión de vídeo en tiempo real y capturar imágenes por medio de una

cámara que se encuentra ubicada en un vehículo aéreo no tripulado. Para ello se utiliza

una tarjeta Raspberry Pi 3 como servidor web para la trasmisión del vídeo, captura de

imágenes, control de motores y control de la alarma de velocidad excesiva; a su vez,

como complemento, se utiliza una tarjeta Arduino la cual se encarga de tomar los datos

que se obtienen del sensor de inclinación. Como resultado se obtuvo un dispositivo

capaz de adquirir vídeo desde una cámara que por petición del usuario puede girar 120

grados en un movimiento semiesférico y a su vez capturar una imagen de las copas de

los árboles en estudio. La transmisión de la información se hace vía wifi en una interfaz

de usuario que facilita la toma de datos y permite hacer la posterior descarga de los

mismos.

* Estudiante Tecnología en Electrónica (Ciclos Propedéuticos). Universidad Distrital Francisco José de Caldas – Facultad Tecnológica. Email: [email protected] ** Estudiante Tecnología en Electrónica (Ciclos Propedéuticos). Universidad Distrital Francisco José de Caldas – Facultad Tecnológica. Email: [email protected] *** Ingeniera Electrónica, Especialista en Telecomunicaciones Móviles, Magister en Docencia, directora semillero de investigación SITA. Universidad Distrital Francisco José de Caldas – Facultad Tecnológica. E-mail: [email protected]

Page 2: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

Palabras clave: Video, Transmisión, Interfaz, imagen, aeronave, cultivos

Abstract: The present document describes the development of a system which allows

the transmission of real-time video and capture images by means of a camera that is

located in an unmanned aerial vehicle. . For that, a Raspberry Pi 3 card is used as a web

server for video transmission, image capture, motor control and excessive speed alarm

control; in turn, as an add-on, an Arduino card is used which is in charge to take the data

that is obtained from the tilt sensor. As a result, a device capable of transmitting video

from a camera that at the request of the user can rotate 120 degrees in a semi-spherical

motion and in turn capture an image of the glasses of the trees under study. The

transmission of the information is done through Wi-Fi in a user interface that facilitates

the taking of data and allows to make the subsequent download of the same ones.

Key Words: Video, Transmission, Interface, Image, Airship, Crops.

1. INTRODUCCIÓN

Muchas son las áreas que para nosotros como humanos nos es difícil acceder visualmente,

una de estas áreas es la de cultivos arbóreos, en la que es una necesidad inspeccionarlo, ya

sea por motivos de seguridad o por revisar el estado en que se encuentra. En los cultivos

arbóreos muchas veces se encuentra el inconveniente de que es difícil inspeccionar las partes

altas de las plantas, no se pueden ver las copas o frutos desde el suelo, ya que la mayoría de

las veces estos superan la altura promedio de una persona, permitiendo así la permanencia

de plagas u otros factores que pueden afectar el bienestar del cultivo.

Con este enfoque se decide implementar un sistema en un vehículo aéreo no tripulado el cual

por medio de una cámara permita realizar la inspección adecuada de cultivos arbóreos sin

tener la necesidad de realizar labores dispendiosas por parte de los trabajadores.

Page 3: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

El sistema implementado en el vehículo aéreo no tripulado tiene la posibilidad de permitirle al

usuario tener el control del giro de la cámara en un ángulo de 120 grados tanto en sentido

vertical como horizontal, además el usuario tiene la posibilidad de ver la transmisión de video

en tiempo real, en un computador, de los cultivos o la parte a la cual se le esté realizando

inspección, para nuestro caso cultivos arbóreos, si se requiere se podrá capturar una imagen

y ser guardada para luego realizar el respectivo estudio de la misma.

2. Estado del Arte

Hoy en día se han automatizado muchos sectores de la producción, así como la tecnología

nos acompaña en nuestro diario vivir, uno de los pilares que han surgido en los últimos tiempos

es aquél que involucra el uso de los vehículos de vuelo no tripulados (VANT), conocidos como

drones.

El uso de estos vehículos no tripulados ha facilitado las operaciones, aparte de lo relacionado

a la guerra, en sistemas de inspección de gran cantidad de escenarios y eventos, así como

también se ha desarrollado la parte de la sensórica que nos brinda datos de los diferentes

espacios.

En la parte de la agricultura se tiene un avance importante, ya que antiguamente se utilizaban

fotografías del satélite [1], las cuales no cuentan con buena resolución y dependían mucho del

estado del clima, se han incorporado cuadricópteros no tripulados que se encargan de esta

labor con mayor eficiencia y gastando menor tiempo. Una tendencia importante es la seguida

por Aero Filming[2], empresa que ofrece sistemas de monitoreo de casi cualquier escenario,

con su sistema de posicionamiento GPS y una ruta prefijada puede grabar y fotografiar aquél

punto que fue seleccionado con anterioridad; en la figura 1 se aprecia un dron de Aero Filming

con su operario.

Figura 1. Dron de Aerofilming[2]

Page 4: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

En el área de cultivos también se encuentra la empresa Aeroterra[3] que incluye la tecnología

GPS y realiza la posterior grabación dependiendo lo solicitado por el cliente, este sistema tiene

una capacidad de mapeo de 50000 hectáreas cuando está a unos 500 m de altura , su tiempo

de vuelo está alrededor de los 30 minutos y se planea mejorar esta condición.

Camilo Cáceres et al. [4] expone el proyecto realizado para llevar el control de los daños

causados por plagas en el cultivo de Begonias por medio de una cámara en un dron encargada

de tomar las imágenes, las cuales posteriormente se tratan con procesamiento digital de

imágenes con el propósito de encontrar agujeros en los pétalos de las flores, una muestra de

lo realizado se puede observar en la figura 2.

Figura 2. Dron e imagen tomada por el mismo[4]

Otra tecnología desarrollada es aquella por Pritt y sus colegas de Lockheed Martin[5]

mejorando el sistema y optimizando el tiempo, capturan imágenes, por ejemplo en un cultivo

de maíz, en el cual se toman dos fotos por planta, siempre con un punto de referencia que

aparece en ambas fotografías, así se construye posteriormente un mapa en 3D de la zona

inspeccionada.

Otra de las aplicaciones que se le ha dado a los drones es en el área forense, debido a que en

algunos lugares es riesgoso y de difícil acceso, las autoridades se encargan de monitorear el

lugar debido por medio de estos vehículos[6]. Así como Francisco Escalada[7], en su artículo

expone el uso de los drones en el campo de las emergencias médicas, dejando a estos

vehículos como los ojos con los cuales se puede acceder a lugares difíciles y así poder ayudar

a un herido.

En el trabajo de Andrea S. et al. [8] se muestra el estudio realizado para la captura de

imágenes por medio de un avión no tripulado, el cual fue teledirigido y comparados sus

resultados respecto a lo indicado por un satélite; el dispositivo además cuenta con un piloto

automático y con la posibilidad de operarlo manualmente; de dicho estudio se tiene que el

posicionamiento por piloto automático no es preciso y no es posible hacer la toma de las

imágenes en comparación a lo arrojado por el satélite, en cuanto a la operación manual resulta

difícil su estabilización y la calidad de la imagen va muy ligado a la cámara, que siendo digital

Page 5: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

y teniendo en cuenta la velocidad del avión, no resulta óptima; aunque el dispositivo es

asequible para personas que busquen economía; el modelo utilizado se muestra en la figura

3.

Figura 3.Modelo avión no tripulado utilizado[8]

Michael McCall[9], en su artículo comenta cómo los drones han ayudado a la hora del

monitoreo forestal, ya que ahorran gran cantidad de trabajo pesado y su rapidez nos permite

estar en lugares de catástrofe y generar fotografías de la zona, por ejemplo en un incendio;

como lo indica McCall la hora de usarlos es ahora, puesto que son bastante útiles pero la

legislación está cambiando al punto de que en un futuro no muy lejano sean incluso prohibidos.

3. MARCO TEORICO

3.1 PROTOCOLO IP

IP (Internet Protocol), es un protocolo de comunicación sin conexión, que proporciona un

servicio de datagramas. [10]

3.2 SERVIDOR STREAMING

El streaming es una tecnología (también conocida como media-flujo) que permite la distribución

de archivos multimedia (principalmente audio y video) a través de la red de computadores en

tiempo real. Estos son cargados en un buffer de datos donde se puedan reproducir al mismo

tiempo que se descargan y luego se descartan, sin quedar almacenados en el disco duro del

cliente[11]. La figura 4 nos muestra un poco acerca de que es la tecnología streaming. [11]

Figura 4. Estructura de la tecnología streaming[11].

Page 6: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

3.3 ROUTER

El router es un dispositivo de hardware o software para interconexión de redes de

computadoras, puede interconectar segmentos de redes o redes enteras. El router realiza la

transmisión por paquetes de datos y toma con base la información de la capa de red, este toma

decisiones lógicas para escoger la mejor ruta de envió de datos a través de una red

interconectada[12].

El router de alta potencia que apoya el presente proyecto es el observado en la figura 5.

Figura 5. Router 3bumen[13].

3.4 TECNOLOGIA WIFI

Una red wifi es una red de comunicaciones de datos que permite conectar servidores,

impresoras sin necesidad de utilizar cableado físico.

Las características generales de funcionamiento de una red wifi son las mismas que las de

una red con cableado. La particularidad es que el wifi utiliza el aire como medio de transmisión

[14].

Los elementos básicos de una red wifi son los que se observan en la figura 6.

Figura 6. Componentes básicos de una red wifi [14].

Page 7: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

3.5 PROTOCOLO SSH

SSH o (Secure Shell) es un protocolo que facilita las comunicaciones seguras entre dos

sistemas usando una arquitectura cliente/servidor y que permite a los usuarios conectarse a

un host remotamente. A diferencia de otros protocolos de comunicación remota tales como

FTP o Telnet, SSH encripta la sesión de conexión, haciendo imposible que alguien pueda

obtener contraseñas no encriptadas [15].

3.6 PROTOCOLO CGI

El protocolo CGI (Common Gateway Interface) fue creado para establecer un protocolo

standard de comunicación entre el servidor web y cualquier lenguaje de programación de forma

tal que desde el lenguaje “x” puedan recibirse datos que el usuario envía usando el método

“POST” o “GET” y además el resultado de la aplicación sea derivado por el servidor web al

navegador. Típicamente para recibir datos se usa alguna biblioteca o módulo del lenguaje

elegido que implementa el protocolo CGI y para enviar datos simplemente se envían a la salida

estándar desde el lenguaje elegido y el servidor web se encarga de redireccionar esto al

navegador [16].

3.7 SERVIDOR APACHE

Apache es un poderoso servidor web, cuyo nombre proviene de la frase inglesa “a patchy

server” y es completamente libre, ya que es un software Open Source y con licencia GPL. Una

de las ventajas más grandes de Apache, es que es un servidor web multiplataforma, es decir,

puede trabajar con diferentes sistemas operativos y mantener su excelente rendimiento [17].

3.8 LENGUAJE PHP

PHP es un lenguaje de código abierto muy popular, adecuado para desarrollo web y que puede

ser incrustado en HTML. Es popular porque un gran número de páginas y portales web están

creadas con PHP. Este lenguaje es de código abierto lo que significa que es de uso libre y

gratuito para todos los programadores que quieran usarlo. Incrustado en HTML significa que

en un mismo archivo vamos a poder combinar código PHP con código HTML, siguiendo unas

reglas [18].

3.9 LENGUAJE HTML

HTML es un lenguaje de marcado que se utiliza para el desarrollo de páginas de Internet. Se

trata de la sigla que corresponde a (HyperText Markup Language), es decir, Lenguaje de

Page 8: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

Marcas de Hipertexto, que podría ser traducido como Lenguaje de Formato de Documentos

para Hipertexto [19].

3.10 LENGUAJE PYTHON

Python es un lenguaje de scripting independiente de plataforma y orientado a objetos,

preparado para realizar cualquier tipo de programa, desde aplicaciones Windows a servidores

de red o incluso, páginas web. Es un lenguaje interpretado, lo que significa que no se necesita

compilar el código fuente para poder ejecutarlo, lo que ofrece ventajas como la rapidez de

desarrollo e inconvenientes como una menor velocidad [20].

4. DESARROLLO DEL PROYECTO

Para el desarrollo del proyecto la propuesta realizada fue la siguiente

Figura 7. Diagrama de bloques. Autoría propia.

4.1 BLOQUE DE ADQUISICIÒN DE MANDO

Es el encargado de recibir las órdenes de giro de la cámara por medio de un sensor de

inclinación; así como el usuario gire el sensor, estas órdenes son enviadas al sistema de

control de la cámara para que ésta haga lo mismo.

Este bloque es representado en la figura 8.

Page 9: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

Figura 8. Diagrama bloque adquisición de mando. Autoría propia

Para que se lleve a cabo la operación se debe ejecutar un programa en el Arduino, el cual se

esquematiza en la figura 9.

Figura 9. Diagrama de flujo obtención de datos del control. Autoría propia

La parte ejecutada por el laptop será descrita en el bloque de transmisión, visualización, control

y captura de imagen.

En este bloque se implementaron los siguientes componentes para el funcionamiento del

mismo:

Page 10: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

4.1.1 MPU 6050

Es una IMU 6DOF; quiere decir que se compone de un acelerómetro y un giroscopio con

función en los tres ejes, el sensor es el que aparece en la figura 10.

Figura 10. MPU 6050 [21]

En el proyecto este dispositivo se utiliza como un control para la cámara que se encuentra

ubicada en el vehículo aéreo no tripulado, el MPU 6050 envía datos de posición angular

generados por este mismo al ser inclinado en el eje x o y, estos datos son enviados a una

tarjeta arduino nano la cual se encarga de enviarlos al PC por medio del puerto serial, a su vez

el PC toma estos datos y por medio del protocolo CGI (Common Gateway Interface) los publica

en una página web de red local.

4.1.2 MICROCONTROLADOR ARDUINO NANO

El microcontrolador Arduino nano es una plataforma física computacional open- source basada

en una sencilla placa con entradas y salidas (E/S), analógicas y digitales, y en un entorno de

desarrollo que implementa el lenguaje Processing/Wiring [22]. La placa arduino nano puede

apreciarse en la figura 11.

Figura 11. Placa Arduino nano [22].

4.2 BLOQUE DE ADQUISIÓN DE VIDEO

Este bloque es el encargado de receptar el vídeo desde la cámara y transmitirlo en la red de

área local, esto se logra con la instalación y puesta en marcha del servidor UV4L (User-space

Page 11: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

Video4Linux), el cual genera un entorno en el cual se pueden hacer distintos procesos con la

cámara, de los cuales escogimos el “stream” que es el encargado de transmitir el vídeo en

tiempo real, una apreciación de éste servidor es la figura 12 y del stream la figura 13.

Figura 12. Servidor UV4L. Autoría propia.

Figura 13. Streaming de vídeo. Autoría

propia.

El diagrama general del bloque se puede ver en la figura 14.

Figura 14. Adquisición de vídeo. Autoría propia.

En este bloque los dispositivos utilizados fueron los siguientes:

4.2.1 RASPBERRY PI 3

Raspberry Pi, es un es un ordenador de tamaño de tarjeta de crédito que se conecta a un

televisor y un teclado. Es una placa que soporta varios componentes necesarios en un

ordenador común. Es un pequeño ordenador, que puede ser utilizado para muchas de las

cosas que un PC de escritorio hace, como hojas de cálculo, procesadores de texto y juegos

[23]. En la figura 15 se observa una Raspberry pi 3.

Page 12: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

Figura 15. Raspberry pi 3 [24].

4.2.2 CAMARA PARA RASPBERRY PI

La Cámara para Raspberry Pi es un módulo de alta calidad de 8 megapíxeles con el sensor

de imagen Sony IMX219 diseñado a medida para Raspberry Pi, con una lente de foco fijo. Es

capaz de tomar imágenes estáticas de 3280 x 2464 pixeles, y también es capaz de tomar vídeo

de 1080p30, 720p60, and 640x480p90. En la figura 16 se puede observar una cámara para

para Raspberry pi 3 [24].

Figura 16. Cámara para Raspberry pi [24].

4.3 BLOQUE DE ALARMA DE VELOCIDAD EXCESIVA

En esta parte se implementó un módulo GPS Neo 6m el cual se encarga de emitir una señal

de alarma en el momento en el que el vehículo aéreo no tripulado supere la velocidad límite a

la que la calidad del vídeo sea aceptable, además de que se capturan los datos de posición y

longitud por medio de este módulo como se muestra en la figura 17. El diagrama que

representa este bloque es el que aparece en la figura 18.

Page 13: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

Figura 17. Datos modulo GPS. Autoría

propia.

Figura 18. Diagrama funcional del bloque

de alarma. Autoría propia

Los datos capturados del GPS y publicados gracias a la CGI, se realiza con un script de Python

que se aprecia en la figura 19.

Cabe destacar que la alarma se activa después de que el VANT supera los 3 km/h, y una

aplicación adicional es la publicación de la hora y fecha gracias al manejo de cadenas con el

lenguaje Python, puesto que el GPS está sincronizado 5 horas delante de la zona horaria de

Colombia; esto se podrá corroborar en la sección de pruebas y resultados.

Figura 19. Diagrama de flujo script de adquisición de datos GPS. Autoría propia.

Page 14: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

4.3.1 MODULO GPS NEO 6M

La serie de los Módulos Neo-6 es una familia de autónomos receptores GPS que ofrecen un

alto rendimiento de U-Blox [25]. En la figura 20 se puede observar un módulo GPS NEO 6M.

Figura 20. Modulo GPS NEO 6M [25].

4.4 BLOQUE DE ALMACENAMIENTO DE IMAGEN

Este es el encargado de almacenar imágenes, esto se logra por medio 3 scripts, el primero es

un bash de Linux que detiene el servidor de vídeo mientras se captura la imagen deseada. El

segundo es un script de Python que captura los datos subidos por la página del GPS y los

guarda en una ráfaga de 3 imágenes, quedando guardada cada imagen con nombre, fecha y

hora, también guarda posición (latitud y longitud), además asigna un numero para cada imagen

es decir si es la imagen número 1, la imagen número 2 y así sucesivamente; el último script

es otro bash de Linux que tiene como función reiniciar el servidor de vídeo y recargar la página

para que esta siga corriendo sin ningún problema después de la captura de la imagen. En este

bloque también se incluye la opción de descargar imágenes, la cual se logra con un bash de

Linux (raspbian para este proyecto) y consiste en pasar la carpeta almacenada en la

Raspberry pi 3 al pc del usuario que transmite los datos del control (ver bloque adquisición de

mando), esta función se hace por medio del comando scp que pertenece al protocolo ssh, hay

que destacar que para lograr esto se tiene que hacer una configuración de claves rsa.

En la figura 21 se aprecia el diagrama de esta sección.

Figura 21. Diagrama funcional del bloque de imágenes. Autoría propia

Page 15: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

El programa principal es posible entenderlo de mejor manera en el diagrama mostrado en la

figura 22, que está a continuación.

Figura 22. Diagrama de flujo página de proceso de imágenes. Autoría propia.

Como se puede observar, es necesario profundizar en el programa que toma las fotografías,

éste se representa en el diagrama de la figura 23.

Figura 23. Diagrama de flujo script captura de imágenes. Autoría propia.

Page 16: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

4.5 BLOQUE DE CONTROL MECANICO

En este bloque básicamente se realiza el control de 3 servomotores sg 90 que se encuentran

ubicados en un soporte de inclinación y rotación P-T-NY-01 el cual permite el control del giro

de la cámara ubicada en el vehículo aéreo no tripulado. Para lograr esto se toman los datos

de posición angular generados por el sensor de inclinación MPU 6050 del control de mando

como los datos generados por el sensor de inclinación MPU 6050 que se encuentra ubicado

sobre el vehículo aéreo, se comparan los datos de posición angular que arroja cada sensor

de inclinación y se cambia el pwm de los motores respecto a estos datos.

El diagrama respectivo se encuentra en la figura 24

Figura 24. Diagrama funcional del bloque control mecánico. Autoría propia

El programa que realiza esta función es un script de Python que comienza a ejecutarse en

segundo plano desde que se enciende la raspberry, su diagrama de flujo está en la figura 25.

Page 17: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

Figura 25. Diagrama de flujo script control de servomotores. Autoría propia.

Para facilitar la comprensión de este bloque se puede ver el movimiento ideal de inclinación

de la cámara respecto a los sensores en las figuras 26 y 27.

Figura 26. Inclinación respecto al control

con sensor a bordo neutral. Autoría propia.

Figura 27. Inclinación con sensor a bordo

inclinado. Autoría propia.

En la figura 26 puede apreciarse cómo la inclinación de la cámara imita a la del control; así

como en la figura 27 se puede observar el mismo comportamiento, en esta última el control

(que da la pauta para 2 ejes) tiene valores diferentes a cero en ambos casos, el sensor a bordo

(3 ejes) indica inclinación en todos sus ejes igual a 10° y como resultado se debe obtener la

imitación del control en los ejes X y Y además de estabilizar la cámara en el tercer eje, para

Page 18: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

ello los servomotores llegan a 20° respecto a su eje X para lograr los 30° respecto a la

horizontal, no utiliza el servomotor para el eje Y puesto que el VANT ya está a 10° y finalmente

se pone a -10° para permitir un enfoque sin alteraciones en el tercer eje.

Los dispositivos usados en este bloque fueron los siguientes:

4.5.1 SOPORTE PAN-TILT PARA SG90

Este soporte permite usar dos servos SG90 para armar un sistema pan-tilt donde se puede

colocar sensores, actuadores o cámara de video. Su diseño mecánico es de gran rango

angular y buena estabilidad lo cual lo hace ideal para proyectos con cámaras de video [26].

Ver figura 28.

Figura 28. Soporte de inclinación para motores sg90 [26].

4.5.2 SERVOMOTOR SG90

Es un pequeño y ligero servomotor con alta potencia de salida. Puede girar aproximadamente

180 grados (90 en cada dirección), y funciona igual que los servomotores estándar pero este

es más pequeño. Ver figura 29 donde se observa la imagen de un servomotor sg 90 [27].

Figura 29. Servomotor SG 90 [27].

4.6 BLOQUE DE TRANSMISIÓN, VISUALIZACIÓN, CONTROL Y CAPTURA DE IMAGEN

Este bloque es el computador del usuario, así como la raspberry pi , éste también funciona

como servidor web; por medio del protocolo CGI se corre un script de Python el cual recibe los

datos del control (bloque de adquisición de mando) vía comunicación serial y los publica en la

red local bajo un protocolo CSS (Cascading Style Sheets) éste permite la posterior

Page 19: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

recuperación de los datos en la raspberry; además el laptop está configurado para que sea

capaz de recibir las imágenes por medio de un protocolo SSH al pulsar un botón de la interfaz

de usuario, este bloque debido a sus características está orientado a que sea el cliente de la

página principal publicada desde la raspberry, el que visualiza el vídeo, da la orden de tomar

las fotografías y de descargarlas en el mismo computador.

Como se acordó en el bloque de adquisición de mando, en éste, que físicamente es el

computador portátil, se publica un script capaz de subir a la red los datos provenientes del

sensor, el diagrama de flujo de dicho script se observa en la figura 30 y los datos publicados

en la figura 31.

Con ánimo de generar una visión global del proyecto, se muestra un diagrama general del

proyecto en la figura 32.

Figura 30. Diagrama de flujo publicación

datos del control de mando. Autoría propia.

Figura 31. Datos publicados control de

mando. Autoría propia

Page 20: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

Figura 32. Diagrama general del proyecto. Autoría propia

5. PRUEBAS Y RESULTADOS

A través del proceso de investigación se obtuvo un prototipo capaz de transmitir vídeo en

tiempo real con una latencia menor a 0.5 segundos, esto como resultado de varias pruebas

con distintos servidores de vídeo, dejando como el más apropiado al UV4L, del cual su

extensión de streaming fue incrustada como parte de la página principal, la que cumple su

función como interfaz de usuario.

La interfaz gráfica resultante se puede apreciar en la figura 33, la cual es aquella que verá el

usuario en el laptop.

Page 21: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

Figura 33. Interfaz de Usuario. Autoría propia

La página principal fue el resultado de incrustar varias extensiones generadas por la misma

raspberry pi 3 como lo es la ya mencionada transmisión de vídeo-streaming y la publicada en

formato CGI, escrita en lenguaje Python, la cual lee, muestra y utiliza los datos del GPS Neo

6M; además la página principal cuenta con los botones “foto” y “descargar” que permiten tomar

la fotografía y pasarlas al computador del usuario, respectivamente, además del botón “ver

foto” para visualizar las que se han tomado hasta el momento. Se puede ver la carpeta

generada al momento de pulsar el botón descargar en la figura 34 y su interior en la figura 35,

el resultado de pulsar el botón ver imagen aparece en la figura 36.

Figura 34. Carpeta generada. Autoría

propia

Figura 35. Interior de la carpeta. Autoría

propia

Page 22: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

Figura 36. Almacenamiento en la Raspberry. Autoría propia

La parte encargada del GPS fue incluida debido a que es un vehículo aéreo el cual transporta

el prototipo, no hay otra forma más eficaz para medir velocidad que el GPS, es por ello que se

decidió incluir este bloque que a su vez permite al usuario visualizar la posición (latitud,

longitud) del dispositivo además de su velocidad y el aviso de si la velocidad afecta o es

aceptable para visualizar el vídeo. La página principal, cuenta con sus dos botones, de los

cuales uno es el que se encarga de tomar las fotografías, éste aprovecha los datos del GPS

para nombrar las imágenes como se describe a continuación, como resultado adyacente se

obtiene un sistema que, al ser imposible usar la cámara para fotografías con código Python

mientras el servidor de vídeo estuviera corriendo, es capaz de detener el servidor de vídeo por

medio de un script en lenguaje de bash de Raspbian (sistema operativo en la Raspberry),

cuando termine, ejecuta un script de Python capacitado para recuperar los datos de la página

que publica los datos del GPS y toma una ráfaga de 3 fotos guardando cada una con un

nombre, que incluye latitud, longitud y si es la foto uno, dos o tres de la ráfaga tomada, esta

ráfaga es tomada con el ánimo de que si por causa del movimiento del vehículo aéreo no

tripulado o los servomotores como tal, alguna foto quede desenfocada, el usuario tendrá dos

más para escoger la que mejor le parezca, por último ejecuta un script encargado de reiniciar

Page 23: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

el servidor de vídeo para continuar con el monitoreo. Los resultados se evidencian en la trama

mostrada por las figuras 37, 38, 39 tomadas en reposo y las figuras 40, 41, 42 tomadas en

movimiento, además de las 43, 44, 45 también tomadas en movimiento.

2017-04-15_17:29:29_4.61284_-

74.16742_1

Figura 37. Imagen 1 fotografía estática.

Autoría propia

2017-04-15_17:29:29_4.61284_-

74.16742_2

Figura 38. Imagen 2 fotografía estática.

Autoría propia

2017-04-15_17:29:29_4.61284_-

74.16742_3

Figura 39. Imagen 3 fotografía estática.

Autoría propia

2017-05-11_20:14:23_4.57897_-

74.15816_1

Figura 40. Imagen 1 fotografía dinámica.

Autoría propia

Page 24: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

2017-05-11_20:14:23_4.57897_-

74.15816_2

Figura 41. Imagen 2 fotografía dinámica.

Autoría propia

2017-05-11_20:14:23_4.57897_-

74.15816_3

Figura 42. Imagen 3 fotografía dinámica.

Autoría propia

2017-05-02_18:54:35_4.57930_-

74.15876_1

Figura 43. Imagen 1 fotografía dinámica

parqueadero. Autoría propia

2017-05-02_18:54:35_4.57930_-

74.15876_2

Figura 44. Imagen 2 fotografía dinámica

parqueadero. Autoría propia

Page 25: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

2017-05-02_18:54:35_4.57930_-74.15876_3

Figura 45. Imagen 3 fotografía dinámica parqueadero. Autoría propia

En las ráfagas de imágenes mostradas anteriormente podemos ver lo que se logra con el

proyecto funcionando bajo condiciones específicas, en el caso de las figuras 37-39 en estado

estático, es decir sin ser elevado por el VANT sino manualmente. En las ráfagas 40-42 y 43-

45 se aprecia la funcionalidad de tomar 3 fotografías seguidas, ya que se ve claramente como

la imagen 2 de cada grupo son las mejor enfocadas por la cámara, las otras no son adecuadas

para un posterior estudio por su toma desenfocada, esto debido al movimiento del drone.

Para una correcta comprensión de los datos consignados en el nombre de cada fotografía se

muestra a qué corresponde cada uno en la fotografía de la figura 37, de la cual el nombre es

2017-04-15_17:29:29_4.61284_-74.16742_1.jpg

Donde los datos para esta foto son:

Fecha: 2017-04-15

Hora: 17:29

Latitud: 4.61284

Longitud: -74.16742

Número de la foto: 1

Formato: jpg

Page 26: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

Si de la figura 37 se toman los datos de longitud, latitud y se introducen en Google Maps,

obtendremos algo como lo observado en las figuras 46 y 47.

Figura 46. Imagen global arrojada por

Google Maps. Autoría propia

Figura 47. Imagen local arrojada por Google

Maps. Autoría propia

En la figura 48 se aprecia una velocidad de 3.07 Km/h a la cual ya está activada la alarma que

aparece como un mensaje en letras mayúsculas y color rojo indicando “EXCESO DE

VELOCIDAD”.

Figura 48. Prueba de alarma de velocidad excesiva. Autoría propia.

Para el control de los servomotores se obtuvo un script que se ejecuta automáticamente

cuando se inicia la raspberry, dicho script es capaz de rescatar los datos provenientes del

Page 27: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

control de mando y a su vez leer los del sensor a bordo en el vehículo aéreo no tripulado, los

compara y de acuerdo a eso se logra el control de los motores estabilizando la imagen de la

cámara ante posibles inclinaciones del vehículo aéreo no tripulado y llegando al ángulo

deseado por el usuario por medio del cambio de ciclo útil de los mismos. El control utilizado en

el proyecto puede observarse en la figura 49.

Figura 49. Control por sensor de inclinación. Autoría propia

Como se ve, el control consta de un arduino nano y un MPU 6050 descritos anteriormente. En

las figuras 50 y 51 se puede ver el prototipo resultante implementado en el VANT.

Figura 50. Vista frontal del prototipo. Autoría

propia

Figura 51. Vista lateral del prototipo. Autoría

propia

Es sustancial dar importancia al VANT utilizado en el proyecto, puesto que gracias a sus

características se pudo implementar la estructura del proyecto en el mismo. El VANT es un

drone modelo Quadcopter SK450 Turnigy, seleccionado por su versatilidad en cuanto al área

de modificaciones y programación de este; posee 4 motores sin escobillas Brushless Multistar

2213 con 935kv y un empuje máximo de 850 g, tiene un peso total de 680 g sin batería, este

se alimenta con una batería de LiPo de 3 celdas a 11.1 volts capaz de entregar un eficiencia

Page 28: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

de 10 a 15 minutos de vuelo continuo sin carga y de 7-10 minutos con el proyecto

implementado.

En la figura 52 se puede apreciar el VANT utilizado para el desarrollo del proyecto:

Figura 52. Quadcopter SK450 Turnigy [28]

Perspectivas y sugerencias

El proyecto finalizado es capaz de obtener fotografías de calidad, pero el enfoque de la cámara

es afectado debido al movimiento aleatorio del drone, esto es causado por un factor humano

que recae en la pericia del piloto, para evitar este inconveniente se propone usar un drone

guiado por tecnología GPS permitiendo así la toma de fotografías con posibilidad de mejor

enfoque. En cuanto al alcance, se propone realizar un proceso investigativo para mejorar la

antena integrada de wifi de la Raspberry Pi 3.

6. CONCLUSIONES

• El sistema se puso en marcha gracias a la implementación de sistemas que se ayudan

mutuamente como se evidenció en el caso de los datos que se transmiten desde el

control hacia la raspberry, puesto que no se puede directamente debido a condiciones

de seguridad y de forma de trabajo que impiden que esto se realice en un solo script.

• A pesar de que la frecuencia de WiFi utilizado para la transmisión de datos del prototipo

maneja el mismo rango de frecuencias que el utilizado por el control del vehiculó aéreo

no tripulado, no hubo interferencias gracias a que trabajaron en canales distintos, esto

Page 29: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

debido al protocolo AFHDS 2A con el que cuenta el control del vehículo aéreo no

tripulado que impide que se mezcle la información de ambos sistemas.

• El prototipo es capaz de controlar los motores con una diferencia de tiempo entre el

estímulo del sensor y la respuesta en el movimiento de los motores que varía de 0 a 2

segundos, esto debido al tiempo de lectura del sensor, el momento en que se suben los

datos a la red local, el momento en que se recuperan en la raspberry y su momento de

ejecución como tal.

• En el control de la cámara se utilizaron 3 servomotores a pesar de que el control sólo

maneje dos ángulos, uno que controla directamente si la cámara está a la izquierda o

derecha según la pauta del control, el segundo si está hacia arriba o hacia abajo, el cual

es un equilibrio entre la inclinación del vehículo aéreo no tripulado y el ángulo deseado

que se toma del control, y un tercero para estabilizar la vista de la cámara en el eje de

rotación restante, en caso de que el VANT esté inclinado en dicho eje.

7. REFERENCIAS BIBLIOGRAFICAS

[1] A. Mendez, J.P. Velez, “Agritotal.” [Online]. Available:

http://www.agritotal.com/0/vnc/nota.vnc?id=los-drones-para-monitorear-cultivos. [Accessed:

16-Apr-2016].

[2] Aero Filming, “Inspección aérea con drones. Servicio profesional y económico.” [Online].

Available: http://aerofilming.com/inspeccion/. [Accessed: 16-Apr-2016].

[3] “Monitoreo de cultivos y carreteras con drones | Tecnologías de geolocalización, rastreo

satelital, monitoreo remoto e innovación móvil.” [Online]. Available: https://widetech.co/es/abril-

4/. [Accessed: 16-Apr-2016].

[4] C. A. Cáceres Flórez, O. L. Ramos Sandoval, and D. Amaya Hurtado, “Procesamiento

de imágenes para reconocimiento de daños causados por plagas en el cultivo de Begonia

semperflorens (flor de azúcar),” Acta Agronómica, vol. 64, no. 3, pp. 273–279, May 2015.

[5] J. You, “Drones could 3D-map scores of hectares of land in just a few hours | Science |

AAAS.” [Online]. Available:

http://www.sciencemag.org.bdigital.udistrital.edu.co:8080/news/2014/10/drones-could-3d-

map-scores-hectares-land-just-few-hours. [Accessed: 16-Apr-2016].

Page 30: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

[6] Digital Investigación, “vehículos aéreos no tripulados: Un análisis preliminar de los

desafíos forenses,” Digital Investigación.

[7] F. J. Escalada Roig, “Drones at the service of emergency responders: rather more than

more toys,” Emergencias: Revista de la Sociedad Española de Medicina de Urgencias y

Emergencias, vol. 28, no. 2. Saned, pp. 73–74, 2016.

[8] P. J. Hardin and M. W. Jackson, “An Unmanned Aerial Vehicle for Rangeland

Photography,” Rangel. Ecol. Manag., vol. 58, no. 4, pp. 439–442, Jul. 2005.

[9] K. Evans, “Drones: una opción de bajo costo para el monitoreo forestal | Los bosques

en las noticias.” [Online]. Available: http://blog.cifor.org/32154/drones-una-opcion-de-bajo-

costo-para-el-monitoreo-forestal?fnl=es. [Accessed: 16-Apr-2016].

[10] E. Ip, “El protocolo IP,” pp. 1–30.

[11] E. Hales, “Tecnología Streaming,” pp. 1–9, 2013.ç

[12] I. Gu, “Tema : Introducción al Router Objetivo Materiales y Equipo Introducción Teórica

Procedimiento Bibliografía,” pp. 1–10.

[13] 3Bumen, “3bumen - Buscar con Google.” [Online]. Available:

https://www.google.com.co/search?q=3bumen&source=lnms&tbm=isch&sa=X&ved=0a

hUKEwiX9ZX6p_fTAhXIZiYKHUerBnAQ_AUICigB&biw=1366&bih=648#imgrc=k0MZfb

uWj2q_wM: [Accessed: 17-May-2017].

[14] Diputación de Badajoz, “Las tecnologías wifi y wimax.” [Online]. Available:

http://www.dip- badajoz.es/agenda/tablon/jornadaWIFI/doc/tecnologias_wifi_wmax.pdf.

[15] Red Hat Enterprise Linux 4, “Protocolo ssh”. [Online]. Disponible en:

http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/ch-ssh.html.

[16] Conocimientos web. Net, “Protocolo CGI”. [Online]. Disponible en:

http://www.conocimientosweb.net/dcmt/ficha17780.html.

[17] Culturación, “Servidor apache”. [Online]. Disponible en: http://culturacion.com/que-es-

apache/

[18] Aprender a programar, “Lenguaje PHP”. [Online]. Disponible en:

http://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=492:iq

Page 31: IMPLEMENTACIÓN DE UN SISTEMA PARA LA TRANSMISIÓN DE …repository.udistrital.edu.co/.../1/LancherosSuarezFredyAlfonso2017.pdf · con su sistema de posicionamiento GPS y una ruta

ue-es-php-y-ipara-que-sirve-un-potente-lenguaje-de-programacion-para-crear-paginas-web-

cu00803b&catid=70&Itemid=193.

[19] J. Pérez Porto and A. Gardey, “Definición de HTML”. [Online]. Disponible en:

http://definicion.de/html/.

[20] M. Alvarez, “Que es python”, [Online]. Disponible en:

https://desarrolloweb.com/articulos/1325.php.

[21] “MPU-6000 and MPU-6050 Product Specification Revision 3.4.” [Online]. Available:

https://www.cdiweb.com/datasheets/invensense/MPU-6050_DataSheet_V3 4.pdf. [Accessed:

27-Apr-2016].

[22] L.Thayer Ojeda, “Arduino nano”. [Online]. Available: http://arduino.cl/arduino-nano/

[23] ABC Tecnología, “Que es raspberry pi y para qué sirve”. [Online]. Disponible en:

http://www.abc.es/tecnologia/informatica-hardware/20130716/abci-raspberry-como-

201307151936.html

[24] Electronilab, “raspberry pi 3 y accesorios”. [Online]. Disponible en:

https://electronilab.co/tienda/raspberry-pi-3-modelo-b-armv8-1g-ram/.

[25] Mactronica, “modulo GPS neo 6m”. [Online]. Disponible en:

http://www.mactronica.com.co/modulo-gps-neo-6m-ublox-43672883xJM.

[26] Naylamp Mechatronics, “Soporte Pan-Tilt para SG90”. [Online]. Disponible en:

http://www.naylampmechatronics.com/accesorios-y-prototipado/170-soporte-pan-tilt-para-

sg90.html.

[27] Akizukidenshi, “SG 90 Micro servo”. [Online]. Disponible en:

http://akizukidenshi.com/download/ds/towerpro/SG90.pdf.

[28] Electronilab, “Quadcopter SK450 Turnigy”. [Online]. Disponible en:

https://electronilab.co/tienda/quadcopter-sk450-turnigy-radio-control-mode-2/.