Ardupilot
Ardupilot
SEDE CUENCA
PROYECTO TÉCNICO:
Autores:
Tutor:
CUENCA-ECUADOR
CESIÓN DE DERECHOS DE AUTOR
Yo, Luis Miguel Aguilar Castro, con documento de identificación Nº 0104842604, manifiesto mi
voluntad y cedo a la Universidad Politécnica Salesiana la titularidad sobre los derechos
patrimoniales en virtud de que soy autor del trabajo de grado intitulado: “ANÁLISIS DE LA
TECNOLOGÍA ARDUPILOT ORIENTADA A LA IMPLEMENTACIÓN DE SISTEMAS DE
CONTROL AUTOMÁTICO”, mismo que ha sido desarrollado para optar por el título de:
Ingeniero Electrónico, en la Universidad Politécnica Salesiana, quedando la Universidad
facultada para ejercer plenamente los derechos cedidos anteriormente.
Cedula: 0104842604
II
CESIÓN DE DERECHOS DE AUTOR
Yo, Christian Paul Ortiz Astudillo, con documento de identificación Nº 0106436314, manifiesto
mi voluntad y cedo a la Universidad Politécnica Salesiana la titularidad sobre los derechos
patrimoniales en virtud de que soy autor del trabajo de grado intitulado: “ANÁLISIS DE LA
TECNOLOGÍA ARDUPILOT ORIENTADA A LA IMPLEMENTACIÓN DE SISTEMAS DE
CONTROL AUTOMÁTICO”, mismo que ha sido desarrollado para optar por el título de:
Ingeniero Electrónico, en la Universidad Politécnica Salesiana, quedando la Universidad
facultada para ejercer plenamente los derechos cedidos anteriormente.
Cedula: 0106436314
III
CERTIFICACIÓN
Cédula: 0301489696
TUTOR DEL TRABAJO DE TITULACIÓN
IV
DECLARATORIA DE RESPONSABILIDAD
Nosotros, Luis Miguel Aguilar Castro Cédula: 0104842604 y Christian Paul Ortiz Astudillo
Cédula: 0106436314 autores del Trabajo de Titulación “Análisis de la tecnología ArduPilot
orientada a la implementación de sistemas de control automático” certificamos que el total
contenido del Proyecto Técnico son de nuestra exclusiva responsabilidad y autoría.
V
ÍNDICE GENERAL
INTRODUCCIÓN
ANTECEDENTES
JUSTIFICACIÓN
Índice General ........................................................................................................... VI
Índice de Tablas......................................................................................................... XI
Agradecimientos ....................................................................................................... XII
Dedicatoria .............................................................................................................. XIII
Agradecimientos ..................................................................................................... XIV
Dedicatoria ................................................................................................................ XV
ANTECEDENTES. ................................................................................................ XVI
INTRODUCCIÓN................................................................................................. XVII
1. INTRODUCCIÓN................................................................................................ 1
1.1. Presentación ............................................................................................................... 1
1.2. Análisis del Estado del Arte de Plataformas de Control. ........................................... 1
1.2.1. ARDUINO ................................................................................................................. 1
1.2.2. BEAGLEBOARD ...................................................................................................... 2
1.2.3. LEGO MINDSTORMS ............................................................................................. 3
1.2.4. RASPBERRY PI ........................................................................................................ 3
1.2.5. STM32F4 DISCOVERY ........................................................................................... 4
1.3. Alcance y Objetivos de esta tesis ............................................................................... 4
VI
3.3. Análisis de la Librería APM Block 2.0 .................................................................... 21
3.4. Identificación y forma de Comunicación de los pines analógicos y digitales para la
comunicación entre el sistema embebido y Simulink® ........................................................ 26
VII
ÍNDICE DE FIGURAS
Figura 1Plataforma embebida Arduino [7] ................................................................................... 2
Figura 2 Plataforma embebida Arduino Mega 2560 [7] ............................................................... 2
Figura 3 Plataforma embebida BEAGLEBOARD [8] .................................................................. 2
Figura 4 Plataforma embebida LEGO MINDSTORMS [9] ......................................................... 3
Figura 5 Plataforma Embebida Raspberry PI [10] ........................................................................ 3
Figura 6 Plataforma embebida STM32 [11].................................................................................. 4
Figura 7 Dispositivo ArduPilot 2.8 [2].......................................................................................... 5
Figura 8 Placa del ArduPilot 2.8 [2] ............................................................................................. 5
Figura 9 Partes del ArduPilot 2.8 [2] ............................................................................................ 6
Figura 10 Led’s indicadores de comportamiento del ArduPilot 2.8 [2] ........................................ 7
Figura 11 Conexión de un receptor PPM [2] ................................................................................ 8
Figura 12 Led’s de comportamiento de los receptores PPM [2] ................................................... 8
Figura 13 Puerto Telemetría del ArduPilot [2] ............................................................................. 9
Figura 14 Definir UART2 como puerto de Telemetría [2] ........................................................... 9
Figura 15 Conexión del módulo Telemetría con ArduPilot [2] .................................................. 10
Figura 16 Módulo GPS [2] .......................................................................................................... 10
Figura 17 Conexión del Módulo GPS con el dispositivo ArduPilot [2]...................................... 10
Figura 18 Entradas/salidas analógicas [2] ................................................................................... 11
Figura 19 Entradas Digitales [2] ................................................................................................. 11
Figura 20 Distribución de energía eléctrica en el dispositivo ArduPilot [2] ............................... 11
Figura 21 Auxiliar de alimentación 3DR Power Module [2] ...................................................... 12
Figura 22 Puerto del dispositivo ArduPilot ................................................................................. 12
Figura 23 Librería APM 2.0 Simulink Blockset [3] .................................................................... 14
Figura 24 Instalar un nueva Plataforma Embebida. .................................................................... 15
Figura 25 Asistente de Paquetes.................................................................................................. 15
Figura 26 Seleccionar una Plataforma Embebida. ...................................................................... 16
Figura 27 Verificación de Detalles previo a la instalación.......................................................... 16
Figura 28 Reemplazar carpetas "cores"....................................................................................... 17
Figura 29 Archivo io_wrappers.cpp ............................................................................................ 17
Figura 30 Primera línea de código en los archivos asignados. .................................................... 17
Figura 31 Última línea de código en los archivos asignados ...................................................... 18
Figura 32 Directorio a trabajar de Matlab. .................................................................................. 18
Figura 33 Agregar al directorio de trabajo. ................................................................................. 19
Figura 34 Resultado de la ejecución. .......................................................................................... 19
Figura 35 Configuración de Parámetros en Simulink ................................................................. 20
Figura 36 Configuración Hardware Implementation .................................................................. 20
Figura 37 Selección de la Plataforma a utilizar. .......................................................................... 21
Figura 38 Librería APM Blockset 2.0 ......................................................................................... 21
Figura 39 Analog Input ............................................................................................................... 26
Figura 40 Analog Output............................................................................................................. 27
Figura 41Planta B del laboratorio de control y automatización totalmente integrado de la
Universidad Politécnica Salesiana .............................................................................................. 28
Figura 42 Diagrama PI&D. ......................................................................................................... 30
Figura 43 Programa para Identificación del Sistema .................................................................. 30
Figura 44 Identificación del Sistema ........................................................................................... 31
Figura 45 Ventana principal del comando "ident" ...................................................................... 31
Figura 46 Datos del sistema ingresados ..................................................................................... 32
Figura 47 Obtención de la Función de Transferencia ................................................................. 32
Figura 48 Configuración de polos y ceros del modelo de la función de transferencia................ 32
Figura 49 Proceso de obtención de la función de transferencia terminado ................................. 33
Figura 50 Aproximación del modelo de la función de transferencia y el sistema físico ............. 33
Figura 51 Función de transferencia del sistema .......................................................................... 33
VIII
Figura 52 Diagrama de bloques de un controlador PID [21] ...................................................... 34
Figura 53 Ventana de inicio del Toolbox Sisotool-Matlab® ...................................................... 34
Figura 54 Ventana principal del Toolbox Pidtool-Matlab® ....................................................... 35
Figura 55 Diagrama de bloques de un sistema de control lineal en tiempo discreto invariante en
el tiempo representado en el espacio de estado [19]. .................................................................. 36
Figura 56 Sistema de regulación con observador de estados [20]............................................... 36
Figura 57 Sistema de control con realimentación de estado [20]]. ............................................. 37
Figura 58 Sistema de control con realimentación de estado observado [20]. ............................. 38
Figura 59 Sistema de Seguimiento con realimentación de estado y control integral [20]. ......... 38
Figura 60 Estrategia de control Predictivo [22] .......................................................................... 40
Figura 61 Estructura general de los Controladores Predictivos [17] ........................................... 41
Figura 62 Diagrama de un Control Adaptativo [24]. .................................................................. 42
Figura 63 Esquema para el modelo de referencia ....................................................................... 43
Figura 64 PID Para el proceso de flujo ....................................................................................... 44
Figura 65 Respuesta del controlador en PIDTOOL a un escalón unitario .................................. 45
Figura 66 Constantes obtenidas en PIDTOOL para el controlador PID ..................................... 45
Figura 67 Constante KD.............................................................................................................. 45
Figura 68 Constante KP .............................................................................................................. 46
Figura 69 Constante KI ............................................................................................................... 46
Figura 70 Simulación del controlador en Simulink..................................................................... 46
Figura 71 Respuesta de la simulación del sistema ...................................................................... 47
Figura 72 Diseño del controlador en Espacio de Estados en tiempo discreto para el proceso de
flujo ............................................................................................................................................. 47
Figura 73 Controlador en Espacio de Estados en tiempo discreto del proceso de flujo.............. 48
Figura 74 Ingreso de los datos de la Planta al usar el comando Ident. ........................................ 48
Figura 75 Estimación del modelo en espacio de estados en tiempo discreto .............................. 49
Figura 76 Matrices de Estado, Entrada, Salida y Transmisión directa ........................................ 49
Figura 77 Matrices del espacio de estados representadas como un modelo de nombre MatricesSS
..................................................................................................................................................... 50
Figura 78 Similitud entre el Modelo Real y el Modelo Discreto en Espacio de Estados. ........... 50
Figura 79 Factor de Amortiguamiento ƺ [24]. ............................................................................. 51
Figura 80 Resultado de la Simulación del controlador en espacio de estados en tiempo discreto.
..................................................................................................................................................... 52
Figura 81 Matrices del sistema.................................................................................................... 52
Figura 82 Simulación del MPC del sistema realizado en Simulink ............................................ 53
Figura 83 Math Script del controlador MPC ............................................................................... 53
Figura 84 Resultado de la Simulación del controlador predictivo basado en modelo (MPC) .... 54
Figura 85 Diseño del controlador PID Adaptativo para el sistema. ............................................ 55
Figura 86 Resultado de la Simulación del controlador PID Adaptativo. .................................... 55
Figura 87 Conexión del dispositivo APM ArduPilot 2.8 con el Panel frontal del Sistema. ........ 57
Figura 88 Controlador PID diseñado en Simulink para la Planta B ............................................ 58
Figura 89 Conversión para el bloque Analog Output.................................................................. 58
Figura 90 Conversión para el bloque Analog Input .................................................................... 58
Figura 91 PID implementado ...................................................................................................... 58
Figura 92 Comportamiento a cambios de referencia del sistema ................................................ 59
Figura 93 Comportamiento a cambios de referencia y perturbaciones en el sistema .................. 59
Figura 94 Controlador en Espacio de Estados en tiempo discreto diseñado en Simulink para la
proceso de flujo. .......................................................................................................................... 60
Figura 95 Controlador por realimentación de estados implementado ......................................... 60
Figura 96 Comportamiento a cambios de referencia del sistema ................................................ 61
Figura 97 Comportamiento a cambios de referencia y perturbaciones en el sistema .................. 61
Figura 98 Implementación del controlador MPC con la plataforma ArduPilot .......................... 62
Figura 99 Comportamiento del sistema con la implementación del controlador predictivo basado
en modelo, con los parámetros de sintonización Nc=2, Np=3 y rw=50 ..................................... 62
IX
Figura 100 Comportamiento del sistema con la implementación del controlador predictivo basado
en modelo, con los parámetros de sintonización Nc=2, Np=3 y rw=150 ................................... 63
Figura 101 Comportamiento del sistema con la implementación del controlador predictivo basado
en modelo, con los parámetros de sintonización Nc=2, Np=4 y rw=80 ..................................... 63
Figura 102 Controlador PID Adaptativo diseñado en Simulink para el proceso de flujo. .......... 64
Figura 103 Comportamiento a cambios de referencia del sistema .............................................. 64
Figura 104 Comparación entre un controlador PID y un MPC ................................................... 65
Figura 105 Comparación entre un Controlador en Espacios de Estados Discreto y un Controlador
PID Adaptativo............................................................................................................................ 66
X
ÍNDICE DE TABLAS
XI
AGRADECIMIENTOS
Una etapa de mi vida ha terminado y no me queda más que agradecer a Dios por haberme
brindado unos buenos padres, una buena familia y por cruzar buenas y malas personas en mi
vida que a la larga fueron y serán un aprendizaje para mi vida.
Primeramente quiero agradecer a mis padres Miguel y Norma por el apoyo que siempre me
brindaron a pesar de quizás no ser el mejor hijo y por haberme inculcado buenos valores y
enseñarme a nunca darme por vencido. Por otro lado quiero agradecer a mi hermanita Daniela,
quien siempre me ha apoyado a pesar nuestras diferencias personales. A pesar que parezca un
chiste y absurdo, quiero agradecer a mi gato Pepelepu por acompañarme en mis largas noches
de estudio.
Quiero agradecer a mi enamorada Salomé por apoyarme siempre, por creer en mí, por
soportarme y amarme a pesar de ser tan complicado, por ser mi orgullo y especialmente por
enseñarme a ser una mejor persona día a día.
Quiero agradecer a mis primos Miguel Ángel y Gabriel por ser mis compañeros de locuras y por
ser como mis hermanos.
Quiero agradecer a un amigo muy especial Juan Pablo por ser un compañero de estudios y un
gran amigo en mi vida.
Quiero agradecer al Ing. Julio Zambrano quien fue el tutor de este proyecto y brindó su ayuda
desinteresada para la culminación del mismo.
Quiero agradecer a mis compañeros de la Universidad y a los profesores del área de control
Iván Escandón, Marco Carpio y Walter Orozco quienes brindaron su ayuda desinteresada.
Finalmente quiero agradecer a mi compañero de tesis Christian por haberme brindado la
confianza y hacer un buen equipo de trabajo.
XII
DEDICATORIA
Quiero dedicar este proyecto a Dios quien ha estado siempre conmigo y me ha ayudado a no
desfallecer en ningún momento a pesar de los problemas personales y situaciones que la vida
presenta día a día. Quiero agradecer a Dios por hacer que cada día en mi vida sea una nueva
experiencia y espero me siga ayudando día a día en los nuevas metas que me he propuesto y en
los retos que se presentaran de ahora en adelante
XIII
AGRADECIMIENTOS
Primero agradezco a Dios por el amor entregado a mi familia, gracias a Él he sido capaz de
culminar de manera exitosa una de mis metas.
Agradezco a mis padres, Hermel e Isabel por todo el apoyo incondicional que me han brindado
en el transcurso de mi formación profesional.
A mis hermanas, Tatiana y Maritza que me han brindado su amor y todo el apoyo durante esta
etapa de mi vida.
Agradezco a mi tutor de tesis Ing. Julio Zambrano por la ayuda y el tiempo brindado en el
proceso de elaboración de este proyecto de titulación.
Agradezco también a los docentes de la Universidad Politécnica Salesiana Ing. Iván Escandón y
Phd. Walter Orozco por facilitarnos material de apoyo para lograr la implementación de este
proyecto.
Finalmente agradezco a mis amigos, de manera muy especial a Luis Aguilar por su apoyo y su
dedicación en el transcurso de esta tesis.
XIV
DEDICATORIA
A Dios por brindarme la salud para lograr cumplir una meta más en mi vida. A mis padres
quienes con su apoyo, sus consejos, su ejemplo y su amor han logrado que mi formación
profesional y moral crezca. A mis hermanas quienes siempre me han brindado su apoyo para
lograr cumplir cada una de mis metas.
XV
ANTECEDENTES.
El dispositivo Ardupilot está basado en la plataforma Arduino Mega [2], el cual tiene la
posibilidad de manejar programas realizados en Simulink® de Matlab, esto es posible mediante
el bloque de Simulink® AMP Block2.0 [3].
XVI
INTRODUCCIÓN
La intencionalidad de este proyecto radica en evaluar esquemas de control sobre una plataforma
embebida de bajo costo. La implementación de estos controladores involucran cálculos complejos
los mismos que hasta la actualidad en su mayoría han sido desarrollados en computadores
personales debido a su alto coste computacional.
En primera instancia se hará una investigación sobre la plataforma Ardupilot para conocer su
estructura de hardware y modos de configuración y programación. Posterior a esto se analizará la
compatibilidad de las operaciones matemáticas que involucra el desarrollo de los cuatro esquemas
de control con la plataforma. A continuación previa a la implementación de los controladores se
hará una identificación del proceso de manera que los sistemas de control puedan ser simulados.
XVII
CAPITULO 1. INTRODUCCIÓN
CAPÍTULO 1
1. INTRODUCCIÓN
1.1. Presentación
En la actualidad los esquemas de control para la industria generalmente utilizan módulos de
control de costos elevados y que son específicos para cada una de las plantas o sistemas. El poder
reemplazar estos módulos con plataformas embebidas que cumplan su objetivo de manera
eficiente podría ser ventajoso pues los recursos económicos que se invertirían serían mucho
menores.
Existen diferentes tipos de plataformas embebidas que trabajan con el software Matlab®-
Simulink, en donde el diseño de los controladores es realizado y descargado a dicha plataforma a
través de algún sistema de comunicaciones. Cabe recalcar que estas plataformas trabajan en
tiempo real por lo cual su funcionamiento puede mostrar mejor desempeño que un controlador
que se encuentre operando bajo un ordenador con sistema operativo estándar.
Actualmente existen herramientas informáticas que permiten interactuar con estas plataformas y
brindan una facilidad de programación utilizando lenguajes de alto nivel. Una de las herramientas
informáticas que presta mayor versatilidad para este tipo de interacción es Simulink de Matlab®.
El software Matlab® ha generado versiones desde 2012 que permiten la comunicación con
plataformas embebidas, las mismas que tienen soporte con Simulink con lo cual se facilita la
programación. Algunas de las plataformas que soporta el software Matlab® son [6]:
Arduino [7]
Beagleboard [8]
Lego Mindstorms [9]
Raspberry PI [10]
STM32F4 Discovery [11]
1.2.1. ARDUINO
Las versiones de Arduino compatibles con el software Matlab®-Simulink son Arduino uno (véase
Figura 1) y Arduino Mega 2560 (véase Figura 2). Arduino Uno se encuentra basado en un
procesador ATmega328P contando con 14 pines de entrada y salida digital entre los cuales 6 de
ellos pueden ser utilizados como PWM, cuenta con 6 entradas analógicas, dispone de un reloj de
cristal de 16 MHz [7].
Arduino Mega 2560 cuenta con un procesador ATmega2560, dispone de 54 pines de entrada y
salida digital de los cuales 15 pueden ser utilizados para aplicaciones PWM, dispone de 16
entradas analógicas, 4 UART’S, utiliza un oscilador de 16MHz [7].
1
CAPITULO 1. INTRODUCCIÓN
1.2.2. BEAGLEBOARD
Es una plataforma de bajo costo (véase Figura 3) diseñada específicamente para el procesamiento
de señales, esta plataforma cuenta con procesador ARM Cortex-A8 de 1 GHz de TI, dispone audio
estéreo y conectividad de vídeo digital, y es compatible con USB, RS-232 y Ethernet. Esta
plataforma es compatible con el software Simulink® [8].
2
CAPITULO 1. INTRODUCCIÓN
Simulink® Support Package for BeagleBoard Hardware permite crear y ejecutar modelos de
Simulink® en hardware BeagleBoard. El paquete de soporte incluye una biblioteca de bloques de
Simulink para configurar y acceder a los periféricos de E / S e interfaces de comunicación.
También le permite controlar de forma interactiva y ajustar algoritmos desarrollado en Simulink
que circulen por BeagleBoard [8].
LEGO MINDSTORMS NXT (véase Figura 4) es una plataforma robusta, de muy bajo costo y
flexible para el desarrollo de aplicaciones robóticas. LEGO MINDSTORMS NXT cuenta con un
microcontrolador ARM de 32 bits (256 KB de flash y 64 MB de RAM), proporciona puertos para
la conexión de algunos tipos de sensores, como ultrasonido, color / luz, y tacto, y es compatible
con USB y Bluetooth. Para la comunicación entre la plataforma y el software Matlab®-Simulink
se requiere instalar Simulink® Support Package for LEGO® MINDSTORMS® NXT [9].
1.2.4. RASPBERRY PI
Raspberry Pi (véase Figura 5) es una plataforma embebida de bajo costo que soporta el sistema
operativo Linux (Raspbian). Raspberry Pi dispone de un procesador ARM ® Cortex® y
proporciona conectividad de periféricos de audio estéreo, vídeo digital (1080p), USB, Ethernet y
dispone de la tarjeta de la cámara opcional y placa de sensores complementarios [10].
3
CAPITULO 1. INTRODUCCIÓN
MATLAB Coder™ y Simulink Coder™ generan código C y C ++ que puede ser compilado y
ejecutado en la plataforma STM32F4-Discovery (véase Figura 6). Esta plataforma dispone de un
núcleo de 168 MHz ARM Cortex-M, también cuenta con una memoria flash de 1024 KB y una
memoria RAM de 192KB. Adicionalmente la plataforma STM32F4 DISCOVERY dispone de un
puerto serial, USB, Ethernet, CAN y I2C [11].
4
CAPITULO 2. ANÁLISIS DE LA PLATAFORMA ARDUPILOT
CAPÍTULO 2
2. ANÁLISIS DE LA PLATAFORMA ARDUPILOT
2.1. Análisis de los componentes del sistema embebido.
2.1.1. ARDUPILOT
El ArduPilot (véase Figura 7) es una plataforma embebida diseñada para el control de dispositivos
aéreos. Este dispositivo pertenece a la familia de Arduino, sin embargo su capacidad de poder
descargar programas realizados en el software Matlab-Simulink en su memoria lo hace novedoso.
La descarga en el dispositivo se logra gracias a la librería de Simulink APM, con el uso del bloque
APM Block2.0. [2].
Las principales aplicaciones de la plataforma debido a su diseño compacto (véase Figura 8) están
ligadas al control de helicópteros y Drones. La ventaja que posee el dispositivo es la comunicación
entre Software y Hardware, al ser una plataforma de costo relativamente bajo, es posible
reemplazar módulos de control costosos, ya que en el dispositivo se pueden realizar controladores
modernos y aplicarlos a procesos reales [2].
5
CAPITULO 2. ANÁLISIS DE LA PLATAFORMA ARDUPILOT
6
CAPITULO 2. ANÁLISIS DE LA PLATAFORMA ARDUPILOT
En la Tabla 1 y Tabla 2 se encuentran los voltajes manejados del dispositivo según la posición en
la que se encuentre el Jumper 1.
LEDs Comportamiento
7
CAPITULO 2. ANÁLISIS DE LA PLATAFORMA ARDUPILOT
El estado de funcionamiento del dispositivo puede interpretarse mediante la Tabla 3, ya que esta
indica el comportamiento de los indicadores luminosos o Led’s [2].
Los receptores PPM son un tipo de modulación capaz de codificar un dato de N bits mediante la
transmisión de un solo pulso. La entrada de un receptor PPM (véase Figura 11) en el dispositivo
Ardupilot 2.8 se logra al realizar un puente en las entradas RCA 2 y 3, quedando el pin 1 como el
receptor de señal [2].
Los Led’s de comportamiento (véase Figura 12) para el PPM indican la transmisión (Tx) y
recepción (Rx) de datos, además también existe un led que indica si la comunicación está en
proceso Con la ayuda de los Led’s Tx y Rx, se podrá conocer si la información se está enviando
o recibiendo según sea el caso requerido.
8
CAPITULO 2. ANÁLISIS DE LA PLATAFORMA ARDUPILOT
2.1.5. TELEMETRIA.
Es una tecnología que permite la medición remota de magnitudes físicas y el posterior envió de
la información hacia el operador. La transmisión de información es realizada de manera
inalámbrica, pero también se lo puede realizar mediante teléfono, redes de ordenadores, enlace
de fibra óptica, entre otros. En los sistemas de telemetría las instrucciones son enviadas desde el
sistema de control que se encuentre utilizando [2].
El puerto telemetría (véase Figura 13) se usa con el módulo Xbee para permitir la transmisión de
datos a distancias, una de sus principales aplicaciones es en dispositivos aéreos mediante un
determinado software, como por ejemplo Missión Planner el cual permitirá conocer la ubicación
del dispositivo [2].
Si se utiliza el módulo Xbee Pro 900, debe ser acoplado con la antena tipo alambre al ArduPilot
(véase Figura 15). El alcance de los módulos Xbee es aproximadamente de 2km esto depende de
la antena utilizada [2].
En la Figura 15 se puede apreciar la conexión del módulo Xbee, que está conectado en el puerto
telemetría del ArduPilot, el cual por defecto está conectado en el UART0 (Transmisor-Receptor
Asíncrono Universal), es decir en el Serial de Arduino o Serial 0. Se puede usar el UART2 (véase
Figura 14) para la comunicación por medio del Serial 3 al desoldar unas uniones en la placa del
dispositivo ArduPilot. Mediante el UART0 y el puerto Serial 0 se usa el Puerto USB para la
comunicación y alimentación del dispositivo mediante una computadora. Mediante cuatro cables
se alimenta el módulo Xbee y mediante otros dos se adquiere la señal para procesos futuros [2].
9
CAPITULO 2. ANÁLISIS DE LA PLATAFORMA ARDUPILOT
El modulo GPS (véase Figura 16 ), dispone de dos conectores MAG y GPS, la conexión entre el
modulo y la plataforma (véase Figura 17) se realiza mediante un cable divido en dos conectores,
el primer conector se asociará al puerto I2C usando 4 cables (alimentación y señales adquiridas),
mientras que el segundo conector mediante 6 cables deberá asociarse al llamado puerto GPS en
el dispositivo [2].
Las entradas/salidas analógicas (véase Figura 18) se denominan desde A0 hasta A13, de igual
manera serán colocadas las entradas/salidas analógicas en el software de programación de la
plataforma Ardupilot 2.8 [2].
10
CAPITULO 2. ANÁLISIS DE LA PLATAFORMA ARDUPILOT
Las entradas digitales (véase Figura 19) del dispositivo son ocho, estas entradas digitales pueden
ser manejadas desde Simulink utilizando los bloques RC de la librería del ArduPilot [2].
También la plataforma Ardupilot 2.8 utiliza el mismo conjunto de 9 pines de entrada analógicas
como pines digitales de salida (Pin 54 a 62). Para utilizar las entradas analógicas como salidas
digitales, es necesario agregar el número “54” al pin analógico. Por ejemplo Pin 54 es A0 [2].
2.2.2. POWER-RAIL
En este dispositivo se dispone de tres conectores dispuestos en 3 carriles o filas (véase Figura 20).
Estos carriles están colocados en las entradas analógicas, en las salidas digitales y en las entradas
digitales, la primera fila es la señal del ArduPilot, la del centro es la señal positiva en donde se
obtiene 5 voltios y la última es tierra. Se debe conocer que para proteger el dispositivo se dispone
de un fusible de 500 mA y de un diodo de protección [2].
11
CAPITULO 2. ANÁLISIS DE LA PLATAFORMA ARDUPILOT
Mediante el dispositivo 3DR Power Module (PM) (véase Figura 21), se obtiene una alimentación
fija de 5.37V y 2.25A, al conectar una batería que tenga un voltaje máximo de 18V y una corriente
máxima de 90 A, el dispositivo mencionado nos permite la monitorización del voltaje y la
corriente en la batería [2].
Una vez que se conecte la plataforma al ordenador es necesario conocer el “COM” en el que se
estableció la conexión, para conocer el puerto se debe proceder a “dispositivos e impresoras”
ubicado en el “panel de control” del ordenador y verificar el puerto en el que se ha enlazado la
plataforma. Esta plataforma es reconocida como Arduino Mega 2560 debido a que dispone del
procesador ATmega2560 [3].
Es importante conocer cuál es el “COM” ya que este deberá ser configurado en Simulink® para
proceder a descargar el programa sobre la plataforma de manera satisfactoria [3].
12
CAPITULO 2. ANÁLISIS DE LA PLATAFORMA ARDUPILOT
Cabe recalcar que esta librería ha logrado funcionar de manera correcta en la versión de MatLab®
2013ª, ya que esta no muestra una significativa diferencia con la versión de MatLab ® 2012ª [3].
A pesar que el sistema embebido cuenta con un procesador ATMega 2560, esta librería no
funciona con el arduino ya que se ha diseñado específicamente para el uso de la plataforma
ArduPilot, la cual cuenta con diferentes periféricos que el Arduino Mega [3].
13
CAPITULO 3. INTERFAZ DE COMUNICACIÓN (SIMULINK)
CAPÍTULO 3
3. INTERFAZ DE COMUNICACIÓN (SIMULINK®)
3.1. Configuración del Software Simulink para
compatibilidad con ArduPilot.
Simulink® es un software de programación mediante bloques, lo cual facilita la programación de
algoritmos muy complejos en comparación con la programación tradicional que es de línea a
línea. Una de las grandes aplicaciones de este software en el control avanzado [3].
La plataforma ArduPilot 2.8 tiene la capacidad de poder conectarse con el software Simulink®
mediante la librería APM 2.0 Simulink Blockset, esta librería se encuentra disponible en
Mathworks, su única versión ha sido creada en el 2012, y funciona con la tarjeta ATMega 2560
embebida en la plataforma Ardupilot 2.8 [3].
Esta librería puede ser descargada en una carpeta comprimida desde la siguiente página:
[Link] dentro
de esta carpeta se encontrará también sus instrucciones para su instalación y además contiene un
ejemplo de un modelo en Simulink® [3].
En la Figura 23 se puede observar la página de donde se puede obtener la librería APM2 Simulink
Blockset, la misma que sirve para realizar una comunicación con la tarjeta ATMega 2560, de la
cual dispone ArduPilot.
Para lograr enlazar Simulink de Matlab® 2012a con la plataforma ArduPilot se requiere haber
descargado los archivos [13]:
14
CAPITULO 3. INTERFAZ DE COMUNICACIÓN (SIMULINK)
4. Hacer clic en Next, a lo cual se abrirá una nueva ventana de dialogo en la que se debe
seleccionar la plataforma a utilizar, en este caso seleccionar la tarjeta Target Arduino
Mega 2560 como se observa en la Figura 26 [13].
15
CAPITULO 3. INTERFAZ DE COMUNICACIÓN (SIMULINK)
5. A continuación se abrirá una ventana de dialogo para verificar los detalles antes de
comenzar la instalación, para iniciar la instalación se debe dar clic en Install como se
muestra en la Figura 27 [13].
16
CAPITULO 3. INTERFAZ DE COMUNICACIÓN (SIMULINK)
8. Posterior se debe modificar los archivos [Link] (véase Figura 29), para ello se
debe abrir los archivos ubicados en la dirección
C:/MATLAB/Targets/R2012a/arduino/include/io_wrappers.h y los archivos ubicados en
C:/MATLAB/Targets/R2012b/arduino/src/io_wrappers.cpp. Se debe modificar el código
(véase Figura 30 y Figura 31) agregando #if 0 como primera línea de código y #endif
como última línea de código, finalmente se debe guardar y sobrescribir los archivos [13].
17
CAPITULO 3. INTERFAZ DE COMUNICACIÓN (SIMULINK)
1. Se debe crear un nuevo directorio para el proyecto (véase Figura 32), la misma que deberá
contener los archivos “arduino” y “blocks”, estos se encontraran en el ZIP que se descargó
anteriormente.
Solo para comprobar que la librería se instaló correctamente y que compila de manera
correcta., esta dirección debe ser establecida como el directorio a trabajar en Matlab®
[13].
18
CAPITULO 3. INTERFAZ DE COMUNICACIÓN (SIMULINK)
2. Una vez generada la dirección se debe añadir las carpetas y sub carpetas, esto se indica en
la Figura 33 [13].
19
CAPITULO 3. INTERFAZ DE COMUNICACIÓN (SIMULINK)
20
CAPITULO 3. INTERFAZ DE COMUNICACIÓN (SIMULINK)
- Analog IO.
BLOQUE DESCRIPCION
21
CAPITULO 3. INTERFAZ DE COMUNICACIÓN (SIMULINK)
- Baro.
BLOQUE DESCRIPCION
BLOQUE DESCRIPCION
- Discrete IO.
BLOQUE DESCRIPCION
22
CAPITULO 3. INTERFAZ DE COMUNICACIÓN (SIMULINK)
- Flash.
BLOQUE DESCRIPCION
Tabla 9 Flash
- GPS.
BLOQUE DESCRIPCION
Fix Type:
23
CAPITULO 3. INTERFAZ DE COMUNICACIÓN (SIMULINK)
- IMU.
BLOQUE DESCRIPCION
Tabla 11 IMU
- Magnetometer.
BLOQUE DESCRIPCION
Tabla 12 Magnetómetro
- Pitot.
BLOQUE DESCRIPCION
Tabla 13 Pitot
- Serial.
BLOQUE DESCRIPCION
24
CAPITULO 3. INTERFAZ DE COMUNICACIÓN (SIMULINK)
Tabla 14 Serial
- RC Channels.
BLOQUE DESCRIPCION
Tabla 15 Canales RC
- Timming.
BLOQUE DESCRIPCION
25
CAPITULO 3. INTERFAZ DE COMUNICACIÓN (SIMULINK)
Tabla 16 Sincronización
Una de las ventajas de descargar el diagrama realizado sobre la plataforma es que evita hacer
trabajar al procesador del ordenador lo que permite que el ordenador realice otras tareas [13].
Los bloques que se utilizan para realizar diseños de estrategias de control en Simulink con la
plataforma ArduPilot son:
En la Figura 39 se aprecia el bloque “Analog Input” de la librería ArduPilot, en donde este bloque
permite la adquisición de datos de un proceso y permite visualizar estos datos en Simulink
26
CAPITULO 3. INTERFAZ DE COMUNICACIÓN (SIMULINK)
mediante un scope. Al bloque se debe configurar el Pin con el que se va a trabajar (A0). Las
características de este bloque se mencionaron anteriormente.
En la Figura 40 se presenta el bloque “Analog Output”, este bloque permitirá enviar datos desde
la plataforma ArduPilot al proceso con el que se trabaje. En este bloque se debe configurar el Pin
que se utilizara (A13). Las características de este bloque se mencionaron anteriormente
27
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
CAPÍTULO 4
4. SISTEMAS DE CONTROL AUTOMÁTICO
4.1. Identificación del Sistema.
4.1.1. Planta B del laboratorio de Control y Automatización Totalmente
Integrado de la Universidad Politécnica Salesiana Sede Cuenca.
Esta planta es ideal para realizar lazos de control tanto de flujo como de nivel. Para evaluar el
desempeño de la plataforma ArduPilot se ha seleccionado el lazo de flujo el cual contiene los
instrumentos detallados en la Tabla 17.
Figura 41Planta B del laboratorio de control y automatización totalmente integrado de la Universidad Politécnica
Salesiana
28
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
Posicionador
Electroneumático Digital
Modelo: Burkert 8792
Alimentación: 24 VDC +/- 10%
Presión: 1.4 a 7 bar
Salida: 4-20 mA, 0-20 mA, 0-10 V, 0-5 V
Variador de frecuencia
Modelo: Danfoss VLT 2800
Comunicación: Mediante protocolos de
comunicación (hart o profibus).
Tensión de alimentación: 200 a 220 Voltios.
Frecuencia de alimentación: 50/60 Hz ±3Hz.
Factor de potencia real: 0.9 a carga nominal.
Factor de potencia de desplazamiento: >0.98.
Donde:
- LI-101=Indicador de Nivel.
- FI-101=Indicador de Flujo.
- LIC-201=Indicador Controlador de Nivel.
- FC-201=Controlador de Flujo.
- LAH-90=Alarma de Nivel Alto.
- LAL-25 Alarma de Nivel Bajo.
- P-101=Bomba de Agua.
- TK-101=Tanque de Reserva
- Variador-101=Variador de Frecuencia
29
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
Para la identificación del sistema se ha generado escalones con diferentes valores de amplitud,
para ello se ha realizado un diseño en el software Simulink (véase Figura 43) el mismo que
permitirá enviar señales desde la plataforma hacia la Planta B y también permitirá adquirir las
señales de comportamiento del sistema a los cambios de referencia que se generen.
En la Figura 43 se puede observar un programa realizado en Simulink, el cual sirve para identificar
el proceso. Este programa dispone de una entrada analógica y una salida analógica para la lectura
y escritura de las variables respectivamente. Los bloques Matlab Function sirven para hacer un
escalado de dichas variables de manera que puedan ser escritas y leídas de manera correcta, es
decir la entrada analógica lee la señal en un rango de 0-1023 y esta debe ser convertida a una
señal de voltaje de 0-5V, mientras que la salida analógica debe ser convertida de 0-5V a 0-255
que es el rango con el que trabaja la plataforma ArduPilot.
30
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
En la Figura 44 se muestra la respuesta del sistema a los escalones generados, en donde la señal
azul es el escalón generado y la señal de color rojo es la respuesta del sistema. En el eje ‘x’ se
encuentra el número de muestras y en el eje ‘y’ se encuentra el valor en voltaje.
31
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
En la ventana principal del comando “ident” (véase Figura 45) se ingresa el nombre de las
variables que contienen los datos de entrada y salida del proceso, los cuales fueron obtenidos con
el diagrama mostrado en la Figura 44. Otro parámetro que se debe configurar es el tiempo de
muestreo con el que se realizó la identificación del sistema (6 ms). Una vez configurado estos
parámetros se presiona “Import” y aparecerá otra ventana (véase Figura 47).
32
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
Una vez indicado el número de polos y ceros se presiona “Estimate” y la herramienta presentará
en la cuadricula derecha el modelo estimado (véase Figura 49).
33
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
La acción de control designada para un controlador PID en tiempo continúo esta descrita por la
ecuación 1.
1 𝑑𝑒(𝑡)
𝑢(𝑡) = 𝐾𝑝 [ 𝑒(𝑡) + ∫ 𝑒(𝜏)𝑑𝜏 + 𝑇𝑑 ] (1)
𝑇𝑖 𝑑𝑡
Mediante el software Matlab® es posible realizar la sintonización del controlador PID con la
ayuda del comando “Sisotool” (véase Figura 53), se puede sintonizar de manera automática o de
manera gráfica. La forma gráfica consiste en un método interactivo que permite la variación de
polos y ceros dentro del lugar geométrico de las raíces [18].
Otra forma de sintonizar controladores PID es mediante comando “Pidtool” (véase Figura 54) de
Matlab, en donde las constantes de sintonización se encuentran gráficamente. En “Pidtool” se
34
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
observa la respuesta al escalón del controlador dependiendo del valor de las tres constantes “Kp”,
“Ki” y “Kd”.
Donde:
Vector de estado:
x (k) = vector n
Vector de salida:
y (k) = vector m
Vector de entrada:
u(k) = vector r
Matriz de Estado:
G(k) = matriz nxn
Matriz de Entrada:
H(k) = matriz nxr
Matriz de Salida:
C(k) = matriz mxn
Matriz de transmisión directa:
D(k)= matriz mxr
35
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
Figura 55 Diagrama de bloques de un sistema de control lineal en tiempo discreto invariante en el tiempo
representado en el espacio de estado [19].
Existen casos en los que no todas las variables de estado están disponibles para su medición
directa, es por ello que mediante un observador se pueden estimar las variables que no se miden
directamente, esto se logra tomando en cuenta las variables de salida y de control. Un observador
solo se puede diseñar si se cumple la condición de observabilidad. La condición de observabilidad
se puede verificar mediante las ecuaciones 4 y 5, siendo esta las ecuaciones de estado y de salida
respectivamente [20].
Donde
Vector de estado:
x(k) = vector n
Vector de salida:
y(k) = vector m
Vector de control:
u(k) = vector r
Matriz no singular:
G(k) = matriz nxn
Matriz:
H(k) = matriz nxr
Matriz:
C(k) = matriz mxn
36
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
Donde
Vector de estado:
x(k) = vector n
Vector de salida:
y(k) = vector m
Vector de control:
u (k) = vector r
Matriz no singular:
G (k) = matriz nxn
Matriz:
H (k) = matriz nxr
Matriz:
C (k) = matriz mxn
Matriz de Ganancia de realimentación de estado:
K (k) = matriz mxr
Se forma un sistema de control con realimentación de estado observado, el cual se puede apreciar
en la Figura 58 y está descrito por la ecuación 10. A este sistema se le llama comúnmente
observador de predicción [20].
37
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
Un sistema de seguimiento añade uno o más integradores dentro del lazo cerrado de control. El
controlador integral que se observa en la Figura 59 está formado por m elementos integradores,
determinados por las m entradas que dirigen al sistema o también llamadas m referencias [20].
Las matrices K1 y K2 que se observan en la Figura 59, sirven como un parámetro de diseño [20].
Estas matrices se pueden determinar mediante la ubicación de polos en lazo cerrado [20]. Estas
matrices se pueden encontrar con distintos métodos como la fórmula de Ackerman y el Filtro de
Kalman, a su vez las matrices K1 y K2 deseadas se pueden calcular mediante la ecuación 11.
𝐺 − 𝐼𝑛 𝐻 ̂ + [0 ⋮ 𝐼𝑚 ]
[𝐾2 : 𝐾1 ] [ ]=K (11)
𝐶𝐺 𝐶𝐻
38
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
̂ será 𝑚 × (𝑛 + 𝑚) matriz.
Donde 𝐾
̂ = [𝐾2 𝐺 − 𝐾2 + 𝐾1 𝐶𝐺 ⋮ 𝐼𝑚 + 𝐾2 𝐻 + 𝐾1 𝐶𝐻]
𝐾 (12)
𝐶 0
𝐶𝐴 0
𝐾𝑒 = ∅(𝐴) ∙ 𝐶𝐴2 −1 ∙ 0 (13)
⋮ ⋮
[𝐶𝐴𝑛−1 ] [1]
Otra alternativa para observar los estados de un sistema es el Filtro de Kalman, el cual mediante
el uso de ecuaciones matemáticas desarrolla un estimador predictor-corrector, para disminuir la
covarianza del error estimado [21].
𝑦𝑘 = 𝐶𝑘 𝑥𝑘 + 𝑣𝑘
Donde:
Las variables 𝑤𝑘 y 𝑣𝑘 se pueden representar con una distribución normal de probabilidad como
se muestra en las ecuaciones 15 y 16.
En esta fase se estima el estado actual mediante la ecuación 17 y además se calcula la covarianza
del error P mediante la ecuación 18, partiendo del error en el instante anterior [21].
39
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
El control predictivo es la estrategia más común de control por computador. Este tipo de
controlador consiste en predecir el comportamiento de las salidas del sistema. En el control
predictivo basado en modelo se dispone de un horizonte de predicción y un horizonte de control.
Se denomina horizonte de predicción al intervalo de tiempo que se va a predecir considerando
que este intervalo está dado por instantes de muestreo. El horizonte de control deberá ser menor
al horizonte de predicción, de tal manera que para comportamientos que se encuentren más allá
del horizonte de control la acción de control deberá ser constante [22].
40
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
La formulación matemática para el MPC utilizando espacio de estados parte de un modelo con
integrador embebido el cual asegura tener un error nulo en el estado estacionario (véase las
ecuaciones 23 y 24).
𝐶𝑒
∆𝑥(𝑘)
𝑦(𝑘) = ⏞
[𝑜𝑚 1] [ ] (26)
𝑦(𝑘)
Del modelo aumentado se calcula las predicciones de estado y salida el instante presente 𝑘𝑖 (véase
las ecuaciones 27, 28 y 29).
𝑥(𝑘𝑖 + 𝑁⃓ 𝑘𝑖 ) = 𝐴𝑁 𝑁−1
𝑒 𝑥(𝑘𝑖 ) + 𝐴𝑒 𝐵𝑒 △ 𝑢(𝑘𝑖 ) + 𝐴𝑁−𝑀
𝑒 𝐵𝑒
△ 𝑢(𝑘𝑖 + 𝑀 − 1) (29)
Para las predicciones de salida se utiliza el mismo criterio (véase las ecuaciones 30, 31 y 32).
41
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
𝑦(𝑘𝑖 + 𝑁⃓ 𝑘𝑖 ) = 𝐶𝑒 𝐴𝑁 𝑁−1
𝑒 𝑥(𝑘𝑖 ) + 𝐶𝑒 𝐴𝑒 𝐵𝑒 △ 𝑢(𝑘𝑖 ) + 𝐶𝑒 𝐴𝑁−2
𝑒 𝐵𝑒 △ 𝑢(𝑘𝑖 + 1) + 𝐶𝑒 𝐴𝑁−𝑀
𝑒 𝐵𝑒
△ 𝑢(𝑘𝑖 + 𝑀 − 1) (32)
Donde F y Φ están basados en las matrices del modelo aumentado (véase las ecuaciones 34 y 35).
𝐶𝑒 𝐴𝑒
𝐶𝑒 𝐴2𝑒
𝐹 = 𝐶𝑒 𝐴3𝑒 (34)
⋮
[𝐶𝑒 𝐴𝑁
𝑒]
𝐶𝑒 𝐵𝑒 0 ⋯ 0
𝐶𝑒 𝐴𝑒 𝐵𝑒 𝐶𝑒 𝐵𝑒 ⋯ 0
𝐹 = 𝐶𝑒 𝐴2𝑒 𝐵𝑒 𝐶𝑒 𝐴𝑒 𝐵𝑒 ⋯ 0 (35)
⋮ ⋮ ⋯ ⋮
𝑁−2 ⋯ 𝐶𝑒 𝐴𝑁−𝑀
[𝐶𝑒 𝐴𝑁−1
𝑒 𝐵𝑒 𝐶𝑒 𝐴𝑒 𝐵𝑒 𝑒 𝐵𝑒 ]
La función de coste (véase ecuación 36) minimiza el error entre la salida predicha y el punto de
ajuste Rs considerando los parámetros de la señal ∆𝑈 (véase ecuación 37 y 38).
Donde:
Una vez encontrado el vector ∆𝑈 únicamente se considera el primer elemento de este vector,
mientras que los restantes son omitidos. Con el primer elemento de ∆𝑈 se puede calcular la acción
de control U, que será enviada a la planta en cada instante de muestreo.
Un controlador adaptativo permite realizar un ajuste automático en el control del sistema cuando
existan perturbaciones externas que puedan cambiar el funcionamiento del sistema. Este
controlador es robusto y sencillo [23].
42
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
Donde:
Para hallar el modelo de referencia necesario para el controlador Adaptativo se debe partir de un
proceso de lazo cerrado como se aprecia en la Figura 63.
Donde la accion de control del controlador PID esta descrita por la ecuación 41.
𝑘𝑖 ∗ 𝐸(𝑡)
𝑈 = 𝑘𝑝 ∗ 𝐸(𝑡) + + 𝑘𝑑 ∗ 𝑠 ∗ 𝐸(𝑡) (41)
𝑠
𝑘𝑝 ∗ 𝑠 + 𝑘𝑖 + 𝑘𝑑 ∗ 𝑠 2
𝑈 = 𝐸(𝑡) ( ) (42)
𝑠
𝐺(𝑠) ∗ 𝐶(𝑠)
𝑀(𝑠) = (43)
1 + 𝐺(𝑠)𝐶(𝑠)𝐻(𝑠)
Donde
𝑘
𝐺(𝑠) =
𝑠2 + 𝐴1 𝑠 + 𝐴2
𝑘𝑝 ∗ 𝑠 + 𝑘𝑖 + 𝑘𝑑 ∗ 𝑠 2
𝐶(𝑠) = ( )
𝑠
𝐻(𝑠) = 1
Reemplazando los datos en la ecuación 43 se tiene el modelo de referencia de tercer orden para
el controlador PID Adaptativo (véase ecuación 44).
43
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
𝑘 ∗ (𝑘𝑑 ∗ 𝑠 2 + 𝑘𝑝 ∗ 𝑠 + 𝑘𝑖)
𝑀(𝑠) = (44)
𝑠 3 + 𝑠 2 (𝐴1 + 𝑘𝑑) + 𝑠(𝐴2 + 𝑘 ∗ 𝑘𝑝) + 𝑘 ∗ 𝑘𝑖
Para hallar las constantes del controlador PID adaptativo (véase ecuaciones 45, 46 y 47) se utiliza
la regla de MIT.
𝛾′ 𝑠
𝑘𝑝 = − 𝑒( 3 2
) 𝐸(𝑠) (45)
𝑠 𝑠 + 𝐴1 𝑠 + 𝐴2 𝑠 + 𝐴3
𝛾′ 1
𝑘𝑖 = − 𝑒( 3 2
) 𝐸(𝑠) (46)
𝑠 𝑠 + 𝐴1 𝑠 + 𝐴2 𝑠 + 𝐴3
𝛾′ 𝑠2
𝑘𝑑 = − 𝑒( 3 ) 𝐸(𝑠) (47)
𝑠 𝑠 + 𝐴1 𝑠 2 + 𝐴2 𝑠 + 𝐴3
Donde:
𝐸(𝑠) representa la señal de error, 𝐴1 , 𝐴2 y 𝐴3 son parámetros del sistema a controlar y gamma
prima es una constante de sintonía del controlador.
Una vez encontrada la función de transferencia del proceso de flujo se debe diseñar las estrategias
de control para lo cual se utiliza Simulink de Matlab®. La primera estrategia de control a diseñar
es el controlador PID (véase Figura 64 ) para lo cual se utiliza el comando “pidtool” de Matlab®
el mismo que permite encontrar los parámetros de sintonización del controlador. El comando
“pidtool” necesita conocer la función de transferencia para generar un respuesta al escalón (véase
Figura 65) y de tal manera obtener las constantes (KD, KP, KI) necesarias para el controlador
PID.
Las constantes obtenidas con la ayuda del comando “pidtool” y con las que la respuesta al escalón
responde de la mejor manera se las puede apreciar en la Figura 66. Posteriormente estas constantes
deben ser ingresadas en el diseño del controlador PID (véase Figura 64). Los valores de las
constantes ingresadas en el diseño del controlador en Simulink se los puede apreciar en la Figura
67, Figura 68 y Figura 69.
44
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
En la Figura 64 se puede apreciar el diagrama del PID y la función de transferencia del sistema a
controlar. Aquí se debe configurar las constantes del controlador y también se configura el tiempo
de muestreo.
Figura 67 Constante KD
45
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
Figura 68 Constante KP
Figura 69 Constante KI
Se realizó la simulación del controlador PID para el proceso de flujo, en donde se analiza el
comportamiento que muestra el sistema. En la Figura 70 se encuentra el diseño realizado para la
simulación.
46
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
Se debe primero comprobar que el sistema sea observable y controlable, para lo cual se utiliza los
comandos “obsv” “ctrb” y rank” de MatLab®, estos comandos se los aprecia en el apéndice A.
En el diseño de un controlador por retroalimentación de estados se requiere de la matriz de estados
G, la matriz de entrada H y la matriz de salida C, los cuales son calculados con un código realizado
en Matlab® (véase Apéndice “A”).
Figura 72 Diseño del controlador en Espacio de Estados en tiempo discreto para el proceso de flujo
47
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
Para hallar las matrices expuestas anteriormente se utiliza el comando “ident” de Matlab®, en
donde los valores que se utilizan son los de la señal de entrada y de salida que se obtuvieron
anteriormente en la identificación del proceso de flujo esto se puede observar en la Figura 74.
Ahora se deben estimar los datos de entrada y salida a un modelo en espacio de estados en tiempo
discreto de segundo orden, esto se puede observar en la Figura 75.
48
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
Finalmente se debe presionar en “Estimate” y se presentará una nueva ventana que contiene las
matrices solicitadas (véase Figura 76).
Estas matrices se guardaran en un archivo .m, para ser usadas posteriormente en el código
generado para encontrar los parámetros de esta estrategia de control.
Donde:
- 𝐺=𝐴
- 𝐻=𝐵
- 𝐶=𝐶
- 𝐷=𝐷
49
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
0.9987 −0.0095
𝐺=[ ]
0.0096 0.9638
−1.7726𝑒 − 06
𝐻=[ ]
−1.0795𝑒 − 04
𝐶 = [ 100.8985 −0.4497]
𝐷=0
Figura 77 Matrices del espacio de estados representadas como un modelo de nombre MatricesSS
Se puede saber la aproximación del modelo identificado en espacio de estados con los datos de
entrada y salida ingresados. En la Figura 78 se puede observar que el modelo discreto en Espacio
de Estados tienen una aproximación de 78.11%.
50
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
Para el diseño de los polos se tomó en cuenta el tiempo de asentamiento del sistema ts y el factor
de amortiguamiento ƺ. Una vez obtenido estos parámetros se formó el polinomio característico
de un sistema de segundo orden, el cual se muestra en la ecuación 19.
Donde:
ƺ𝜔𝑛 = 𝜎 (20)
4
𝜎= (21)
𝑡𝑠
Se procede a obtener las raíces del polinomio, estos factores son los polos que necesita el comando
“acker”, para ello se usa otro comando llamado roots, en donde se coloca los coeficientes del
polinomio y nos devuelve los polos del sistema.
Para el cálculo de la matriz Ke se usó el filtro de Kalman. Para ello se debe tener las matrices en
forma discreta.
Las Condiciones iniciales que se han colocado fueron las constantes de covarianza de la
perturbación del proceso Q y la matriz de la perturbación de la medida R, ya que estas no deben
cambiar en el tiempo.
51
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
controlada (color azul) con la referencia (color rojo) y en la gráfica inferior se observa la señal de
control (color azul).
Con la función de transferencia obtenida en la identificación del proceso de flujo se debe obtener
las matrices A, B, C y D (véase Figura 81), que pueden ser calculadas con el comando “tf2ss” de
Matlab® el mismo que está encargado de convertir una función de transferencia a espacio de
estados.
Posteriormente las matrices A, B, C y D deben ser convertidas a matrices discretas Adis, Bdis,
Cdis y Ddis (véase Figura 81) para lo cual se usa el comando “c2d” de Matlab®. También se
calcula las matrices Φ y F lo cual se lo puede apreciar en el Apéndice B.
52
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
Se procede a generar la acción de control para la cual se requiere obtener las matrices Φ y F, las
matrices del sistema en espacio de estados, la señal de entrada y la retroalimentación. Todo este
proceso está realizado en un código de Matlab® [18] que se muestra en el Apéndice B.
Además esta estrategia de control requiere de la matriz de ganancia del observador, la cual es
calculada mediante el filtro de Kalman.
En el diseño que se realizó se encuentra un math script (véase Figura 83) el cual realizara el
proceso matemático necesario para obtener la acción de control. Dentro del math script se
encuentra el código que se ha explicado anteriormente. El código dentro del math script se ejecuta
durante toda la simulación, en donde se realiza todos los cálculos matriciales para obtener la
acción de control.
53
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
𝐾𝑚
𝑠3 + 𝐴1𝑠 2+ 𝐴2𝑠 + 𝐴3
Donde:
𝐾 ∙ 𝜔2 2
𝐾𝑚 =
𝜏
En la Figura 85 se aprecia el diseño de simulación del controlador PID Adaptativo. Para el cálculo
de los parámetros del modelo de referencia presentado anteriormente se debe considerar el tiempo
de asentamiento del sistema ts, el factor de amortiguamiento ƺ, y el valor real de los polos según
el tiempo de asentamiento por el criterio del 2% 𝜎, como condiciones iniciales del sistema. Una
54
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
55
CAPITULO 4. SISTEMAS DE CONTROL AUTOMÁTICO
56
CAPITULO 5. IMPLEMENTACIÓN DE ESTRATEGIAS Y EVALUACIÓN DE LA
PLATAFORMA.
CAPÍTULO 5
5. IMPLEMENTACIÓN DE ESTRATEGIAS Y
EVALUACIÓN DE LA PLATAFORMA.
5.1. Implementación de Controladores.
5.1.1. Esquema de conexión entre la plataforma ArduPilot y proceso de
flujo para la implementación de estrategias de control.
En la Figura 87 se observa la forma que debe ser conectada la plataforma ArduPilot sobre el
sistema para poder implementar las estrategias de control mencionadas anteriormente. Se
configurara el posicionador electroneumático para que funcione con una señal de voltaje en un
rango de 0 a 5 voltios, mientras que para la adquisición de los datos se debe ubicar una resistencia
de 250Ω en serie con el sensor de flujo para así convertir la señal de corriente (4-20mA) a una
señal de voltaje en un rango de 1 a 5 voltios.
Figura 87 Conexión del dispositivo APM ArduPilot 2.8 con el Panel frontal del Sistema.
57
CAPITULO 5. IMPLEMENTACIÓN DE ESTRATEGIAS Y EVALUACIÓN DE LA
PLATAFORMA.
Simulink mediante un “Scope”. El bloque “LED Blue” sirve para avisar al operario que el diseño
se ha cargado sobre la plataforma y esta puede empezar a funcionar.
58
CAPITULO 5. IMPLEMENTACIÓN DE ESTRATEGIAS Y EVALUACIÓN DE LA
PLATAFORMA.
Los resultados obtenidos de la implementación del controlador PID con la plataforma ArduPilot
se puede observar en la Figura 92, Figura 93.
59
CAPITULO 5. IMPLEMENTACIÓN DE ESTRATEGIAS Y EVALUACIÓN DE LA
PLATAFORMA.
Figura 94 Controlador en Espacio de Estados en tiempo discreto diseñado en Simulink para la proceso de flujo.
60
CAPITULO 5. IMPLEMENTACIÓN DE ESTRATEGIAS Y EVALUACIÓN DE LA
PLATAFORMA.
61
CAPITULO 5. IMPLEMENTACIÓN DE ESTRATEGIAS Y EVALUACIÓN DE LA
PLATAFORMA.
En la Figura 98 se muestra el diseño del controlador MPC realizado en Simulink el cual será
descargado sobre la plataforma ArduPilot, este diseño usa la librería propia de la plataforma y
además dispone del math script que realizara la formulación matemática que ejecutara la
plataforma para obtener la señal de control.
En la Figura 99, Figura 100 y Figura 101 se muestra los resultados obtenidos de la implementación
del controlador MPC aplicados sobre el sistema con diferentes parámetros de sintonía, la Figura
99, Figura 100 y Figura 101 muestran cambios de referencia generados y se visualiza el
comportamiento del sistema a estos cambios de referencia. La señal de color rojo representa la
referencia que se ha generado y la señal azul de la parte superior de la gráfica representa la señal
controlada, mientras que la señal azul de la parte inferior de la gráfica representa la acción de
control.
Figura 99 Comportamiento del sistema con la implementación del controlador predictivo basado en modelo, con los
parámetros de sintonización Nc=2, Np=3 y rw=50
62
CAPITULO 5. IMPLEMENTACIÓN DE ESTRATEGIAS Y EVALUACIÓN DE LA
PLATAFORMA.
Figura 100 Comportamiento del sistema con la implementación del controlador predictivo basado en modelo, con
los parámetros de sintonización Nc=2, Np=3 y rw=150
Figura 101 Comportamiento del sistema con la implementación del controlador predictivo basado en modelo, con
los parámetros de sintonización Nc=2, Np=4 y rw=80
63
CAPITULO 5. IMPLEMENTACIÓN DE ESTRATEGIAS Y EVALUACIÓN DE LA
PLATAFORMA.
Los resultados obtenidos de la implementación del controlador PID con la plataforma ArduPilot
se puede observar en la Figura 103.
Figura 102 Controlador PID Adaptativo diseñado en Simulink para el proceso de flujo.
64
CAPITULO 5. IMPLEMENTACIÓN DE ESTRATEGIAS Y EVALUACIÓN DE LA
PLATAFORMA.
Controlador PID
Controlador en Espacio de Estados en tiempo discreto
Controlador PID Adaptativo
Controlador Predictivo Basado en Modelo (MPC)
Para un mejor análisis se ha realizado una comparación entre distintas estrategias de control:
Se ha enviado una misma referencia a las dos estrategias de control en un tiempo de 200 segundos
de simulación.
En la Figura 104 se puede apreciar que el controlador predictivo basado en modelo a pesar de
tener un sobrepaso (Mp) mayor que el controlador PID, tiende a estabilizarse en un tiempo menor
que el controlador PID.
El controlador MPC es más rápido debido a que mediante el horizonte de predicción es capaz de
predecir muestras futuras en su salida.
Se ha enviado una misma referencia a las dos estrategias de control en un tiempo de 200 segundos.
65
CAPITULO 5. IMPLEMENTACIÓN DE ESTRATEGIAS Y EVALUACIÓN DE LA
PLATAFORMA.
Figura 105 Comparación entre un Controlador en Espacios de Estados Discreto y un Controlador PID Adaptativo.
En la Figura 105 se puede apreciar que el controlador PID Adaptativo tiende a estabilizarse en un
tiempo menor que el controlador discreto en Espacio de Estados.
El controlador PID Adaptativo es más rápido luego de adaptarse al primer cambio de referencia
en subida y al primer cambio de referencia de bajada, esto se debe a que el controlador se adapta
a las condiciones externas y ajusta el modelo conforme este funciona.
66
CONCLUSIONES Y RECOMENDACIONES
CAPÍTULO 6
6. CONCLUSIONES Y RECOMENDACIONES
En la actualidad existen diversas plataformas embebidas capaces de soportar diseños realizados
en Matlab®-Simulink. Una de estas plataformas es ArduPilot, que es una tecnología de bajo costo
y también es compatible con software de computadora como Windows XP, Windows 7 y
Windows 8. Una ventaja de trabajar con ArduPilot es que esta plataforma genera su propia
librería lo que facilita la comunicación entre el ordenador y la plataforma.
La identificación del sistema de control con el que se trabajó en este proyecto de titulación fue
mediante “ident” de Matlab®, en donde primero se generó una señal con escalones de diferentes
amplitudes y se adquirió los datos del comportamiento del sistema frente a esta señal generada.
El comando “ident” permite obtener el modelo matemático del sistema de una manera eficaz.
Matlab®-Simulink es un software que permite diseñar estrategias de control avanzado como por
ejemplo el controlador por realimentación de estados, el controlador PID Adaptativo y el
controlador predictivo basado en modelo, este tipo de controladores requiere de un proceso
matemático complejo el cual puede ser desarrollado en Simulink mediante el uso del bloque Math
Script .
Para la implementación de las estrategias de control de este proyecto de titulación se realiza una
comunicación USB entre el ordenador y la plataforma ArduPilot. Con la ayuda de este tipo de
comunicación se logra descargar los diseños realizados en el software Simulink sobre la
plataforma embebida.
La primera estrategia de control que se probó mediante la plataforma Ardupilot fue el controlador
PID, al ser Matlab ® un software que usa lenguaje de cálculo técnico y posee algoritmos
matemáticos para desarrollo e implementación de estrategias de control, se han usado dos
herramientas conocidas y sencillas para la sintonización de controladores PID. La primera
estrategia que se uso fue el comando “sisotool”, el cual nos entrega la ecuación del controlador
PID, es importante mencionar que partiendo de esta ecuación se encontraran las contantes KP, KI
y KD necesarias para la sintonización del mismo, el segundo comando que se uso fue “pidtool”
esta herramienta podría ser más sencilla y eficaz que la primera, ya que esta nos entrega según
los requerimientos de diseño del controlador los paramentos de sintonización KP, KI y KD. En
las dos herramientas o comando utilizados es necesario tener la función de transferencia en “s”
ya que se implementó un controlador PID en tiempo continuo.
El controlador en Espacio de Estados en tiempo discreto fue realizado identificando sus matrices
en espacio de estados mediante el comando “ident”, para encontrar la matriz de ganancia de
realimentación de estados K se usó la fórmula de Ackerman partiendo del cálculos de los polos
del sistema, utilizando parámetros de diseño como el tiempo de asentamiento ts y el factor de
amortiguamiento ƺ, para encontrar la matriz de ganancia de realimentación del observador Ke se
usó el Filtro de Kalman, tomando como constantes invariantes en el tiempo la covarianza de la
perturbación del proceso Q y la matriz de la perturbación de la medida R. El controlador obtenido
respondió acorde a las condiciones de diseño, por cual fue posible obtener su respuesta en régimen
permanente con distintos cambios de referencias y se pudo observar su acción de control al
introducir perturbaciones en el sistema.
67
CONCLUSIONES Y RECOMENDACIONES
El controlador PID adaptativo fue diseñado partiendo de una modelo de referencia de segundo
orden controlado por un PID normal, las especificaciones del controlador se diseñaron según un
tiempo de asentamiento ts y un factor de amortiguamiento ƺ. Se obtuvo como resultado un
controlador que se adapta al entorno de funcionamiento, es decir cuando se le presenta el primer
cambio de referencia en subida y en bajada tarda en llegar al régimen permanente o estabilización,
mientras que para los siguientes cambios de referencia reduce su tiempo de estabilización. La
plataforma respondió de manera correcta a pesar de la complejidad de cálculos matemáticos que
este controlador poseía.
Como trabajo futuro se sugiere la utilización de esta plataforma para el control de vehículos
aéreos, los mismos que pueden ser controlados con estrategias de control avanzado como las que
se detallan en este proyecto. Otro desafío importante sería evaluar el desempeño del controlador
MPC con restricciones, donde para cada iteración se debe resolver un problema de optimización
complejo.
68
APÉNDICES
APÉNDICES
APÉNDICE A
clear all;
clc;
T=0.006; %tiempo de simulación
load ('[Link]')
TF = ss(m.A,m.B,m.C,m.D);
TFd = c2d(TF,T,'zoh');
G = m.A;
H = m.B;
C = m.C;
D = m.D;
%CONTROLABLE
M=ctrb(G,H);
cont=rank (M) %el sistema es de estado completamente controlable
%OBSERVABLE
N=obsv(G,C);
obs=rank (N)%el sistema es de estado completamente observable
%%Modelo aumentado
tamC = size(C);
Am = [G (zeros(1,tamC(2)))';C*G 1];
Bm = [H;C*H];
Cm = [zeros(1,tamC(2)) 1];
%Calculo Polos
ts=5; %Tiempo de asentamiento del sistema
sigma=4/ts; % Valor real de los polos según el criterio de 2%
z=0.9; % Factor de amortiguamiento
wn=sigma/z; %Frecuencia natural
ecuacion=[1 2*(z)*(wn) wn^2]; %Ecuación característica
polos=roots(ecuacion);% Obtención de los polos
P2=[polos(1),polos(2),0];
P22=[polos(1),polos(2)];
%GANAN K1 y Ky
K2 = acker(Am',Cm',P2)
K22 = acker(G',C',P22)
K1 = [K2(1) K2(2)];
Ky=K2(3);
%OBSERVADOR CON FILTRO DE KALMAN
Qkal=0.000001;
Rkal=1;
[kalmf,L,v,M,Z] = kalman (TFd,Qkal,Rkal);
kalmf = kalmf(1,:);
Ke=M';
69
APÉNDICES
APÉNDICE B
%MPC SIN RESTRICCIONES PARA PLANTA SISO.
%SERVOMECANISMO PARA CONTROL DE POSICIÓN
%ALGORITMO CON INTEGRADOR EMBEBIDO (MODELO AUMENTADO)
%MODELO DE LA PLANTA IGUAL AL MODELO DE PREDICCIÓN
%AUTOR:
% ING. JULIO ZAMBRANO A.
%*********************************************************
%PARAMETROS DE SINTONIA
%*********************************************************
Kmpc = [0.90964;-2.047]; %Vector de ganancia del observador
Np=4; Nc=2;
N_sim=120;
rw=150;
re=re;
BarRs=ones(Np,1)*re;
u1=zeros(1,N_sim);
y1=zeros(1,N_sim);
u=ui; % u(k-1) =0
y=se;
%MODELO ORIGINAL
%CAMBIO DE CONTINUO A DISCRETO.
%PARAMETROS DEL SISTEMA.
A=[-6.417805788201525,-11.256216270631;1,0];
B=[1;0];
C=[-1.1864986236,7.91297160054];
D=0;
Acont=A;
Bcont=B;
Ccont=C;
Dcont=D;
Adis=[0.991658890022048,-3.035270448926868e-
05;0.005974941828596,0.999999908814768]
Bdis=[0.005974941828596;1.794984878661550e-05];
Cdis=[0.971400000000000,0.003750000000000];
Ddis=0;
% *********************************************************
% *********************************************************
% PARAMETROS DEL SISTEMA.
Acontc=A;
Bcontc=B;
Ccontc=C;
Dcontc=D;
Delta_t=0.1;
Adisc=[0.991658890022048,-3.035270448926868e-
05;0.005974941828596,0.999999908814768];
Bdisc=[0.005974941828596;1.794984878661550e-05];
Cdisc=[0.971400000000000,0.003750000000000];
Ddisc=0;
%MODELO AUMENTADO CON INTEGRADOR EMBEBIDO.
[m1,n1]=size(Cdisc);
[n1,n_in]=size(Bdisc);
A_e=eye(n1+m1,n1+m1);
A_e(1:n1,1:n1)=Adisc;
A_e(n1+1:n1+m1,1:n1)=Cdisc*Adisc;
B_e=zeros(n1+m1,n_in);
B_e(1:n1,:)=Bdisc;
B_e(n1+1:n1+m1,:)=Cdisc*Bdisc;
C_e=zeros(m1,n1+m1);
70
APÉNDICES
C_e(:,n1+1:n1+m1)=eye(m1,m1);
%**********************************************************
%CALCULO DE LAS MATRICES FI Y F
n=n1+m1;
h=zeros(Np,3);
F=zeros(Np,3);
h(1,:)=C_e;
F(1,:)=C_e*A_e;
for kk=2:Np
h(kk,:)=h(kk-1,:)*A_e;
F(kk,:)= F(kk-1,:)*A_e;
end
v=h*B_e;
Phi=zeros(Np,Nc); %declare the dimension of Phi
Phi(:,1)=v; % first column of Phi
for i=2:Nc
Phi(:,i)=[zeros(i-1,1);v(1:Np-i+1,1)]; %Toeplitz matrix
end
%***********************************************************
R=rw*eye(Nc,Nc);
xm=zeros(n-1,1);
Xf=zeros(n,1);
for kk=1:N_sim;
DeltaU=inv(Phi'*Phi+R)*Phi'*(BarRs-F*Xf);
deltau=DeltaU(1,1);
u=u+deltau;
u1(kk)=u;
y1(kk)=y;
xm_old=xm;
xm=Adis*xm+Bdis*u + Kmpc*(y - C*xm);
y=Cdis*xm;
Xf=[xm-xm_old;y];
control = u1(kk);
end
control=u1(kk);
71
APÉNDICES
APÉNDICE C
clc;
%Condiciones Iniciales
ts=1; %Tiempo de asentamiento del sistema
sigma=4/ts; %valor real de los polos según el criterio de 2%
z=0.9; %Factor de Amortiguamiento
wn=sigma/z;
tao=1/(z*wn);
k=1;
syms s;
%Ecuacion del Sistema de Tercer Orden
ecuacion=(s+(1/tao))*((s^2)+2*z*wn*s+(wn^2));
polinomio=expand(ecuación);
vector=sym2poly(polinomio);
A1=vector(2);
A2=vector(3);
A3=vector(4);
Km=(k*wn^2)/tao;
gammaP=12.2;
gammaI=2.75;
gammaD=1
72
APÉNDICES
APÉNDICE D
73
REFERENCIAS BIBLIOGRÁFICAS
REFERENCIAS BIBLIOGRAFICAS
[2] A. D. Team, «Archived: APM 2.5 and 2.6 Overview,» 2016. [En línea]. Available:
[Link] [Último
acceso: Agosto 2016].
[3] R. Hartley, «APM2 Simulink Blockset,» MATLAB Central, 13 Noviembre 2012. [En
línea]. Available: [Link]
apm2simulink-blockset. [Último acceso: Agosto 2016].
[4] burkert FLUID CONTROL SYSTEMS, «Type 8792, 8793 Electropneumatic positioner and
process controller,» 2009. [En línea]. Available:
[Link]
[Último acceso: Noviembre 2016].
[5] burkert FLUID CONTROL SYSTEMS, «FLOW TRANSMITTER 8035,» 2009. [En línea].
Available:
[Link]
[Último acceso: Noviembre 2016].
[8] E. Granados, «BeagleBoard Support from Simulink,» 2015. [En línea]. Available:
[Link] [Último acceso: Septiembre
2016].
[9] M. Kim, S. Malack, N. Gautier y K. Nunna, «LEGO MINDSTORMS NXT Support from
Simulink,» 2015. [En línea]. Available: [Link]
[Link]. [Último acceso: Septiembre 2016].
[10] B. McKay, «Raspberry PI Programming using Simulink,» 2015. [En línea]. Available:
[Link] [Último acceso:
Septiembre 2016].
[11] STMicroelectronics, «STM32 Embedded Target for MATLAB and Simulink,» 2015. [En
línea]. Available:
[Link]
[12] LV-MaxSonar, «High Performance Sonar Range Finder MB1000, MB1010, MB1020,
MB1030, MB1040,» 2015. [En línea]. Available:
74
REFERENCIAS BIBLIOGRÁFICAS
[17] C. Jara Ortiz y J. Maldonado Achig, «Diseño e implementación de un control PID y MPC
aplicado al posicionamiento lineal de un sistema neumático en bucle cerrado,» Cuenca,
2015.
[24] A. Anuradha, « Adaptive Control Lecture 7 Adaptive PID Control,» [En línea]. Available:
[Link] [Último acceso: Diciembre 2016].
75