Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INGENIERO MECATRÓNICO
TRUJILLO – PERÚ
2019
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
[ii]
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
Agradecimientos
Quiero agradecer en primer lugar a Dios por haberme dado sabiduría, fortaleza, salud y sobre todo
haberme permitido continuar en todo momento firme y llegar a la meta en este proyecto.
A mi familia por su paciencia, aliento y apoyo constante, sin sus enseñanzas y consejos no habría sido
posible cumplir mis objetivos y llegar a ser la persona que soy.
A mis asesores y profesores que me brindaron las herramientas y conocimientos que me guiaron en el
desarrollo de este proyecto.
El Autor.
[iii]
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
Resumen
La principal motivación del desarrollo de este trabajo es debido al auge tecnológico que
existe actualmente a nivel mundial en esta área de la robótica y en la cual se busca implementar
mediante una metodología de diseño una aeronave no tripulada de bajo costo capaz de realizar
capturas de imágenes aéreas y que servirá de plataforma base para futuros proyectos para las
diferentes áreas de aplicación que mejoraran el desarrollo tecnológico de la región.
[iv]
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
Abstract
The present work consists of the design and construction of a quadcopter prototype for
aerial image applications; This type of unmanned aircraft can be used in different applications
of videos and aerial photographs, monitoring and surveillance of perimeter security, search and
rescue support in inaccessible areas, monitoring of agricultural areas, monitoring of routes and
roads, early warning and control of fires, among many more. It is required that the quadcopter
can stay in flight for at least 15 minutes and, through a control system, remain stable in the air
and in the position required for the capture of images.
The main motivation for the development of this work is due to the technological boom
that currently exists worldwide in this area of robotics and which seeks to implement a low-cost
unmanned aerial vehicle capable of capturing images through a design methodology, this will
serve as a base platform for future projects for the different areas of application that will improve
the technological development of the region.
For the development of this research project, a model of the base structure for the assembly
for all the other components was proposed, for which a light and resistant material was selected
for a basic structure of quadcopter. For the design of the electronic system, a flight controller
card was selected with the technical characteristics capable of controlling the sensors and motors
of the quadcopter and a basic control system based on PID that is responsible for keeping it
stable in flight in a certain position. Finally, a wireless communication system was developed
between a user interface and the quadcopter, which serves to send the flight coordinates and to
receive the real-time images taken by the quadcopter.
[v]
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
Índice General
Dedicatoria................................................................................................................................................ ii
Agradecimientos ...................................................................................................................................... iii
Resumen ................................................................................................................................................. iv
Abstract..................................................................................................................................................... v
Índice General.......................................................................................................................................... vi
Índice de Figuras ..................................................................................................................................... ix
Índice de Tablas....................................................................................................................................... xi
Capítulo I
1. Introducción ..................................................................................................................................... 12
1.1. Descripción de la realidad problemática ..................................................................................... 12
1.2. Antecedentes del problema ........................................................................................................ 15
1.2.1. Internacionales.................................................................................................................... 15
1.2.2. Nacionales .......................................................................................................................... 16
1.3. Marco referencial ........................................................................................................................ 17
1.3.1. Marco teórico ...................................................................................................................... 17
1.3.1.1. Vehículos aéreos no tripulados ....................................................................................... 17
1.3.1.2. Clasificación de los UAV ................................................................................................. 18
1.3.1.3. Aplicaciones de los UAV ................................................................................................. 20
1.3.1.4. Cuadricóptero ................................................................................................................. 21
1.3.1.5. Materiales para estructura de cuadricóptero ................................................................... 22
1.3.1.6. Motores ........................................................................................................................... 26
1.3.1.7. Hélices ............................................................................................................................ 26
1.3.1.8. Baterías........................................................................................................................... 28
1.3.1.9. Controlador de vuelo ....................................................................................................... 29
1.3.1.10. Controlador de velocidad ................................................................................................ 30
1.4. Enunciado y formulación del problema ....................................................................................... 31
1.4.1. Enunciado del problema ..................................................................................................... 31
1.4.2. Formulación del problema................................................................................................... 31
1.5. Justificación del problema ........................................................................................................... 32
[vi]
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
[vii]
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
[viii]
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
Índice de Figuras
[ix]
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
[x]
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
Índice de Tablas
[xi]
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
12
CAPÍTULO I
1. Introducción
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
13
en lugares cerrados, ya que si el UAV tiene que realizar una misión de reconocimiento no tiene
sentido que previamente se hayan colocado cámaras para saber la posición del vehículo.
El uso de UAV pequeños denominados drones, ha prosperado en la última década, y se
emplean concretamente para monitorear una variedad de actividades. En la actualidad existe
una inmensa cantidad de estos instrumentos disponibles a distintos costos, algunas de las
plataformas más económicas utilizadas para controlar las condiciones ambientales incluyen
dirigibles, globos y los pequeños UAV, también conocidos como drones.
Adicionalmente a la variedad de plataformas disponibles, hay una diversidad de sensores
empleados para la captura de información e imágenes que incluyen cámaras fotográficas,
cámaras digitales (no métricas) e incluso cámaras digitales modificadas con una banda de
infrarrojo cercano. También se han desarrollado cámaras específicas para el UAV como la
cámara multiespectral ADC y la cámara de mapeo MCA. Para obtener imágenes a fin de realizar
georreferenciación o generar mosaicos más detallados o para obtener imágenes de puntos
predefinidos, se necesitan los datos del GPS del UAV y una estación de control terrestre con un
sistema de planes de vuelo. De esta forma, las imágenes capturadas pueden transmitirse (bajarse)
a la estación terrestre o pueden almacenarse en la memoria del sensor de la unidad hasta que el
UAV aterrice. También existen componentes de control de vuelo y navegación para las
generaciones más nuevas de UAV. El componente de navegación se utiliza para controlar la
ruta de vuelo del UAV y también para controlar o corregir en tiempo real el estado de vuelo
(posición y orientación) de la plataforma. El componente de vuelo se emplea para mantener la
estabilidad de la plataforma, a fin de garantizar que la posición de esta sea la óptima para la
obtención de las imágenes.
Tanto si se trata de evitar obstáculos, como recoger y entregar objetos, o realizar mejores
despegues y aterrizajes en superficies difíciles, se espera que las soluciones con UAV en el
futuro puedan conducir al despliegue de drones en entornos urbanos complejos en los que llevar
a cabo una amplia gama de misiones diferentes, desde vigilancia militar y tareas de búsqueda y
rescate, hasta servir de teléfonos volantes con cámara o ejercer de repartidores fiables de
paquetes. Para ello, los drones necesitan un control de vuelo exquisito.
Los primeros drones pequeños ya han sido usados en operaciones de búsqueda y rescate
para investigar zonas difíciles de alcanzar o peligrosas, como la de Fukushima en Japón. Con
los últimos avances en esta tecnología se cree que las misiones de esta clase podrían ser más
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
14
eficientes aun si los UAV fueran capaces de trabajar en equipo, y se vienen desarrollando
algoritmos que permitan que un número determinado de drones vuelen juntos como una bandada
de pájaros. Si bien este movimiento colecto o lo que se llama trabajo cooperativo de drones
podría ser útil cuando se tengan que hacer tareas de búsqueda en grandes extensiones de terreno,
un grupo de investigadores de la Universidad de Harvard en Estados Unidos ha desarrollado un
dron de tamaño milimétrico con vistas a utilizarlo para explorar espacios en los que apenas hay
sitio de para moverse.
El desarrollo de la tecnología ha impactado en la mayoría de los sectores productivos, lo
que a su vez ha traído nuevas alternativas para mejora de procesos y tareas productivas que
durante un tiempo permanecieron en espera de esta evaluación o mejora. El uso de máquinas
continuamente se robotiza, y el hombre las utiliza para monitorear, supervisar y controlar
procesos productivos, en campos que involucran toma de decisiones e inteligencia artificial. Los
robots no solo han invadido las labores asociadas a las tareas del hombre a nivel terrestre, sino
que ha sido posible hacer nuevos avances en la parte aérea apoyada en la inteligencia artificial
para planear, navegar y evadir obstáculos de una forma segura y confiable.
Las actividades agrícolas demandan información relacionada con su planeación,
administración, gestión y evaluación, para aplicar los insumos de manera óptima, usar los
recursos de manera racional, y realizar ajustes en las políticas públicas. Por ejemplo, la
estimación de la superficie sembrada, siniestrada, regada y cosechada en un ciclo agrícola es un
dato de suma importancia para la planificación y distribución de los recursos hídricos y
económicos destinados a la agricultura.
A partir de los 80s, con la puesta en órbita de satélites, se ha facilitado el monitoreo de la
superficie terrestre con la incorporación de tecnologías de sensores remotos, que ha mejorado
los métodos para análisis, procesamiento y despliegue de información espacial de las variables
de interés agrícola. Sin embargo, ante la demanda de información detallada, los satélites tienen
la limitante de suministrar información.
Los métodos que utilizan datos de sensores remotos proveniente de satélites se han utilizado
con éxito en otros países como Brasil, Estados Unidos, Argentina y Canadá para estimar la
superficie agrícola y a pesar de que dependen de los datos obtenidos en campo para su
validación, han demostrado ser más precisos y confiables.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
15
Ante estas limitaciones, el uso de vehículos aéreos no tripulados equipados con sensores
multifuncionales pequeños, complementados con sistemas de navegación autónoma, es una
alternativa viable de bajo costo para monitorear zonas agrícolas. El uso de UAV facilita el
monitoreo frecuente de parámetros de cultivos que actualmente tiene restricciones a través de
sensores satélites.
Un dron o vehículo aéreo no tripulado, es sin duda una herramienta que tiene una gran
cantidad de aplicaciones, por eso debido a la diversidad de usos que estos equipos móviles
presentan. De acuerdo con el sector donde se usa o aplica, puede recibir distintos nombres. Para
uso civil, ya sea como esparcimiento o para una actividad científica es muy común llamarlo
simplemente vehículo aéreo no tripulado.
Aunque los UAV nacieron principalmente para aplicaciones militares, actualmente son
utilizados en una diversidad de aplicaciones civiles para obtener productos cartográficos de
pequeña escala, y de ahí se desprende un amplio rango de productos y aplicaciones de
adquisición remota de imágenes y videos. Las aplicaciones en agricultura también son diversas,
y las necesidades actuales perfilan esta herramienta con gran potencial para actividades de
planeación, monitoreo y control, tales como labores de lucha contra incendios o seguridad civil,
vigilancia de infraestructura, etc.
Actualmente la ciencia y tecnología presenta actividades de riesgo, en los cuales los
vehículos aéreos no tripulados suelen ser preferidos para misiones que son demasiado peligrosas
y costosas para los aviones tripulados.
1.2.1. Internacionales
José Etxeberria en 2015 sustentó en la Universidad Pública de Navarra – España la tesis
titulada “Implementación de un dron cuadricóptero con arduino”. Llegó a las siguientes
conclusiones:
- Se diseñó un sistema completo de un cuadricóptero utilizando un controlador PID para
la estabilización del vuelo.
- Se implementó una comunicación inalámbrica con el dron utilizando el sistema XBee.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
16
1.2.2. Nacionales
José Alvarado en 2015 sustento en la Universidad Católica del Perú la tesis titulada
"Diseño de un móvil escalador de paredes laterales y superiores para inspección en trabajos
de construcción civil". Llegó a las siguientes conclusiones:
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
17
- El móvil fue diseñado para enviarlo a lugares poco accesibles, como esquinas internas
en un ambiente de construcción civil, con el fin de realizar trabajos de inspección en
dichas zonas.
- El sistema de retroalimentación de posición permite al móvil conocer su ubicación en
tiempo real y le permite tomar decisiones sincronizadas para su correcto movimiento.
Edwards Quijano, Christian Belleza, José Rodríguez, Jimmy Corzo, Luis Coarquira y
Diego Rey en 2015 realizaron un proyecto en la Universidad Nacional de Ingeniería titulado
"Diseño y construcción de un vehículo aéreo no tripulado". Llegaron a las siguientes
conclusiones:
- Se demostró con el proyecto la factibilidad de la construcción de un vehículo aéreo no
tripulado utilizando herramientas y materiales disponibles en el mercado local peruano
logrando así con éxito su construcción.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
18
Además de presentar algunas ventajas como son menor coste que las aeronaves
tripuladas, no se arriesgan vidas, capacidad de incorporar muchos sensores y la posibilidad de
acceder a sitios peligrosos o de difícil acceso.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
19
Tabla 1
Clasificación de los UAV
Categoría Acrónimo Alcance (km) Altitud (m) Autonomía (h) Carga máx. (kg)
Micro <250g Micro <10 250 1 <5
Mini <25kg Mini <10 150-300 <2 <30
Alcance cercano CR 10-30 3000 2-4 150
Alcance corto SR 30-70 3000 3-6 200
Alcance medio MR 70-200 5000 6-10 1250
Altitud baja LADP >250 50-9000 0.5-1 350
Autonomía media MRE >500 8000 10-18 1250
Autonomía LALE >500 3000 >24 >30
alta/Altitud baja
Autonomía MALE >500 14000 24-48 1500
alta/Altitud media
Autonomía HALE >2000 20000 24-48 12000
alta/Altitud alta
Combate UCAV 1500 10000 2 10000
Ofensivo LETH 300 4000 3-4 250
Señuelo DEC 500 5000 <4 250
Estratosférico STRATO >2000 20-30K >48 ND
Exo-estratosférico EXO ND >30000 ND ND
Fuente: Víctor R., 2014.
Helicópteros, Una morfología mundialmente conocida, con un rotor en la parte superior y uno
de cola para compensar el par del rotor que lo haría girar sin dar vueltas. Tiene una alta maniobrabilidad
y puede quedarse en vuelo estacionario y volar verticalmente.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
20
En la actualidad hay gran diversidad de aplicaciones que utilizan los UAV debido a su
gran versatilidad y uso, a continuación, se presentan algunas de las más comunes:
Misiones militares, existe una gran diferencia a nivel económico entre el ámbito
militar y el civil. En la anterior tabla hemos podido observar el gran número de tipos de UAV
que discurren en el ámbito militar. En espionaje los UAV son bastantes utilizados, desde los
más pequeños (difícil de detectar por los radares) hasta los más grandes. Una de las grandes
características a destacar a la hora de utilizar los UAV en misiones militares es que no
arriesgamos vidas humanas y lo único que podemos perder es todo el sistema UAV.
Supervisión, una de las capacidades más valoradas es la gran maniobrabilidad que
presentan algunos sistemas UAV como puede ser los Cuadricópteros. Esto puede ser utilizado
para la inspección de obras civiles como grandes puentes, edificios o estructuras de gran
envergadura. Estos vehículos pueden ir dotados de cámaras de video y ayudar a la supervisión
de la obra desde diferentes puntos sin poner en riesgo las vidas humanas y reduciendo el tiempo
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
21
de ejecución ya que no hay que montar ninguna estructura externa para poder acceder al sitio
en concreto.
Fotografía aérea, la fotografía aérea o adquisición de datos aéreos es un área
importante ya que podemos extraer bastante información del terreno. En este aspecto podemos
utilizar tanto los vehículos más pequeños hasta los más grandes, ya que según la altitud en la
que deseemos hacer las fotografías elegiremos uno u otro.
Vigilancia, los equipos de seguridad tanto privados como los policiales pueden utilizar
estos sistemas para la vigilancia de una zona en concreto o de soporte en alguna tarea específica.
Reconocimiento de desastres, al ser vehículos no tripulados, pueden servir para el
reconocimiento inicial de desastres tales como explosiones nucleares o reconocimiento en lo
que se pondría en peligro la integridad de los pilotos.
Los UAV son eficaces para aplicaciones donde sea necesario el sensado de parámetros
y adquisición de datos, fundamentalmente en lugares de difícil acceso y sin poner en peligro
ninguna vida humana.
1.3.1.4. Cuadricóptero
Un cuadricóptero se puede definir como una aeronave que se eleva y se desplaza por
el movimiento de cuatro motores colocados en los extremos de una estructura en forma de cruz.
Normalmente se utilizan los nombres quadrotor o cuadrirrotor. Tal como se presenta en la figura
3, el vehículo dispone de 4 motores con sus palas respectivas, se utiliza la velocidad de los
motores para controlar la estabilidad y movimientos del vehículo aéreo.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
22
Fibra de carbono, de acuerdo con (Fibra de carbono, s.f) es una fibra sintética
constituida por finos filamentos de 5–10 μm de diámetro y compuesto principalmente por
carbono. Cada fibra de carbono es la unión de miles de filamentos de carbono. Se trata de una
fibra sintética porque se fabrica a partir del poliacrilonitrilo. Tiene propiedades mecánicas
similares al acero y es tan ligera como la madera o el plástico. Por su dureza tiene mayor
resistencia al impacto que el acero. La densidad de la fibra de carbono es de 1.750 kg/m3. Es
conductor eléctrico y de baja conductividad térmica. Al calentarse, un filamento de carbono se
hace más grueso y corto. Las propiedades principales de este material son:
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
23
Fibra de vidrio, de la referencia (Fibra de vidrio, s.f) se define como un material que
consta de numerosos filamentos poliméricos basados en dióxido de silicio (SiO2)
extremadamente finos. La fibra de vidrio se conoce comúnmente como un material aislante.
También se usa como un agente de refuerzo con muchos productos poliméricos; normalmente
se usa para conformar plástico reforzado con vidrio que por metonimia también se denomina
fibra de vidrio, una forma de material compuesto consistente en polímero reforzado con fibra.
Por lo mismo, en esencia exhibe comportamientos similares a otros compuestos hechos de fibra
y polímero como la fibra de carbono. Aunque no sea tan fuerte o rígida como la fibra de carbono,
es mucho más económica y menos quebradiza.
Los tipos de fibra de vidrio usados más comúnmente son, las de vidrio clase E (E-glass:
vidrio de alumino-borosilicato con menos de 1% peso de óxidos alcalinos, principalmente
usada, para Plástico reforzado con vidrio, pero también se usan las clases A (A-glass: vidrio
alcali-cal con pocos o ningún óxido de boro), clase E-CR (E-CR glass: de silicato álcali-cal con
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
24
menos de 1% peso/peso de óxidos alcalinos, con alta resistencia a los ácidos), clase C (C-glass:
vidrio álcali-cal con alto contenido de óxido de boro, usadas por ejemplo en fibras de vidrio con
filamentos cortos), clase D (D-glass: vidrio de borosilicato con una constante dieléctrica alta),
clase R (R-glass: vidrio de alumino silicatos sin MgO ni CaO con altas prestaciones mecánicas)
y la clase S (S-glass: vidrio de alumino silicatos sin CaO pero con alto contenido de MgO con
alta resistencia a la tracción).
Una de las propiedades de la fibra de vidrio es ser un buen aislante acústico, gracias a
la composición de la resina y la dirección que tienen las fibras cuando se forma el material
compuesto. Las fibras de vidrio son buenos aislantes térmicos debido a su alto índice de área
superficial en relación con el peso. Sin embargo, un área superficial incrementada la hace mucho
más vulnerable al ataque químico. En la siguiente tabla se puede observar la resistencia de dos
tipos de fibra de vidrio:
Tabla 2
Propiedades de la fibra vidrio
Tipo de Fibra Tensión Esfuerzo de Densidad Dilatación T de Precio
de rotura Compresión (g/cm3) térmica ablandamiento dólar/kg
(MPa) (MPa) µm/(m°C) (°C)
Vidrio clase E 3445 1080 2,58 5,4 846 ~2
Vidrio clase S-2 4890 1600 2,46 2,9 1056 ~20
Fuente: Fibra de vidrio, s.f
Aluminio, este material es un metal que posee una combinación de propiedades que lo
hacen muy útil en ingeniería (Aluminio, s.f), tales como su baja densidad (2812,5 kg/m³) y su
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
25
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
26
1.3.1.6. Motores
Para la selección de los motores se tuvieron en cuenta los dos tipos de motores
eléctricos (sin escobillas y con escobillas), las ventajas del motor brushless (sin escobillas) es
que presenta una mejor relación entre torque y peso, son más eficientes y tienen un tiempo de
vida más largo ya que no necesitan mantenimiento, pero su desventaja es que requieren un
control más complejo por lo que suelen controlarse con controladores de velocidad (ECS).
Los motores brushless a su vez se clasifican en inrunner y outrunner, siendo estos
últimos utilizados en aplicaciones en donde se requiere un elevado torque sin necesidad de
diseñar una caja de engranajes. La desventaja de los outrunner es su menor eficiencia en
comparación con los inrunner, pero no menor que la de los motores con escobillas, además de
su menor capacidad de disipación de calor.
1.3.1.7. Hélices
Las hélices son generalmente especificadas usando dos tipos de formatos de números
en pulgadas separados por una x que representan la longitud de la hélice, el pitch y el número
de aspas es decir como Longitud(pulgadas) x Pitch(pulgadas) x Numero de aspas. Por ejemplo,
una hélice de 3 aspas que tiene una longitud de 10 pulgadas y un pitch de 4.5 pulgadas se puede
especificar como 10x4.5x3 o 1045x3. Si no se especifica el número de aspas por defecto se
considera que tiene 2 aspas.
La longitud de la hélice es mayormente limitada por el tamaño de la estructura del
cuadricóptero, está directamente relacionada con el empuje y la sensibilidad de control. Una
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
27
hélice larga barre una masa de aire mucho mayor por lo que requiere más energía para hacerla
girar, responderá más lentamente a cambios de giro en el motor y consumirá más potencia, sin
embargo, por tener más área de contacto generara un empuje elevado. Por el contrario, una
hélice más corta responderá más rápido a cambios de velocidad y consumirá menos potencia.
La longitud de la hélice tiene que estar correlacionada con el motor que se usara, ya que por
ejemplo si se usa una hélice más pequeña en un motor que está diseñado para una hélice más
grande, este tendrá que girar mucho más rápido para compensar el empuje y puede llegar a
sobrecalentarse y dañarse.
El pitch o paso de la hélice está relacionado con el ángulo de cada aspa, idealmente
seria la distancia hacia adelante que la hélice se movería por cada vuelta completa. Una hélice
con un pitch grande generara un empuje mayor cuando la hélice este girando a altas velocidades,
pero menor a bajas velocidades. Este tipo de hélice tendrá un menor tiempo de respuesta,
consumirá más potencia y será eficiente solo cuando el cuadricóptero se mueva rápidamente.
Por el contrario, un pitch pequeño permitirá que el cuadricóptero responda fácilmente a cambios
rápidos de dirección y consumirá menos potencia. Generalmente las hélices con pitch grande
son usadas en cuadricópteros que operaran en grandes áreas o campos abiertos y con pitch
pequeño en áreas cerradas donde se requiere que el cuadricóptero responda rápidamente a
cambios rápidos de dirección.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
28
1.3.1.8. Baterías
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
29
que la batería permita almacenar una gran cantidad de energía suficiente para lograr mantener
al cuadricóptero en vuelo el tiempo necesario para lograr su recorrido, sin que se llegue a
descargar completamente, permitiendo así la autonomía de vuelo del cuadricóptero. Además, se
requiere que el peso de la batería sea lo más bajo posible para que no añada más carga al peso
del cuadricóptero y por tanto disminuya a su vez el tiempo que puede permanecer en vuelo el
cuadricóptero. Cabe indicar que la batería debe ser portable y recargable para poder usarla varias
veces.
En la actualidad existen diversos tipos de baterías que están clasificados de acuerdo
con el compuesto químico principal con el que se componen y su uso en diferentes tipos de
aplicaciones. Las baterías de ion de litio (Li-ion) son popularmente las más usadas en la
actualidad en componentes electrónicos portables como celulares, ordenadores portátiles,
herramientas eléctricas, vehículos eléctricos y hasta en aplicaciones aeroespaciales. Este es un
tipo de batería recargable que presenta una alta capacidad energética, resistencia a la descarga
y bajo peso. Sin embargo, si son manipuladas incorrectamente pueden representar un peligro,
ya que contienen un electrolito inflamable que puede explotar o incendiarse.
Las baterías de ion de litio debido a su extendido uso en diferentes aplicaciones en el
mercado se pueden encontrar diferentes tipos que tienen propiedades y usos diferentes
dependiendo del área de aplicación donde se quieren usar. El tipo más usado en los vehículos
aéreos no tripulados son las baterías de polímero de ion de litio (comúnmente abreviada como
polímero de litio o LiPo), a diferencia de las baterías de litio normales que usan un electrolito
líquido, estas usan un electrolito de polímero el cual es semisólido o gel y permite empaquetar
las celdas con un material mucho más liviano que las que usan electrolito líquido y requieren
una carcasa para almacenar el líquido, por lo que las LiPo son mucho más livianas. Sin embargo,
las de electrolito liquido por estar contenidas en carcasas son relativamente más seguras y se
usan generalmente en celulares u ordenadores portátiles, por el contrario, las baterías LiPo
requieren un mayor cuidado con su manipulación ya que pueden deformarse y son más
inflamables.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
30
Los controladores de velocidad o ESC (del inglés electronic speed control), son
circuitos electrónicos que se encargan de controlar la velocidad de los motores brushless. Como
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
31
Debido a todas las ventajas que ofrecen los cuadricópteros y que se vienen desarrollando
en los últimos años. Las aplicaciones civiles a las que son destinados estos drones van
aumentando con rapidez, permitiendo su introducción en las actividades de investigación,
planeación, monitoreo y control, tal es el caso del reconocimiento, adquisición de imágenes y
video de áreas inaccesibles o difíciles de explorar por el ser humano.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
32
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
33
1.6. Hipótesis
Mediante el modelado del cuadricóptero, el modelo cinemático, dinámico, selección de
componentes y simulación del sistema de control con el software Matlab, permitirá obtener las
características de diseño y construcción del prototipo de cuadricóptero para aplicaciones de
adquisición de imágenes aéreas.
1.7. Objetivos
1. Realizar el diseño conceptual del cuadricóptero, estableciendo los modos de vuelo que
realizara y los parámetros iniciales del diseño.
2. Determinar el modelo cinemático y dinámico del cuadricóptero y establecer un
modelo matemático simplificado que nos permite diseñar un controlador PID lineal.
3. Diseñar, seleccionar y realizar el montaje de la estructura, componentes electrónicos
y software que se utilizaran para la construcción del prototipo.
4. Modelar y simular en Matlab el sistema de control PID.
5. Realizar pruebas y analizar los resultados obtenidos.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
34
CAPÍTULO II
2. Materiales y Métodos
2.2. Variables
Tabla 3
Variables dependientes del cuadricóptero
Variables Medición Rango
Longitud entre ejes mm < 500
Altura mm < 300
Peso de la estructura g 500 – 1000
Peso de la carga g 500 – 1000
Autonomía de vuelo minutos ≈ 15
Cámara Calidad imagen 1080p
Alcance m < 100
Fuente: Elaboración propia
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
35
2.3.1. Población
El universo de esta investigación son todos los cuadricópteros utilizados para tareas de
adquisición de imágenes aéreas.
2.3.2. Muestra
La muestra de esta investigación son todos los cuadricópteros con control PID utilizados
para tareas de adquisición de imágenes aéreas.
2.4. Metodología
La metodología de la presente tesis sigue los siguientes pasos:
- Planteamiento del problema.
- Revisión bibliográfica.
- Establecer un diseño conceptual y requerimientos iniciales de diseño del cuadricóptero
para satisfacer los requerimientos del problema.
- Desarrollar un modelo matemático simplificado del cuadricóptero que permita una
fácil implementación de un controlador PID lineal.
- Realizar el diseño y selección de la estructura, componentes electrónicos y software
del cuadricóptero.
- Modelar y simular el sistema de control PID del cuadricóptero y verificar la
factibilidad de su implementación.
- Realizar el montaje, configuración y ajustes de los componentes.
- Probar el cuadricóptero en campo para realizar ajustes finales y verificar su correcto
funcionamiento.
- Análisis de resultados.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
36
Planteamiento del
problema
Revision bibliográfica
Diseño conceptual y
parametros iniciales
Modelo matemático
simplificado
Diseño y seleccion de
componentes
Modelar y simular
controlador PID
Montaje,
configuracion y ajustes
Pruebas en campo
Resultados
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
37
CAPÍTULO III
3. Resultados
Tabla 4
Comparación de los tipos de vehículos aéreos no tripulados
Tipo Maniobrabilidad Vuelo estacionario Velocidad Carga Costo
Helicópteros Buena Si Media Baja Medio
Aviones Baja No Alta Alta Alto
Dirigibles Media Si Baja Baja Alto
Multicópteros Buena Si Media Media Bajo
Fuente: elaboración propia
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
38
Dentro de los tipos de multicópteros estos se clasifican a su vez según el número de rotores
o motores, ya que a más motores estos presentan más estabilidad de vuelo y más capacidad de
carga. Para el desarrollo del proyecto se eligió el tipo cuadricóptero ya que este logra un
equilibrio entre costo y estabilidad.
El diseño básico de cuadricóptero se basa en una estructura central con cuatro brazos
fijos que se encuentran simétricos correspondiente al centro de gravedad, los cuatro motores se
ubican al final de cada brazo, de acuerdo con la velocidad de giro de los motores y debido a la
aerodinámica de fricción de las hélices que se encuentran acopladas en cada motor estos
generaran una fuerza o empuje de sustentación que se encargara de elevar y controlar los
movimientos del cuadricóptero.
En la estructura central se encuentra los componentes electrónicos como el controlador
de vuelo, el sensor inercial, barómetro, magnetómetro y gps que se encargaran de establecer la
posición en tiempo real del cuadricóptero. Además, los receptores y transmisores de
radiofrecuencia para el control manual y los controladores de velocidad de los motores.
En la parte inferior se ubica el tren de aterrizaje del cuadricóptero que servirá para
mantenerlo estable durante el despegue y el aterrizaje y como carga la cámara que se encargará
de realizar la adquisición de imágenes y la batería. En la figura 11 se muestra un ejemplo de un
cuadricóptero comercial que se tomó como referencia en la realización del proyecto.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
39
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
40
Una vez establecido el tipo y las funcionalidades que requiere el cuadricóptero para el
desarrollo del presente proyecto. Se plantean los siguientes parámetros iniciales de diseño que
nos servirán para el modelamiento y selección de los componentes del cuadricóptero.
Tabla 5
Parámetros iniciales de diseño
Variable Valor
Longitud ≤ 500mm
Altura ≤ 300mm
Peso de la estructura 500 – 1000g
Peso de la carga 500 – 1000g
Autonomía de vuelo ≈15m
Cámara Compacta, ligera y alta definición
Alcance 100m
Fuente: Elaboración propia
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
41
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
42
Las variables de estado se muestran en la siguiente figura 13. La posición (𝑝𝑛 , 𝑝𝑒 , ℎ) del
cuadricóptero esta dado en el sistema de referencia inercial, con una altura positiva definida
sobre el eje negativo Z en el sistema de referencia inercial. La velocidad (𝑢, 𝑣, 𝑤) y la velocidad
angular (𝑝, 𝑞, 𝑟) del cuadricóptero están dadas con respecto al sistema de referencia del cuerpo.
Los ángulos de Euler (𝑟𝑜𝑙𝑙 𝜙, 𝑝𝑖𝑡𝑐ℎ 𝜃 𝑦 𝑦𝑎𝑤 𝜓) están dados con respecto al sistema de
referencia local.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
43
Tenemos que:
(3.1)
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
44
(3.2)
𝑑
Donde 𝑚 es la masa del cuadricóptero, f es la fuerza total aplicada al cuadricóptero y 𝑑𝑡
𝑖
(3.3)
inercial. Expresando la ecuación 3.3 en el sistema referencia del cuerpo, donde 𝑣 𝑏 = (𝑢, 𝑣, 𝑤)𝑇
y 𝑤𝑏𝑏 = (𝑝, 𝑞, 𝑟)𝑇 . Por lo que, en sistema referencia cuerpo la ecuación 3.3 se puede expresar
𝑖
como:
(3.4)
𝑇
Donde f 𝑏 = (𝑓𝑥 , 𝑓𝑦 , 𝑓𝑧 ) . Para el movimiento rotacional, la segunda ley Newton define:
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
45
(3.5)
𝑏
La ecuación 3.5 se puede expresar en el sistema de referencia cuerpo donde h𝑏 = J𝑤𝑏/𝑖
y donde J es la matriz inercial constante dada por:
Los momentos de inercia son calculados asumiendo que el cuadricóptero está compuesto
por un centro esférico denso con masa M y radio R, y puntos de masa m ubicados a una distancia
ℓ del centro. En la figura 14, se establece el modelo de solido rígido para el cuadricóptero y el
cual se representa simétrico en los 3 ejes de coordenadas, por lo que 𝐽𝑥𝑦 = 𝐽𝑥𝑧 = 𝐽𝑦𝑧 = 0 lo cual
implica que:
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
46
Por lo que:
(3.6)
(3.7)
(3.8)
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
47
(3.9)
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
48
En la figura 16 la fuerza total de los cuatro motores que actúa en el cuadricóptero está
dada por:
(3.10)
(3.11)
De igual manera, el torque pitch es generado por las fuerzas de los motores frontal y
posterior:
(3.12)
Por la tercera ley de Newton, el giro de los motores produce un torque yaw. La dirección
del torque será en dirección opuesta del movimiento de las hélices, por lo que el torque total
esta dado por:
(3.13)
(3.14)
Donde 𝑘1 y 𝑘2 son constantes, 𝛿∗ es la señal de control de cada motor. Por otro lado,
además de la fuerza generada por los motores, la gravedad también actúa en el cuadricóptero.
En el sistema de referencia local, la gravedad actúa en el centro de masa y está dada por:
Por lo tanto, considerando las fuerzas y momentos tenemos que las ecuaciones 3.6 a 3.9
se expresan como:
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
49
(3.15)
(3.16)
(3.17)
(3.18)
Las ecuaciones 3.15 a 3.18 representan el modelo matemático de seis grados de libertad
del cuadricóptero, sim embargo no son apropiadas para el diseño de un controlador lineal porque
depende de parámetros no lineales. Por lo que, se toman las siguientes consideraciones para
simplificar las ecuaciones.
Asumiendo que los ángulos pitch 𝜃 y roll 𝜙 son pequeños, ya que el controlador se
encargará de mantener estable el cuadricóptero y compensará cualquier variación externa, la
ecuación 3.17 se puede simplificar como:
(3.19)
Similarmente la ecuación 3.18 puede ser simplificada asumiendo que los términos de las
ecuaciones de Coriolis 𝑞𝑟, 𝑝𝑟 y 𝑝𝑞 son pequeños obteniendo así la ecuación:
(3.20)
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
50
(3.21)
(3.22)
Por lo tanto, el modelo inercial simplificado del cuadricóptero es dado por las siguientes
ecuaciones:
(3.23)
(3.24)
(3.25)
(3.26)
(3.27)
(3.28)
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
51
Tabla 6
Comparación entre materiales
Material Densidad Resistencia Costo
Fibra carbono Baja Alta Alto
Fibra vidrio Media Alta Bajo
Aluminio Alta Baja Bajo
PLA Baja Baja Alto
Fuente: Elaboración Propia
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
52
Tabla 7
Comparativa entre las ventajas y desventajas
Opción Herramientas y equipos Diseño Tiempo Costo
Manufactura Se requieren equipos A la medida Considerable Medio
para realizar el molde
Estructura No se requiere Fijo Bajo Bajo
comercial
Fuente: Elaboración propia
Teniendo en cuenta las ventajas y desventajas de ambas opciones, se optó por elegir una
estructura comercial de bajo costo que cumple con los requerimientos que se necesita para
desarrollar el proyecto. En la siguiente figura 17, se puede observar la estructura que se eligió,
ya que es usada en aplicaciones con cámaras aéreas.
Este tipo de estructura está compuesta por cuatro brazos de fibra de vidrio, un centro de
PCB, donde se pueden soldar los circuitos electrónicos y un tren de aterrizaje de dos varillas de
fibra de carbono y almohadillas para amortiguación. En la siguiente tabla 8 se muestran las
características principales.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
53
Tabla 8
Características de la estructura
Característica Valor
Distancia ejes 480mm
Altura 280mm
Peso 730g
Material brazos Fibra vidrio
Material tren aterrizaje Fibra carbono
Fuente: Kit estructura de cuadricóptero S500, s.f
Para la construcción del cuadricóptero se requiere un motor que sea liviano y sea
eficiente en el consumo de energía para lograr mantener al cuadricóptero en vuelo el máximo
tiempo posible, ya que será alimentado por una batería portable que limitara su tiempo de
operación. Además, que los motores deben proporcionar un elevado torque y sean fácilmente
montados en los brazos de la estructura del cuadricóptero. Para determinar el motor que se
requiere en el presente proyecto, se tomó como referencia la siguiente tabla, usada generalmente
para seleccionar y estimar el tamaño del motor.
Tabla 9
Selección del tamaño del motor
Distancia entre ejes Tamaño de la hélice Tamaño del motor KV
150mm o menos 3’’ o menos 1105-1306 o menos 3000KV o mas
180mm 4’’ 1806 2600KV – 3000KV
210mm 5’’ 2204-2208, 2306 2300KV – 2600KV
250mm 6’’ 2204-2208, 2306 2000KV – 2300KV
350mm 7’’ 2208 1600KV
450mm o mas 8’’, 9’’, 10’’ o mas 2212 o mas 1000KV o menos
Fuente: Como elegir el motor de un cuadricóptero, 2018
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
54
que gire a unas RPM diferentes para que pueda generar el empuje eficientemente. Es por ello
por lo que se toma en cuenta los KV del motor.
El siguiente paso, es determinar el empuje mínimo que el motor requiere para cumplir
con las características iniciales de diseño. Para ello se tuvo en cuenta que, por regla general en
el diseño de este tipo de vehículos aéreos no tripulados, la relación entre empuje y peso totales
del cuadricóptero debe ser mínimo 2:1, ya que si es menor no se tendrá un buen control de
movimiento, se pueden presentar problemas de estabilidad en el despegue y no deja margen a
que por ejemplo no se añadan posteriormente cargas adicionales no previstas en el diseño
preliminar del cuadricóptero. Una mayor relación, es utilizada por ejemplo en cuadricópteros
de carrera o aplicaciones que requieren altas velocidades de vuelo.
Para nuestro proyecto, se optó por cumplir como mínimo con la relación 2:1, ya que no se
requiere altas velocidades de vuelo y se diseña para aplicaciones de adquisición de imágenes
aéreas, que son de baja velocidad. Para determinar el empuje que debe tener el motor se
realizaron los siguientes cálculos:
(3.29)
Reemplazando la ecuación 3.29 y teniendo en cuenta que el empuje total es la suma de los
empujes de los 4 motores, tenemos:
(3.30)
En la siguiente tabla 10 se muestran los parámetros que se han definido para poder
determinar y seleccionar el motor que se requiere para el desarrollo del proyecto.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
55
Tabla 10
Parámetros establecidos para seleccionar el motor
Tipo Brushless outrunner
Tamaño 2212 o mas
KV 1000KV o menos
Empuje 500 – 1000g
Fuente: Elaboración propia
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
56
Las hélices son los componentes del cuadricóptero que se acoplan a los ejes de los
motores, se encargan de convertir el movimiento rotacional de los motores en empuje por acción
de las aspas en contacto con el aire para generar un remolino que empuja a las hélices hacia
adelante. El giro de las aspas de la hélice mueve la masa de aire enfrente hacia atrás generando
una gran diferencia de presión que logra empujar a la hélice hacia adelante.
Para la selección de las hélices se tienen en cuenta diferentes aspectos como la longitud,
el pitch, el número de aspas y el material con que se fabrican, este último es un factor importante
porque las hélices son el componente del cuadricóptero que tiende a dañarse más fácilmente y
necesita reemplazarse muy seguido.
Para el presente proyecto se seleccionaron las hélices GEMFAN 1045 de nylon con fibra
de vidrio, para esto se tuvo en cuenta las especificaciones técnicas del motor en donde indica
que unas hélices 1047 generarían aproximadamente una fuerza de empuje máxima entre 910 y
1150 dependiendo del número de celdas de la batería que se eligiera. Se eligió el número más
cercano 1045 por la disponibilidad del producto.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
57
Para seleccionar una batería LiPo se debe tener en cuenta el voltaje, la capacidad y la
tasa de descarga (C-rating). Las baterías LiPo vienen empaquetadas y están compuestas desde
una o más celdas, cada celda está fabricada para tener un voltaje nominal de 3.7V, por lo que si
se requiere que la batería suministre un voltaje mayor se suelen vender paquetes de distintos
tamaños, donde se agrupan varias celdas en serie para aumentar el voltaje total de la batería. Los
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
58
paquetes LiPo se suelen vender en configuraciones de 1S, 2S, 3S, 4S, 5S o 6S, donde el digito
antes de la letra “S” indica el número de celdas.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
59
15
𝐶𝑎𝑝𝑎𝑐𝑖𝑑𝑎𝑑 𝐵𝑎𝑡𝑒𝑟𝑖𝑎 3𝑆 = 24800 × = 6200 𝑚𝐴ℎ
60
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
60
15
𝐶𝑎𝑝𝑎𝑐𝑖𝑑𝑎𝑑 𝐵𝑎𝑡𝑒𝑟𝑖𝑎 4𝑆 = 20800 × = 5200 𝑚𝐴ℎ
60
Habiendo determinado estos parámetros se eligió la batería HRB 3S 6000mAh 50C, ya
que por su disponibilidad, características y precio representaba la mejor opción para la
construcción de nuestro cuadricóptero. Con esta batería se calcula el tiempo de vuelo despejando
la ecuación 3.31 se tiene:
6000 × 60
𝑇𝑖𝑒𝑚𝑝𝑜 𝑣𝑢𝑒𝑙𝑜 = = 14.52 𝑚𝑖𝑛𝑢𝑡𝑜𝑠
24800
La imagen de la batería y sus especificaciones técnicas se muestran a continuación:
Tabla 11
Especificaciones técnicas de la batería HRB 3S
Parámetro Especificación
Celdas 3S
Capacidad 6000 mAh
Tasa descarga continua 50C
Tasa de carga 1C
Dimensiones 155mm x 48mm x 27mm
Peso 419g
Fuente: Batería LiPo 3S, s.f
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
61
Tabla 12
Especificaciones técnicas del ESC Racerstar 20A
Parámetro Especificación
Corriente nominal 20A
Corriente pico 25A
Voltaje 2S-4S
Firmware BLHELI_S
Peso 7.9g
Tamaño 27mm x 12mm
Fuente: Racerstar BLHELI_S, s.f
Los sensores son los componentes que se encargarán de medir las variables de estado
del cuadricóptero, servirán de retroalimentación para el sistema de control de vuelo del
cuadricóptero, esto permitirá que pueda desplazarse autónomamente de acuerdo con los modos
de vuelo que se establecieron en el diseño. Para nuestro proyecto se propone implementar 3
tipos de sensores que nos permitirán medir y estimar las variables de estado del cuadricóptero.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
62
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
63
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
64
edificios y montañas cercanos, errores orbitales, número de satélites visibles, geometría de los
satélites visibles y errores locales en el reloj del sensor. En la siguiente tabla 13 se pueden ver
los efectos de algunas fuentes de errores.
Tabla 13
Fuentes de errores del GPS
Fuente Efecto
Ionósfera ±3m
Efemérides ± 2.5 m
Reloj satelital ±2m
Distorsión multibandas ±1m
Tropósfera ± 0.5 m
Errores numéricos ± 1 m o menos
Fuente: GPS, s.f
Este sensor se usará en nuestro proyecto para poder estimar con mayor exactitud la
posición del cuadricóptero y poder obtener sus coordenadas para poder visualizarlo en un mapa
en la interfaz de usuario. Se seleccionó el módulo GPS Ublox NEO M8N, este módulo viene
con un sensor magnetómetro que permite determinar la ubicación del polo magnético norte y un
soporte que sirve para colocar el módulo a una distancia apartada del circuito principal de
control para que la lectura del campo magnético no sea alterada por ruido generado en el sistema
eléctrico.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
65
Algunas de las características técnicas más importantes del módulo GPS que se seleccionó
para la construcción del cuadricóptero se muestran en la siguiente tabla 14.
Tabla 14
Especificaciones técnicas del módulo GPS UBLOX M8N
Parámetro Especificación
Tipo receptor Módulo u-blox M8 de 72 canales
Soporta GPS/SBAS/QZSS L1 C/A, GLONASS
L10F, BeiDou B1 y Galileo E1B/C
Tiempo arranque frío 29 s
Tiempo arranque operación 1s
Sensibilidad navegación -166 dBm
Frecuencia máx. de muestreo 10 Hz
Precisión velocidad 0.05 m/s
Precisión angular 0.3 grados
Precisión posición horizontal 2.0 m
Fuerza máxima ≤ 4g
Altitud máxima 50000 m
Velocidad máxima 500 m/s
Fuente: NEO-M8 datasheet, s.f
Para nuestro proyecto se seleccionara un controlador de vuelo que soporte Inav, ya que
este nos permite programar y configurar el cuadricóptero para que pueda realizar aplicaciones
que requieren el uso de GPS, medición de las variables de estados del cuadricóptero
(generalmente llamado telemetría) a una interfaz de usuario o estación de control en tierra GCS
(del inglés ground control station) y soporta protocolos de comunicación con el ESC avanzados
que permiten una rápida respuesta de los motores.
Se investigó los diferentes tipos de controladores de vuelo que existen en el mercado y
se optó por elegir el Kakute F4, este controlador soporta Inav y permite ejecutar el algoritmo de
control PID a velocidades de hasta 8 kHz, y diseñado para leer al mismo tiempo todas las señales
seriales que se requiere para comunicar el controlador con los demás componentes. Cuenta con
un microcontrolador STM32F405 de 32bits, un sensor IMU de alta precisión ICM20689 de 6
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
66
ejes con acelerómetros y giroscopios, y el cual puede realizar las lecturas a una frecuencia de
hasta 32 kHz. Este sensor se encuentra montado en la tarjeta sobre una espuma que sirve de
aisladora de vibraciones que pueden generarse en la estructura y afectar las lecturas y con un
sensor barométrico BMP280 que se encargará de medir la altitud del cuadricóptero.
Tabla 15
Especificaciones técnicas del controlador de vuelo Kakute F4
Parámetro Especificación
MCU STM32F405RGT6 de 32 bits
IMU ICM20689 (SPI)
Barómetro BMP280
Serial UART 5 implementados en hardware
Memoria almacenamiento 128 Mbit
Voltaje entrada 7V – 42V
Corriente máxima 120A
Peso 7g
Dimensiones 35mm x 30mm x 8mm
Fuente: Kakute F4 datasheet, s.f
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
67
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
68
y LTM. Para nuestro proyecto que se implementara con Inav, éste usará los protocolos MSP y
LTM.
MSP (MultiWii Serial Protocol) es el protocolo principal que utiliza Inav, una de sus
desventajas para el monitoreo del cuadricóptero en vuelo se dá en que para que se establezca la
comunicación la interfaz de usuario tiene que solicitar la información al cuadricóptero y luego
este responde. Esto no es un problema si se utilizara Bluetooth o wifi, pero con los radios 3DR
o HC-12 la comunicación se realiza por half dúplex es decir en ambos lados los módulos se
comportan como transmisor o receptor pero la comunicación solo se realiza en una sola vía a la
vez. Por este motivo el tiempo que requieren ambos módulos para cambiar entre transmisor a
receptor o viceversa limita la capacidad de monitoreo del cuadricóptero en vuelo. Es por ello,
que este protocolo suele usarse solo para configurar y programar la trayectoria del
cuadricóptero.
LTM (Light Telemetry) es un protocolo unidireccional en donde el cuadricóptero envía
información a la interfaz de usuario sin que este tenga que solicitársela, esto permite que los
módulos de telemetría no pierdan tiempo entre cambiar de transmisor a receptor o viceversa.
Sin embargo, con este protocolo el cuadricóptero solo puede enviar las variables de estado y
otros parámetros de vuelo. Por lo tanto, para la operación del cuadricóptero se usarán ambos
protocolos para las diferentes etapas de operación.
Para nuestro proyecto se optó por elegir un módulo de telemetría 3DR 915 MHz por la
disponibilidad y el precio. En la siguiente figura 31 se pueden ver los módulos y en la tabla 16
sus especificaciones técnicas.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
69
Tabla 16
Especificaciones técnicas del módulo radio 3DR 915 MHz
Parámetro Especificación
Canal de frecuencia 915 MHz
Sensibilidad del receptor -117 dBm
Potencia máxima 100 mW
Interfaz serial UART 3.3V
Corriente transmisor 100 mA a 30 dBm
Corriente receptor 25 mA
Voltaje alimentación 3.7V – 6V
Peso 12g
Dimensiones 51mm x 30mm x 10mm
Fuente: Radio telemetry 3DR, s.f
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
70
Tabla 17
Especificaciones técnicas del radiocontrol Flysky FS-i6X 2.4 GHz y receptor X6B
Transmisor Especificación
Marca Flysky
Canales 6 – 10
Rango de RF 2.408 – 2.475 GHz
Potencia de RF < 20 dBm
Protocolo AFHDS 2A / AFHDS
Longitud de antena 26 mm
Alimentación 6V DC 1.5AA x 4
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
71
Peso 392g
Dimensiones 174mm x 89mm x 190mm
Receptor
Canales 6 (PWM), 8 (PPM), (18 IBUS)
Sensibilidad -95 dBm
Alimentación 4 – 8.4V
Rango >300 m
Peso 4.5g
Dimensiones 36mm x 22mm x 7.5mm
Fuente: Flysky, s.f
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
72
Tabla 18
Especificaciones técnicas de la cámara 4K
Parámetro Especificación
Chipset Sunplus 6350
Sensor OV4689
Video 4K @ 25fps (3840 x 2160p)
Angulo de visión 170 grados
Duración batería 1050 mAh (1 hora)
Wifi Incorporado 802.11 b/g/n
Peso 64g (con batería)
Dimensiones 59.3mm x 24.6mm x 41.1mm
Fuente: Eken, s.f
Por otro lado, están las cámaras FPV (first person view), estas cámaras son comúnmente
usadas en los cuadricópteros para controlarlos manualmente ya que pueden transmitir imágenes
en tiempo real a grandes distancias, pero su desventaja es que la calidad de imagen no es óptima.
Estas cámaras poseen un sensor CCD para capturar la imagen y transmiten las imágenes en
formato NTSC o PAL por un dispositivo transmisor de radio frecuencia. Para nuestro proyecto
se eligió la cámara Eachine 1000TVL, esta cámara cuenta con un sensor CCD con un ángulo de
visión de 110 grados y un lente de 2.8mm. En la siguiente figura 34 se puede ver la cámara
seleccionada y en la tabla 19 sus especificaciones técnicas.
Tabla 19
Especificaciones técnicas de la cámara FPV Eachine 1000TVL
Parámetro Especificación
Resolución 1000TVL
Voltaje alimentación 5 – 20V
Consumo corriente 105 – 27mA
Lux 0.08lux/F1.2
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
73
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
74
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
75
Receptor RC Telemetría
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
76
radiocontrol, la configuración de las baterías, entre otros necesarios para la correcta operación
del cuadricóptero de acuerdo a las necesidades que se requiera.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
77
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
78
𝑌(𝑠)
𝐺(𝑠) = (3.34)
𝑅(𝑠)
En donde:
1
ℎ̈ = −𝑔 + (𝑘 𝛿 + 𝑘1 𝛿𝑟 + 𝑘1 𝛿𝑏 + 𝑘1 𝛿𝑙 ) (3.35)
𝑚 1 𝑓
Donde 𝑘1 es la constante de empuje de los motores y 𝛿∗ son las señales PWM enviadas
por el controlador a cada motor. Despejando la ecuación 3.35 tenemos:
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
(3.36)
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
79
𝑘1 (∑ 𝛿) − 𝑚𝑔
ℎ̈ =
𝑚
ℎ̈ 1
=
𝑘1 (∑ 𝛿) − 𝑚𝑔 𝑚
𝑠 2 𝐻(𝑠) 1
=
𝑈(𝑠) 𝑚
1 (3.37)
𝐺ℎ (𝑠) =
𝑚𝑠 2
La función de transferencia del pitch y roll se calcula utilizando la ecuación 3.26 y 3.27,
reemplazando las ecuaciones 3.11 y 3.12 tenemos que:
1 (3.38)
𝜙̈ = (𝑙𝑘1 𝛿𝑙 − 𝑙𝑘1 𝛿𝑟 )
𝐽𝑥
1 (3.39)
𝜃̈ = (𝑙𝑘1 𝛿𝑓 − 𝑙𝑘1 𝛿𝑏 )
𝐽𝑦
𝜙̈ 𝑙𝑘1 (3.40)
=
Δ𝛿 𝐽𝑥
𝜃̈ 𝑙𝑘1 (3.41)
=
Δ𝛿 𝐽𝑦
𝑙𝑘1 (3.42)
𝐺𝜙 (𝑠) =
𝐽𝑥 𝑠 2
𝑙𝑘1 (3.43)
𝐺𝜃 (𝑠) =
𝐽𝑦 𝑠 2
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
80
1 (3.44)
𝜓̈ = (𝑙𝑘1 𝛿𝑟 + 𝑙𝑘1 𝛿𝑙 − 𝑙𝑘1 𝛿𝑓 − 𝑙𝑘1 𝛿𝑏 )
𝐽𝑧
𝑙𝑘1 (3.45)
𝐺𝜓 (𝑠) =
𝐽𝑧 𝑠 2
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
81
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
82
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
83
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
84
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
85
determinada señal. Se busca con esto obtener una aproximación lineal y por lo tanto la constante
𝑘1 que nos servirá para determinar las funciones de transferencia que obtuvimos anteriormente.
Tabla 20
Resultados de los datos tomados durante la prueba
PWM Empuje (g) Empuje
(kg)
1000 0 0
1078 8 0.008
1106 34 0.034
1149 76 0.076
1198 146 0.146
1253 223 0.223
1294 314 0.314
1356 389 0.389
1407 431 0.431
1442 493 0.493
1506 539 0.539
1541 585 0.585
1605 603 0.603
1659 641 0.641
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
86
Para la aproximación lineal de los datos tomados se utilizó la herramienta polyfit del
software Matlab, el cual calcula y determina los coeficientes del ajuste polinomial de una
función que en nuestro caso será de grado uno ya que necesitamos linealizar la función entre el
PWM y el empuje de los motores como se asumió durante el modelamiento matemático.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
87
𝑎 = 9.9710 × 10−4
𝑏 = −1.0114
Por lo tanto, la función de la fuerza de empuje de los cuatro motores vendría expresada
por la ecuación:
(3.46)
𝐹∗ = 9.9710 × 10−4 𝛿∗ − 1.0114
𝑘1 = 9.9710 × 10−4
En resumen, se obtuvieron los parámetros necesarios para poder determinar las funciones
de transferencia, las cuales servirán para poder modelar nuestro sistema de control. En la
siguiente tabla se resumen los parámetros calculados.
Tabla 21
Parámetros calculados para las funciones de transferencia
Valores obtenidos
Peso total 𝑚 = 1.761 𝑘𝑔
Longitud del brazo 𝑙 = 0.24 𝑚
Momentos de inercia 𝐽𝑥 = 1.5856 × 10−2 𝑘𝑔. 𝑚2
𝐽𝑦 = 1.6596 × 10−2 𝑘𝑔. 𝑚2
𝐽𝑧 = 2.5009 × 10−2 𝑘𝑔. 𝑚2
Constante de empuje 𝑘1 = 9.971 𝑥 10−4
Fuente: Elaboración propia
Reemplazando los valores obtenidos en las ecuaciones 3.37, 3.42, 3.43 y 3.45, tenemos
las funciones de transferencia para la altitud, pitch, roll y yaw respectivamente.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
88
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
89
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
90
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
91
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
92
respuesta del controlador debe tener un pico máximo de 5% y un tiempo de respuesta pico menor
a 1 segundo, ya que se requiere que el controlador de altitud tenga buena precisión de
posicionamiento y tenga un buen tiempo de respuesta.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
93
controlador debe tener un pico máximo de 10% y un tiempo de respuesta pico menor a 1
segundo, ya que al igual que el controlador de altitud se requiere buen tiempo de respuesta, sin
embargo, en el caso de la precisión se puede considerar un pico máximo mayor ya que el rango
de los ángulos de navegación pitch y roll en los que el cuadricóptero realiza su movimiento de
estabilización serán pequeños, permitiéndonos así que podamos determinar unos parámetros de
control mucho menores.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
94
Se determinaron los parámetros kp, ki y kd del controlador PID del roll como se observa
en la figura 60 y 61, verificándose que es posible estabilizar la señal de respuesta del sistema
con un controlador PID cumpliéndose los requerimientos de diseño establecidos en el presente
proyecto.
Para el caso del controlador del yaw se realizó el mismo procedimiento, sin embargo, se
estableció un pico máximo de 15% y un tiempo de respuesta pico máximo de 2 segundos, ya
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
95
que en el caso del control yaw el cuadricóptero no requiere mucha precisión y respuesta de giro
debido a que el movimiento de giro solo se realizará para mover el campo de visión de la cámara
que llevará el cuadricóptero para realizar la adquisición de imágenes durante el vuelo.
Al igual que los anteriores controladores, se determinaron los parámetros kp, ki y kd del
controlador PID del yaw cumpliendo los requerimientos de diseño y verificándose que la señal
de respuesta logra estabilizarse como se observa en las figuras 62 y 63.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
96
Habiendo determinado los parámetros de los controladores de altitud, pitch, roll y yaw se
verifica que la respuesta del sistema modelado con las funciones de transferencia es posible en
todos los casos estabilizarla con controladores PID cumpliendo los requerimientos de
desempeño establecidos en el presente proyecto.
Cabe indicar que la simulación del sistema de control se realizó idealmente sin tener en
cuenta el tiempo de retraso de la adquisición de datos de los sensores y el tiempo de retraso que
toma la señal regulada por el controlador al elemento final de control que son los motores por
medio de los controladores de velocidad. Para modelar este error se añadió bloques de tiempo
de retraso al diagrama de bloques del sistema de control de 1ms, ya que el controlador de vuelo
está configurado para trabajar con un loop de control de 1kHz. En este caso se realizó la prueba
con el controlador del pitch para verificar si este error afecta el comportamiento de respuesta
del controlador.
Figura 64. Diagrama de bloques del sistema de control del pitch con tiempo de retraso
(Fuente: Elaboración propia)
Figura 65. Comparación de la respuesta del controlador PID sintonizado del pitch incluyendo tiempo retraso
(Fuente: Elaboración propia)
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
97
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
98
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
99
También se realizó una prueba para comprobar la estabilidad del cuadricóptero para
mantenerse fijado en un punto de coordenadas específico, como se observa en la siguiente figura
69 una vez fijado el punto de coordenadas, el cuadricóptero comienza a realizar pequeñas
rectificaciones cambiando el pitch y roll manteniéndose en el punto fijado.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
100
Una vez realizadas las pruebas iniciales y verificándose el correcto funcionamiento del
cuadricóptero en los diferentes modos de vuelo, se realizaron pruebas utilizando una interfaz de
usuario de código abierto llamada mwp tools, esta herramienta es un planificador de rutas de
vuelo, tiene un mapa satelital y sirve para graficar las coordenadas que se requiera enviar al
cuadricóptero para que éste las recorra y siga un camino especificado. Además, cuenta con un
tablero en donde se pueden observar algunos parámetros en tiempo real de vuelo del
cuadricóptero como las coordenadas del cuadricóptero, posición, altitud, velocidad, número de
satélites del GPS, batería entre otros.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
101
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
102
CAPÍTULO IV
4. Discusión de Resultados
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
103
4.4. Modelamiento y simulación del sistema de control.- Para el modelamiento del sistema
de control se estableció según la referencia (Ricardo H., 2010) un sistema retroalimentado que
nos permitiera el ajuste del error entre la señal de salida del proceso y la señal deseada del
sistema por medio de un controlador. Dentro de los diferentes tipos de controladores que se
pueden implementar, este proyecto se basó en el desarrollo de un controlador PID por su
facilidad de implementación y que nos permite lograr una operación optima del vuelo del
cuadricóptero. Cabe destacar que existen controladores mucho más complejos y fiables que
pueden utilizarse en la implementación de un cuadricóptero que permiten utilizar las ecuaciones
de movimiento sin necesidad de su simplificación y lo que conlleva la eliminación del error que
ello genera pero que no son tratados en el presente proyecto, sin embargo, pueden servir para
trabajos futuros. Por otro lado, según la referencia (Ricardo H., 2010) existen diferentes métodos
para la sintonización de controladores PID los cuales permiten determinar las variables kp, ki y
kd del controlador permitiendo así una estabilización de la señal del sistema, en el presente
proyecto se optó por realizar la simulación del sistema de control con el software Matlab el cual
nos permite con ayuda de una de sus herramientas PID tuner realizar la sintonización del
controlador.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
104
por ejemplo en celulares y computadoras según las muchas aplicaciones que puedan realizar los
cuadricópteros.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
105
CAPÍTULO V
5. Conclusiones
5.1. Se realizó el diseño conceptual del cuadricóptero, tomando en cuenta los cuadricópteros
comerciales que existen en el mercado en la actualidad y se establecieron 3 modos de vuelo para
cumplir las necesidades del problema los cuales son el despegue y aterrizaje, vuelo en el plano
xy y vuelo estacionario. Luego se definieron los parámetros iniciales que se tendrán en cuenta
en la construcción del cuadricóptero y los cuales sirvieron para siguientes etapas de desarrollo.
5.3. Siguiendo con las lineaciones de diseño se realizó el diseño de detalle, en donde se
efectuó el análisis y selección de los componentes estructurales, electrónicos y software que
tendrá el cuadricóptero para poder satisfacer las necesidades del problema. Se tuvieron en
encuentra en cada caso diferentes opciones o posibilidades que se definieron siguiendo un
carácter de selección técnico y de factibilidad para el desarrollo del presente proyecto.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
106
de control PID y se realizó una simulación del control utilizando el software Matlab para poder
verificar su factibilidad de implementación.
5.5. Por último, se realizaron pruebas en campo utilizando primeramente un radiocontrol para
verificar y realizar los ajustes finales de la configuración del cuadricóptero y determinar los
parámetros kp, ki y kd del controlador PID que nos permitiera la correcta operación del vuelo
del cuadricóptero. Luego se realizaron pruebas utilizando el software mwp tools comprobándose
el correcto funcionamiento de acuerdo con las necesidades del problema.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
107
CAPÍTULO VI
Referencias Bibliográficas
Felipe, F. (2015). Diseño e implementación de un sistema de control asistido para plataforma aérea
multirotor (tesis de pregrado). Universidad de Chile, Chile.
Oscar, B. (2014). Diseño de un control estabilizante para un vehículo de despegue vertical tipo
cuatrirrotor (tesis de pregrado). Universidad Nacional De Colombia. Colombia.
José, A. (2015). Diseño de un móvil escalador de paredes laterales y superiores para inspección
en trabajos de construcción civil (tesis de pregrado). Universidad Católica del Perú. Perú.
Edwards, Q., & Christian, B., & José, R., & Jimmy, C., & Luis, C., & Diego, R. (2015). Diseño y
construcción de un vehículo aéreo no tripulado (tesis de pregrado). Universidad Nacional de
Ingeniería. Perú.
Randal, W. (2008). Quadrotor dynamics and control. Universidad Brigham Young. Estados Unidos.
José, H., & Ricardo, R. (2012). Diseño y construcción del prototipo experimental de la estructura
para un vehículo aéreo no tripulado (UAV) tipo quadrotor (tesis de pregrado). Universidad Industrial
de Santander. Colombia.
Lloyd, R. & James, F. (2003). Aircraft Design Projects for engineering students. Reino Unido.
Elsevier Science.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
108
Lellis, C. (2011). Modelling, Identification and Control of a Quadrotor Aircraft (tesis de maestría).
Universidad Técnica Checa de Praga. Republica Checa.
Guowei, C. & Ben, M. & Tong, H. (2011). Unmanned Rotorcraft Systems. New York, Estados
Unidos. Springer.
Bishop, R. (2002). The mechatronic Handbook. Texas, Estados Unidos. CRC Press.
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
109
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
110
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
111
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
112
Anexos
Tabla 22
Pesaje de componentes
Se realizo una tabla donde se especifican las cantidades y el costo de cada componente que
se necesitó para la construcción del prototipo de cuadricóptero del presente proyecto.
Tabla 23
Costos de los componentes del cuadricóptero
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
113
inav/src/main/flight/pid.c
#include <stdbool.h>
#include <stdint.h>
#include <math.h>
#include <platform.h>
#include "build/build_config.h"
#include "build/debug.h"
#include "common/axis.h"
#include "common/filter.h"
#include "common/maths.h"
#include "config/parameter_group.h"
#include "config/parameter_group_ids.h"
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
114
#include "fc/config.h"
#include "fc/controlrate_profile.h"
#include "fc/rc_controls.h"
#include "fc/rc_modes.h"
#include "fc/runtime_config.h"
#include "flight/pid.h"
#include "flight/imu.h"
#include "flight/mixer.h"
#include "io/gps.h"
#include "navigation/navigation.h"
#include "rx/rx.h"
#include "sensors/sensors.h"
#include "sensors/gyro.h"
#include "sensors/acceleration.h"
#include "sensors/compass.h"
#include "sensors/pitotmeter.h"
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
115
typedef struct {
float kP; // Proportional gain
float kI; // Integral gain
float kD; // Derivative gain
float kFF; // Feed-forward gain
float kT; // Back-calculation tracking gain
float gyroRate;
float rateTarget;
// Rate integrator
float errorGyroIf;
float errorGyroIfLimit;
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
116
// Rate filtering
rateLimitFilter_t axisAccelFilter;
pt1Filter_t ptermLpfState;
biquadFilter_t deltaLpfState;
#ifdef USE_DTERM_NOTCH
STATIC_FASTRAM filterApplyFnPtr notchFilterApplyFn;
#endif
// Thrust PID Attenuation factor. 0.0f means fully attenuated, 1.0f no attenuation is applied
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
117
#ifdef USE_BLACKBOX
int32_t axisPID_P[FLIGHT_DYNAMICS_INDEX_COUNT],
axisPID_I[FLIGHT_DYNAMICS_INDEX_COUNT],
axisPID_D[FLIGHT_DYNAMICS_INDEX_COUNT],
axisPID_Setpoint[FLIGHT_DYNAMICS_INDEX_COUNT];
#endif
PG_REGISTER_PROFILE_WITH_RESET_TEMPLATE(pidProfile_t, pidProfile,
PG_PID_PROFILE, 6);
PG_RESET_TEMPLATE(pidProfile_t, pidProfile,
.bank_mc = {
.pid = {
[PID_ROLL] = { 40, 30, 23 },
[PID_PITCH] = { 40, 30, 23 },
[PID_YAW] = { 85, 45, 0 },
[PID_LEVEL] = {
.P = 20, // Self-level strength
.I = 15, // Self-leveing low-pass frequency (0 - disabled)
.D = 75, // 75% horizon strength
},
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
118
[PID_HEADING] = { 60, 0, 0 },
[PID_POS_XY] = {
.P = 65, // NAV_POS_XY_P * 100
.I = 120, // posDecelerationTime * 100
.D = 10, // posResponseExpo * 100
},
[PID_VEL_XY] = {
.P = 40, // NAV_VEL_XY_P * 20
.I = 15, // NAV_VEL_XY_I * 100
.D = 100, // NAV_VEL_XY_D * 100
},
[PID_POS_Z] = {
.P = 50, // NAV_POS_Z_P * 100
.I = 0, // not used
.D = 0, // not used
},
[PID_VEL_Z] = {
.P = 100, // NAV_VEL_Z_P * 66.7
.I = 50, // NAV_VEL_Z_I * 20
.D = 10, // NAV_VEL_Z_D * 100
}
}
},
.bank_fw = {
.pid = {
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
119
[PID_ROLL] = { 5, 7, 50 },
[PID_PITCH] = { 5, 7, 50 },
[PID_YAW] = { 6, 10, 60 },
[PID_LEVEL] = {
.P = 20, // Self-level strength
.I = 5, // Self-leveing low-pass frequency (0 - disabled)
.D = 75, // 75% horizon strength
},
[PID_HEADING] = { 60, 0, 0 },
[PID_POS_Z] = {
.P = 40, // FW_POS_Z_P * 10
.I = 5, // FW_POS_Z_I * 10
.D = 10, // FW_POS_Z_D * 10
},
[PID_POS_XY] = {
.P = 75, // FW_POS_XY_P * 100
.I = 5, // FW_POS_XY_I * 100
.D = 8, // FW_POS_XY_D * 100
}
}
},
.dterm_soft_notch_hz = 0,
.dterm_soft_notch_cutoff = 1,
.dterm_lpf_hz = 40,
.yaw_lpf_hz = 30,
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
120
.dterm_setpoint_weight = 1.0f,
.yaw_p_limit = YAW_P_LIMIT_DEFAULT,
.heading_hold_rate_limit = HEADING_HOLD_RATE_LIMIT_DEFAULT,
.fixedWingItermThrowLimit = FW_ITERM_THROW_LIMIT_DEFAULT,
.fixedWingReferenceAirspeed = 1000,
.fixedWingCoordinatedYawGain = 1.0f,
.fixedWingItermLimitOnStickPosition = 0.5f,
.loiter_direction = NAV_LOITER_RIGHT,
);
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
121
void pidInit(void)
{
// Calculate derivative using 5-point noise-robust differentiators without time delay (one-
sided or forward filters)
// by Pavel Holoborodko, see http://www.holoborodko.com/pavel/numerical-
methods/numerical-derivative/smooth-low-noise-differentiators/
// h[0] = 5/8, h[-1] = 1/4, h[-2] = -1, h[-3] = -1/4, h[-4] = 3/8
static const float dtermCoeffs[PID_GYRO_RATE_BUF_LENGTH] = {5.0f/8, 2.0f/8, -
8.0f/8, -2.0f/8, 3.0f/8};
for (int axis = 0; axis < 3; ++ axis) {
firFilterInit(&pidState[axis].gyroRateFilter, pidState[axis].gyroRateBuf,
PID_GYRO_RATE_BUF_LENGTH, dtermCoeffs);
}
pidResetTPAFilter();
// Calculate max overall tilt (max pitch + max roll combined) as a limit to heading hold
headingHoldCosZLimit = cos_approx(DECIDEGREES_TO_RADIANS(pidProfile()-
>max_angle_inclination[FD_ROLL])) *
cos_approx(DECIDEGREES_TO_RADIANS(pidProfile()-
>max_angle_inclination[FD_PITCH]));
pidGainsUpdateRequired = false;
}
bool pidInitFilters(void)
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
122
{
const uint32_t refreshRate = getLooptime();
if (refreshRate == 0) {
return false;
}
#ifdef USE_DTERM_NOTCH
notchFilterApplyFn = nullFilterApply;
if (pidProfile()->dterm_soft_notch_hz != 0) {
notchFilterApplyFn = (filterApplyFnPtr)biquadFilterApply;
for (int axis = 0; axis < 3; ++ axis) {
biquadFilterInitNotch(&pidState[axis].deltaNotchFilter, refreshRate, pidProfile()-
>dterm_soft_notch_hz, pidProfile()->dterm_soft_notch_cutoff);
}
}
#endif
return true;
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
123
void pidResetTPAFilter(void)
{
if (STATE(FIXED_WING) && currentControlRateProfile->throttle.fixedWingTauMs > 0)
{
pt1FilterInitRC(&fixedWingTpaFilter, currentControlRateProfile-
>throttle.fixedWingTauMs * 1e-3f, getLooptime() * 1e-6f);
pt1FilterReset(&fixedWingTpaFilter, motorConfig()->minthrottle);
}
}
void pidResetErrorAccumulators(void)
{
// Reset R/P/Y integrator
for (int axis = 0; axis < 3; axis++) {
pidState[axis].errorGyroIf = 0.0f;
pidState[axis].errorGyroIfLimit = 0.0f;
}
}
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
124
/*
Map stick positions to desired rotatrion rate in given axis.
Rotation rate in dps at full stick deflection is defined by axis rate measured in dps/10
Rate 20 means 200dps at full stick deflection
*/
float pidRateToRcCommand(float rateDPS, uint8_t rate)
{
const float maxRateDPS = rate * 10.0f;
return scaleRangef(rateDPS, -maxRateDPS, maxRateDPS, -500.0f, 500.0f);
}
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
125
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
126
tpaFactor = 1.0f;
}
return tpaFactor;
}
return tpaFactor;
}
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
127
void schedulePidGainsUpdate(void)
{
pidGainsUpdateRequired = true;
}
void updatePIDCoefficients(void)
{
STATIC_FASTRAM uint16_t prevThrottle = 0;
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
128
/*
* Compute stick position in range of [-1.0f : 1.0f] without deadband and expo
*/
for (int axis = 0; axis < 3; axis++) {
pidState[axis].stickPosition = constrain(rcData[axis] - PWM_RANGE_MIDDLE, -500,
500) / 500.0f;
}
// PID coefficients can be update only with THROTTLE and TPA or inflight PID adjustments
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
129
// Tracking anti-windup requires P/I/D to be all defined which is only true for MC
if ((pidBank()->pid[axis].P != 0) && (pidBank()->pid[axis].I != 0)) {
pidState[axis].kT = 2.0f / ((pidState[axis].kP / pidState[axis].kI) + (pidState[axis].kD
/ pidState[axis].kP));
} else {
pidState[axis].kT = 0;
}
}
}
pidGainsUpdateRequired = false;
}
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
130
{
// Figure out the raw stick positions
const int32_t stickPosAil = ABS(getRcStickDeflection(FD_ROLL));
const int32_t stickPosEle = ABS(getRcStickDeflection(FD_PITCH));
const float mostDeflectedStickPos = constrain(MAX(stickPosAil, stickPosEle), 0, 500) /
500.0f;
const float modeTransitionStickPos = constrain(pidBank()->pid[PID_LEVEL].D, 0, 100) /
100.0f;
float horizonRateMagnitude;
return horizonRateMagnitude;
}
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
131
// Automatically pitch down if the throttle is manually controlled and reduced bellow cruise
throttle
if ((axis == FD_PITCH) && STATE(FIXED_WING) &&
FLIGHT_MODE(ANGLE_MODE) && !navigationIsControllingThrottle())
angleTarget += scaleRange(MAX(0, navConfig()->fw.cruise_throttle -
rcCommand[THROTTLE]), 0, navConfig()->fw.cruise_throttle - PWM_RANGE_MIN, 0,
mixerConfig()->fwMinThrottleDownPitchAngle);
if (pidBank()->pid[PID_LEVEL].I) {
// I8[PIDLEVEL] is filter cutoff frequency (Hz). Practical values of filtering frequency is
5-10 Hz
angleRateTarget = pt1FilterApply4(&pidState->angleFilterState, angleRateTarget,
pidBank()->pid[PID_LEVEL].I, dT);
}
// P[LEVEL] defines self-leveling strength (both for ANGLE and HORIZON modes)
if (FLIGHT_MODE(HORIZON_MODE)) {
pidState->rateTarget = (1.0f - horizonRateMagnitude) * angleRateTarget +
horizonRateMagnitude * pidState->rateTarget;
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
132
} else {
pidState->rateTarget = angleRateTarget;
}
}
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
133
// Calculate integral
pidState->errorGyroIf += rateError * pidState->kI * dT;
if (STATE(ANTI_WINDUP) || isFixedWingItermLimitActive(pidState->stickPosition)) {
pidState->errorGyroIf = constrainf(pidState->errorGyroIf, -pidState->errorGyroIfLimit,
pidState->errorGyroIfLimit);
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
134
} else {
pidState->errorGyroIfLimit = fabsf(pidState->errorGyroIf);
}
if (pidProfile()->fixedWingItermThrowLimit != 0) {
pidState->errorGyroIf = constrainf(pidState->errorGyroIf, -pidProfile()-
>fixedWingItermThrowLimit, pidProfile()->fixedWingItermThrowLimit);
}
#ifdef USE_AUTOTUNE_FIXED_WING
if (FLIGHT_MODE(AUTO_TUNE) && !FLIGHT_MODE(MANUAL_MODE)) {
autotuneFixedWingUpdate(axis, pidState->rateTarget, pidState->gyroRate, newPTerm +
newFFTerm);
}
#endif
#ifdef USE_BLACKBOX
axisPID_P[axis] = newPTerm;
axisPID_I[axis] = pidState->errorGyroIf;
axisPID_D[axis] = newFFTerm;
axisPID_Setpoint[axis] = pidState->rateTarget;
#endif
}
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
135
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
136
// Calculate delta for Dterm calculation. Apply filters before derivative to minimize effects
of dterm kick
float deltaFiltered = pidProfile()->dterm_setpoint_weight * pidState->rateTarget -
pidState->gyroRate;
#ifdef USE_DTERM_NOTCH
// Apply D-term notch
deltaFiltered = notchFilterApplyFn(&pidState->deltaNotchFilter, deltaFiltered);
#endif
// Calculate derivative
firFilterUpdate(&pidState->gyroRateFilter, deltaFiltered);
newDTerm = firFilterApply(&pidState->gyroRateFilter) * (pidState->kD / dT);
// Additionally constrain D
newDTerm = constrainf(newDTerm, -300.0f, 300.0f);
}
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
137
axisPID[axis] = newOutputLimited;
#ifdef USE_BLACKBOX
axisPID_P[axis] = newPTerm;
axisPID_I[axis] = pidState->errorGyroIf;
axisPID_D[axis] = newDTerm;
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
138
axisPID_Setpoint[axis] = pidState->rateTarget;
#endif
}
int16_t getHeadingHoldTarget() {
return headingHoldTarget;
}
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
139
#if defined(USE_NAV)
int navHeadingState = navigationGetHeadingControlState();
// NAV will prevent MAG_MODE from activating, but require heading control
if (navHeadingState != NAV_HEADING_CONTROL_NONE) {
// Apply maghold only if heading control is in auto mode
if (navHeadingState == NAV_HEADING_CONTROL_AUTO) {
return HEADING_HOLD_ENABLED;
}
}
else
#endif
if (ABS(rcCommand[YAW]) == 0 && FLIGHT_MODE(HEADING_MODE)) {
return HEADING_HOLD_ENABLED;
} else {
return HEADING_HOLD_UPDATE_HEADING;
}
return HEADING_HOLD_UPDATE_HEADING;
}
float pidHeadingHold(void)
{
float headingHoldRate;
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
140
/*
* Convert absolute error into relative to current heading
*/
if (error <= -180) {
error += 360;
}
return headingHoldRate;
}
/*
* TURN ASSISTANT mode is an assisted mode to do a Yaw rotation on a ground plane,
allowing one-stick turn in RATE more
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
141
if (STATE(FIXED_WING)) {
if (calculateCosTiltAngle() >= 0.173648f) {
// Ideal banked turn follow the equations:
// forward_vel^2 / radius = Gravity * tan(roll_angle)
// yaw_rate = forward_vel / radius
// If we solve for roll angle we get:
// tan(roll_angle) = forward_vel * yaw_rate / Gravity
// If we solve for yaw rate we get:
// yaw_rate = tan(roll_angle) * Gravity / forward_vel
#if defined(USE_PITOT)
float airspeedForCoordinatedTurn = sensors(SENSOR_PITOT) ?
pitot.airSpeed :
pidProfile()->fixedWingReferenceAirspeed;
#else
float airspeedForCoordinatedTurn = pidProfile()->fixedWingReferenceAirspeed;
#endif
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
142
targetRates.z = RADIANS_TO_DEGREES(coordinatedTurnRateEarthFrame);
}
else {
// Don't allow coordinated turn calculation if airplane is in hard bank or steep climb/dive
return;
}
}
else {
targetRates.z = pidState[YAW].rateTarget;
}
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
143
if (lastFpvCamAngleDegrees != fpvCameraAngle) {
lastFpvCamAngleDegrees = fpvCameraAngle;
cosCameraAngle = cos_approx(DEGREES_TO_RADIANS(fpvCameraAngle));
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
144
sinCameraAngle = sin_approx(DEGREES_TO_RADIANS(fpvCameraAngle));
}
void pidController(void)
{
bool canUseFpvCameraMix = true;
uint8_t headingHoldState = getHeadingHoldState();
if (headingHoldState == HEADING_HOLD_UPDATE_HEADING) {
updateHeadingHoldTarget(DECIDEGREES_TO_DEGREES(attitude.values.yaw));
}
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
145
if (FLIGHT_MODE(TURN_ASSISTANT) || navigationRequiresTurnAssistance()) {
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
146
pidTurnAssistant(pidState);
canUseFpvCameraMix = false; // FPVANGLEMIX is incompatible with
TURN_ASSISTANT
}
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
147
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
148
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/
BIBLIOTECA DIGITAL - DIRECCIÓN DE SISTEMAS DE INFORMÁTICA Y COMUNICACIÓN
149
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.
Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/