IMPLEMENTACIÓN DE UN CONTROL POR RECHAZO ACTIVO DE...
Transcript of IMPLEMENTACIÓN DE UN CONTROL POR RECHAZO ACTIVO DE...
12-10-2018
IMPLEMENTACIÓN DE UN CONTROL POR RECHAZO ACTIVO DE PERTURBACIONES (ADRC) EN UN VEHÍCULO DE TRANSPORTE SEGWAY
UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD TECNOLOGICA
Implementación de un control por rechazo
activo de perturbaciones (ADRC) en un
vehículo de transporte Segway
Henry Daniel Casas Pira
Director
(PhD, Ingeniero) Alexander Jiménez Triana
Trabajo de grado para optar por el título de
Ingeniero en Control
Bogotá, Colombia
2018
HOJA DE ACEPTACIÓN
IMPLEMENTACIÓN DE UN CONTROL POR RECHAZO ACTIVO DE
PERTURBACIONES (ADRC) EN UN VEHÍCULO DE TRANSPORTE
SEGWAY
Observaciones.
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
________________________________________________________
______________________________________ Director del Proyector
PhD. Alexander Jiménez Triana
_______________________________
Jurado 1
_______________________________
Jurado 2
Tabla de Contenido
RESUMEN ................................................................................................................... 10
ABSTRACT ................................................................................................................... 12
1 INTRODUCCIÓN ................................................................................................. 14
1.2 Objetivos ................................................................................................... 15
1.3 Objetivo General ........................................................................................ 15
1.4 Objetivos Específicos.................................................................................. 15
2 ESTADO DEL ARTE .............................................................................................. 16
2.1 Diseño de Vehículos auto balanceados ....................................................... 16
2.2 Control en vehículos autobalanceados ........................................................ 18
2.2.1 Controlador de ganancia variable usando el método de colocación de
polos 19
2.2.2 Implementación de controlador LQR utilizando filtro de Kalman ........... 19
3 MODELO MATEMÁTICO ..................................................................................... 20
4 ESTRATEGIA DE CONTROL ADRC ........................................................................ 25
4.1 Control por rechazo activo de perturbaciones (ADRC) ................................ 25
4.1.1 Robustez ................................................................................................... 27
4.2 Aplicaciones prácticas de ADRC .................................................................. 28
4.2.1 Control de movimiento ............................................................................ 28
4.2.2 Regulación de tensión Web ..................................................................... 29
4.2.3 Control de temperatura en extrusión de manguera ............................... 30
4.3 Observadores de estados extendidos (ESO) ................................................ 31
4.4 Alternativa de Solución .............................................................................. 33
4.4.1 Diagramas de bloques de la solución. ...................................................... 33
4.5 Esquema implementado de Control ........................................................... 35
4.5.1 Discretizacion del Observador de Estados Extendido Lineal ................... 38
4.5.2 Observador de Estados Extendido Lineal en Microcontrolador .............. 39
4.6 Esquema de control en Simulink ................................................................ 39
5 INSTRUMENTACIÓN ........................................................................................... 40
5.1 Tarjeta de Desarrollo Arduino .................................................................... 41
5.1.1 Características Arduino Uno..................................................................... 42
5.2 Sensor MPU 6050 ....................................................................................... 42
5.3 Driver Dual para Motores........................................................................... 47
5.3.1 Driver L298N ............................................................................................. 47
5.3.2 Driver Sabertooth 2x12 ............................................................................ 48
5.3.2.1 Modulación por ancho de pulsos (PWM) ............................................ 50
5.4 Motores DC ................................................................................................ 51
6 ANÁLISIS DE RESULTADOS .................................................................................. 53
6.1 Simulación de LESO .................................................................................... 53
6.2 Implementación de Controlador PID ........................................................... 54
6.3 Señales de control ...................................................................................... 55
7 CONCLUSIONES .................................................................................................. 58
BIBLIOGRAFÍA ............................................................................................................. 59
Índice de figuras
Figura 1. Segway PT [12]. ..................................................................................... 16
Figura 2. Segway P.U.M.A [14] ............................................................................. 17
Figura 3. Balanbot Arduino Self-balancing Robot [15] ........................................... 17
Figura 4. nBot Balancing Robot [16]. ..................................................................... 18
Figura 5. Estructura del sistema de control del Segway [17]. ................................ 19
Figura 6. Diseño de controlador LQR [18]. ............................................................ 20
Figura 7. Circuito equivalente de un motor DC [19]. .............................................. 21
Figura 8. El análisis de fuerza de la rueda izquierda [19]. ..................................... 22
Figura 9. Análisis de fuerza del cuerpo del robot [19]. .......................................... 24
Figura 10. Plataforma de control de rechazo de perturbaciones [10]. ................... 27
Figura 11. Rendimiento para ECP Modelo 220 bajo el control de LADRC [9]. ...... 29
Figura 12. Errores de seguimiento de velocidad para IC, LBC y ADRC1 [9]. ........ 30
Figura 13. Errores de seguimiento de tensión para LBC, ADRC2 y ADRC1 [9]. ... 30
Figura 14. Ahorro de energía en una línea de extrusora de manguera [11]. ......... 31
Figura 15. Diagrama de bloques alternativa de solución (Autor). .......................... 34
Figura 16. Esquema general del control [3]. .......................................................... 36
Figura 17. Diagrama de Controlador en Simulink (Autor) ...................................... 39
Figura 18. Prototipo de vehículo Segway (Autor) ................................................. 40
Figura 19. Vehículo auto balanceado Segway (Autor) .......................................... 41
Figura 20. Tarjeta de Desarrollo Arduino [30]........................................................ 42
Figura 21. Sensor MPU 6050 [31]. ........................................................................ 44
Figura 22. Filtro complementario [31]. .................................................................. 45
Figura 23. Posición del sensor en el vehículo Segway (Autor).............................. 46
Figura 24. Posición del sensor en el robot prototipo (Autor). ............................... 46
Figura 25.Estructura general de driver L298N [31]. ............................................... 47
Figura 26. Driver L298N en prototipo Segway (Autor). .......................................... 48
Figura 27. Driver Sabertooth 2x12 [32]. ................................................................ 49
Figura 28. Driver Motores en vehículo Segway (Autor) ......................................... 50
Figura 29 Señal de control (PWM) en microcontrolador (Autor) ............................ 51
Figura 30. Diagrama general Motor DC parte interna [31]. ................................... 52
Figura 31. Motor Scooter [31]. ............................................................................... 53
Figura 32. Simulación de Observador de Estados Extendido Lineal (Autor). ........ 54
Figura 33. Estructura control PID [32]. .................................................................. 54
Figura 33. Parámetros del controlador (Autor). ..................................................... 55
Figura 34. Señal de entrada con controlador PID (Autor). .................................... 55
Figura 35. Señal de control ADRC (Autor). ........................................................... 56
Figura 36. Señal de control PID (Autor). ............................................................... 56
Figura 37. Persona de 40 kg sobre plataforma Segway (Autor) ............................ 57
Índice de tablas
Tabla 1. Parámetros y definiciones de un motor [22]. .......................................... 21
Tabla 2. Parámetros y definiciones del modelado de las ruedas [22]. .................. 23
Tabla 3. Parámetros y definiciones del modelo del cuerpo del robot. (autor) ........ 24
Tabla 4 Parámetros del controlador (autor) ........................................................... 37
Resumen
En este proyecto se aborda el diseño y control de un vehículo autobalanceado,
denominado en adelante “transportador personal Segway”. Éste es un sistema
inestable y altamente no lineal, en el cual, una plataforma se desplaza para
compensar el movimiento del vehículo y mantenerlo en equilibrio. Para lograrlo, se
hace necesaria la implementación de un controlador que pueda garantizar su
estabilidad y robustez ante perturbaciones endógenas y exógenas, como
empujones, resbalones, desnivel, viento y dinámicas no modeladas.
El vehículo autobalanceado de dos ruedas se basa en el principio del péndulo
invertido. La optimización del sistema de control de un vehículo de dos ruedas ha
sido un área de investigación en los últimos años. Esto se debe principalmente a su
dinámica no lineal donde se convirtió en una importante plataforma de prueba para
el diseño y desarrollo de misiles, automóviles, naves espaciales, robots. Pese a
existir diferentes técnicas a la hora de diseñar un regulador óptimo capaz de
estabilizar el Segway, no todas representan una buena opción, por su dificultad de
implementación o por no rechazar perturbaciones de diferente índole presentes en
un sistema de control real.
En el control de vehículos de transporte, y en particular en el control de vehículos
autobalanceados Segway, se han implementado diferentes tipos de controladores
diseñados con métodos de control clásicos y modernos como controladores PID y
Reguladores Lineales Cuadráticos, o LQR. Debido a las ventajas que proporciona
un controlador ADRC frente a sus predecesores clásicos o modernos, en este
proyecto se implementa este tipo de controlador en los vehículos Segway con el fin
de encontrar respuestas óptimas en estabilidad y robustez bajo la presencia de
distintas perturbaciones.
Para el desarrollo de este proyecto se realizó en primer lugar el desarrollo de la
plataforma prototipo que simula los parámetros de un vehículo autobalanceado de
dos ruedas, en este se realizan pruebas de equilibrio con dos tipos de controladores,
el primero de ellos, el controlador tradicional PID y el segundo un controlador ADRC,
con el fin de presentar las ventajas que tiene este segundo controlador, de igual
manera se realiza la obtención de la señal de posición del cuerpo del vehículo
mediante un sensor que contiene un acelerómetro y un giroscopio, facilitando así,
la adecuada instrumentación y acondicionamiento de señales en el sistema final
(vehículo Segway).
Este documento se divide principalmente en 7 capítulos. En el capítulo 1 se presenta
una breve introducción y los objetivos del proyecto.
El capítulo 2 muestra el estado del arte donde abarca la historia del vehículo auto
balanceado Segway, diseños del vehículo, y las distintas estrategias de control
implementadas.
En el capítulo 3 se presenta el modelo matemático del vehículo auto balanceado de
dos ruedas, con el fin de poder analizar con más detalles el comportamiento del
sistema.
En el capítulo 4 se abarca el observador de estados extendidos, aplicaciones del
control ADRC y la estrategia de control implementada en el vehículo para su
posterior comparación, análisis y simulaciones.
En el capítulo 5 se presenta el sensor, los controladores y demás instrumentación
que se seleccionaron para el prototipo a escala y el vehículo Segway.
En el capítulo 6 se muestran los resultados del sistema terminado donde se
comprueba el buen rendimiento ante perturbaciones simuladas como desniveles en
el suelo y personas sobre la plataforma con distinto peso. Finalmente en el capítulo
7, algunas conclusiones del proyecto.
Palabras clave: ADRC, Rechazo activo de perturbaciones, Vehículo de dos
ruedas, Robot de dos ruedas.
Abstract
In this document, the design and control of a self-balancing two-wheeled robot is
addressed. This is an unstable and highly non-linear system, in which, a platform
moves to compensate for the movement of the robot and keep it in balance. To
achieve this, the implementation of a route that guarantees balance and robustness
against endogenous and exogenous disturbances, such as shoves, slips,
unevenness, wind and unmodeled dynamics, must be made.
The self-balancing two-wheeled vehicle is based on the inverted pendulum principle.
The optimization of the control system of a two-wheeled vehicle has been an area
of research in recent years. This is mainly due to its non-linear dynamics where it
became an important test platform for the design and development of missiles,
automobiles, spacecraft, robots. Although there are different techniques when
designing an optimal regulator capable of stabilizing the Segway, not all represent a
good option, due to its difficulty of implementation or not to reject disturbances of
different types present in a real control system.
In the control of transport vehicles, and in particular in the control of Segway self-
balancing vehicles, different types of controllers designed with classic and modern
control methods such as PID controllers and Quadratic Linear Regulators, or LQR
have been implemented. Due to the advantages provided by an ADRC controller
compared to its classic or modern predecessors, in this project this type of controller
is implemented in Segway vehicles in order to find optimal responses in stability and
robustness under the presence of different disturbances.
For the development of this project was carried out in the first place the development
of the prototype platform that simulates the parameters of a self-balancing vehicle of
two wheels, in this equilibrium tests are performed with two types of controllers, the
first of them, the traditional controller PID and the second an ADRC controller, in
order to present the advantages that this second controller has, in the same way the
position signal of the vehicle body is obtained by means of a sensor that contains an
accelerometer and a gyroscope, thus facilitating , the adequate instrumentation and
conditioning of signals in the final system (Segway vehicle).
This document is divided mainly into 7 chapters. Chapter 1 presents a brief
introduction and the objectives of the project.
Chapter 2 shows the state of the art where it covers the history of the self-balancing
Segway vehicle, vehicle designs, and the different control strategies implemented.
Chapter 3 presents the mathematical model of the self-balancing two-wheeled
vehicle, in order to analyze the behavior of the system with more details.
Chapter 4 covers the observer of extended states and the two types of controllers
implemented in the vehicle for later comparison, analysis and simulations.
Chapter 5 presents the sensor, controllers and other instrumentation that were
selected for the prototype scale and the Segway vehicle.
Chapter 6 shows the results of the finished system where good performance against
simulated disturbances such as unevenness in the soil and people on the platform
with different weight is checked. Finally in chapter 7, some conclusions of the project.
Keywords: ADRC, Active disturbance rejection, Two-wheeled vehicle, Two-
wheeled robot.
1 Introducción
El vehículo Segway es un ejemplo clásico del concepto de péndulo invertido. El
péndulo invertido en su forma más simple consiste en un carro impulsado por dos
motores, los cuales se activan para controlar la posición de un péndulo invertido que
tiende a girar alrededor de una posición fija sobre el carro [1].Debido a que el
sistema de péndulo invertido es no lineal, inestable, no tiene una fase mínima y es
sub actuado [2], se considera como un punto de referencia ideal para las pruebas
de controladores en la teoría de control moderna y clásica [3].
En la literatura se han reportado varios esquemas de control para el control de
posición del sistema de robot de dos ruedas Segway. Los algoritmos de control
comúnmente utilizados son los siguientes: algoritmo de control difuso [4][5], el cual
presenta dificultad en establecer reglas difusas efectivas; algoritmos genéticos
[6][7], los cuales debido a la gran cantidad de cálculos que realizan, se usan
principalmente para optimización fuera de línea en lugar de control en tiempo real;
control de red neuronal [8], el cual generalmente necesita una gran cantidad de
datos experimentales para entrenar la red y realiza una gran cantidad de cálculos
para generar la señal sobre el actuador; y finalmente, la tecnología de control PID
[9], que es el algoritmo más utilizado pero tiene un gran sobre impulso, una
velocidad de ajuste lenta y una capacidad débil para resistir las perturbaciones
[9][10].
El control por rechazo activo de perturbaciones (ADRC) propuesto por el profesor
J. Q. Han, proporciona una nueva solución [11]. Hace uso de un observador de
estado extendido (ESO) para estimar y compensar las perturbaciones e
incertidumbres, logrando a menudo un pequeño sobre impulso, velocidad de
respuesta rápida y alta precisión, por lo que es adecuado para el control de sistemas
no lineales perturbados.
1.2 Objetivos
1.3 Objetivo General
Diseñar e implementar un control por rechazo activo de perturbaciones (ADRC)
para un vehículo Segway.
1.4 Objetivos Específicos
Obtener un modelo matemático del vehículo Segway que facilite la
realización de simulaciones del sistema de control ADRC.
Diseñar y construir un prototipo a escala de un vehículo Segway.
Instrumentar dispositivos de medición para la obtención de la velocidad y la
posición del vehículo Segway.
2 Estado del Arte
A continuación se presenta la evolución del vehículo auto balanceado,
específicamente el Segway siendo esté un transportador unipersonal, tanto diseños
comerciales como diseños desarrollados para el campo de la investigación en la
academia, de la misma manera, los controladores que se han implementado con
diferentes resultados.
2.1 Diseño de Vehículos auto balanceados
El Segway PT es un vehículo unipersonal de transporte de dos ruedas presentado
en la Figura 1, con autobalanceo controlado por ordenador, desarrollado por Dean
Kamen en el 2001. Tiene un complejo conjunto sensorial del equilibrio basado en
cinco giroscopios y dos sensores de inclinación. Su control de la trayectoria se basa
en la dirección de inclinación del manillar. Además, es respetuoso con el medio
ambiente gracias a sus motores eléctricos [12].
Figura 1. Segway PT [12].
Segway P.U.M.A. (Personal Urban Mobility and Accessibility) es un vehículo
lanzado conjuntamente por Segway Inc. y General Motors en el 2009, con
capacidad para transportar a dos pasajeros ilustrado en la Figura 2, este vehículo
posee la misma tecnología de estabilización de Segway PT para mantener el
equilibrio en dos ruedas paralelas durante la conducción. Además de las dos
principales ruedas en cada lado del vehículo, hay ruedas estabilizadoras pequeñas
en la parte delantera y trasera para apoyar el vehículo mientras está estacionado y
sirven además como limitadores del ángulo máximo de inclinación [14].
Figura 2. Segway P.U.M.A [14]
El Balanbot es un pequeño robot educativo desarrollado por un grupo de ingenieros
entusiastas (Steve Chang, Ryan Quin y Bruce Chen), el cual está montado en una
estructura de acrílico (Figura 3), utiliza un sensor MPU6050 que combina un
giroscopio y un acelerómetro para obtener el ángulo de inclinación y se conecta a
la placa Arduino a través de la interfaz I2C. También integra un L298P como
actuador de los motores y además permite una comunicación con otros dispositivos
mediante tecnología Bluetooth y Wifi. Presenta un soporte para tres pilas, que es de
donde se alimenta el robot [15].
Figura 3. Balanbot Arduino Self-balancing Robot [15]
nBot Balancing Robot es el diseño de un entusiasta llamado David Anderson en el
2003. En la Figura 4 se presenta el robot en el cual utiliza un giroscopio y
acelerómetro cuyas salidas se juntan por un filtro Kalman, proporcionando así una
entrada precisa para el control de la estabilidad vertical. Una de las buenas
propiedades de este robot es ser capaz de desplazarse por terrenos muy abruptos
e irregulares nBot Balancing Robot es el diseño de un entusiasta llamado David
Anderson en el 2003. Este robot utiliza un giroscopio y acelerómetro cuyas salidas
se juntan por un filtro Kalman, proporcionando así una entrada precisa para el
control de la estabilidad vertical. Una de las buenas propiedades de este robot es
ser capaz de desplazarse por terrenos muy abruptos e irregulares [16].
Figura 4. nBot Balancing Robot [16].
2.2 Control en vehículos autobalanceados
Los vehículos autobalanceados han sido un conjunto de dispositivos que
constituyen uno de los sistemas más inestables, involucrados en la búsqueda de
controles óptimos para la ingeniería de control no lineal. El sistema de estos
vehículos se asemeja al modelo teórico del péndulo invertido es decir, una variante
del sistema de péndulo cuyo centro de masas está por encima de su eje de rotación
o pivotamiento, este modelo es el que la gran mayoría de investigadores y
diseñadores han desarrollado al momento de encontrar soluciones en estabilización
y robustez. A través de los años se han implementado métodos de control clásicos
y modernos en este tipo de sistemas, entre los más comunes se pueden encontrar
los siguientes:
2.2.1 Controlador de ganancia variable usando el método de colocación de polos
En el artículo [17], se sugiere un controlador para el Segway con el objetivo de
garantizar la seguridad del usuario considerando los diferentes pesos de los
pasajeros. Para hacer frente a los diversos cambios de peso, manteniendo la misma
frecuencia y el tiempo de convergencia del comportamiento del vehículo. Se
propone en este, cambiar las ganancias del controlador para mantener las
posiciones de los polos, que manejan la frecuencia y el tiempo de convergencia. La
Figura 5 muestra la estructura del sistema de control del Segway. El sistema de
control es un control de retroalimentación típico.
Figura 5. Estructura del sistema de control del Segway [17].
El estado de retroalimentación está establecido por el ángulo de la rueda ߶, la
velocidad angular de la rueda ߶ ሶ, el ángulo del péndulo ߠ, y la velocidad angular
del péndulo ߠ ሶ. El estado realimentado al controlador se multiplica por la ganancia
de control quedando la entrada al Segway como torque Tm. La calculadora de
ganancia toma el peso de los pasajeros como una entrada, calcula la ganancia del
controlador utilizando el método del lugar de polos, cambiando la ganancia del
controlador finalmente.
2.2.2 Implementación de controlador LQR utilizando filtro de Kalman
En el documento [18], se diseña un controlador estable, utilizando el método LQR
para lograr equilibrar un monociclo Robot mediante el uso de filtro de Kalman.
Después de linealizar la dinámica del vehículo, el controlador LQR es diseñado.
Se utiliza un microcontrolador, siendo el período del sistema de 4 ms. A continuación
en la Figura 6 se muestra el diseño del controlador LQR. Primero, la ecuación
cinética es derivada por el sensor, por consiguiente, el valor de la ganancia se extrae
asignando los nuevos parámetros. A través de esto, el movimiento del robot es
estimado y controlado, siendo este, controlado como una forma de
retroalimentación después de pasar por integradores con su tiempo de estado real.
Figura 6. Diseño de controlador LQR [18].
El filtro complementario se usa para minimizar el ruido medido de cada sensor que
tienen diferentes características de frecuencia. Por lo tanto, se extrae el ángulo de
inclinación usando el giroscopio que tiene características de frecuencia de paso
bajos y aceleración que tiene características de frecuencia paso altos.
3 Modelo Matemático
Aunque ADRC es esencialmente un tipo de método sin modelo, un poco de
información del modelo, es decir, el coeficiente de entrada de control 0b , se requiere
aún en su aplicación porque un 0b preciso puede facilitar una mejor estimación y
compensación de la perturbación. Además, es necesario modelar el robot de
equilibrio automático para realizar las respectivas simulaciones en Matlab y así,
poder realizar ajustes de parámetros. Antes de modelar, primero introducimos los
componentes del sistema. El circuito equivalente de un motor de CC se muestra en
la Figura. 7 y los parámetros y definiciones se muestran en la Tabla 1.
Figura 7. Circuito equivalente de un motor DC [19].
Simbolo Definicion
mU Voltaje de armadura
R Resistencia Interna
L Inductor de armadura
mE EMF
mi Corriente
eC Coeficiente de Voltaje
rC Coeficiente del Torque
mJ Inercia de Carga
T Torque electromagnetico
aT Torque de Carga
Velocidad del rotor
Tabla 1. Parámetros y definiciones de un motor [19].
De acuerdo con la Figura 1, se establece la ecuación de equilibrio del circuito de
armadura como
( )
( )mm m m
di tU i R L E t
dt (1.1)
con
( ) ( )m e mE t C t (1.2)
y la ecuación del torque como
( )m
m a
d tJ T T
dt
(1.3)
con
( )r mT C i t (1.4)
Para simplificar, se ignora la inductancia y se combinan las ecuaciones (1.1), (1.2),
(1.3) y (1.4) para obtener
1e r r
m a
m m m
C C CU T
J R J R J
(1.5)
A continuación, se realiza un modelado dinámico de las ruedas. Las ruedas son
accionadas por motores DC. El suelo y el cuerpo del robot también tienen fuerza
con las ruedas. Suponiendo que el robot es completamente simétrico, solo se tiene
en cuenta la rueda izquierda como ejemplo para llevar a cabo el análisis de fuerza,
que se muestra en la Figura 8 y los parámetros a usar se enumeran en la Tabla 2.
Figura 8. El análisis de fuerza de la rueda izquierda [19].
Símbolo Definición
LT Torque electromagnético
LV Fuerza vertical del cuerpo
LH Fuerza horizontal del cuerpo
m Masa de la rueda izquierda
Angulo frontal
LN Fuerzas de tierra en la rueda en la dirección vertical
fLH Fuerzas de tierra en la rueda en la dirección horizontal
L Velocidad de la rueda
Lv Velocidad horizontal del centro de la rueda
LJ Momento de inercia del eje de la rueda
r Radio de la rueda
RH Fuerza de rodamiento
Ángulo de giro de la rueda
Tabla 2. Parámetros y definiciones del modelado de las ruedas [19].
Analizando la fuerza que actúa sobre la rueda izquierda se obtiene
fL L
L L L fL
mv H H
J T rH
(1.6)
Con (1.6) se obtiene
L LL
T Jmx H
r r (1.7)
De igual forma, tenemos la siguiente ecuación para la rueda derecha
R RR
T Jmx H
r r (1.8)
Suponiendo que las ruedas no resbalen y que su inercia sea la misma, se tiene
/ , /x r x r y R LJ J . Luego, sustituyendo en (1.7) y (1.8) para obtener
( )
2( ) ( )L L RR L
J T Tmr H H
r r
(1.9)
Finalmente, combinando el modelo de motor y el modelo dinámico de una rueda,
el cuerpo del robot puede considerarse como un péndulo invertido. El análisis de
fuerza se muestra en la Figura. 9 y los parámetros y definiciones se enumeran en
la Tabla 3
Figura 9. Análisis de fuerza del cuerpo del robot [19].
Símbolo Definición
Angulo de inclinación
RT Par motor de rueda derecha.
RH Fuerza horizontal del cuerpo del robot en la rueda derecha.
P Fuerza vertical de las ruedas sobre el cuerpo.
H Fuerza horizontal de las ruedas sobre el cuerpo.
x Desplazamiento de la rueda
J Inercia del eje de la rueda del cuerpo del robot.
M Mass of robot body
l Distancia entre ruedas y centro de masa del cuerpo.
Tabla 3. Parámetros y definiciones del modelo del cuerpo del robot [19].
Aplicando la ley de Newton en la dirección horizontal se obtiene
2
2
( sin )R L
d x lH H M
dt
(1.10)
y aplicando esta ley en la dirección vertical para obtener
2
2
( cos )d lP Mg M
dt
(1.11)
La ecuación de equilibrio de momento del centro de masa se puede obtener como
( ) cos sin ( )R L R LJ H H l pl T T (1.12)
Con (1.10), (1.11) y (1.12), se obtiene
2( ) sin cos ( )L RJ Ml Mgl Ml r T T (1.13)
Por otra parte, combinando (1.9) y (1.10) se obtiene
2( )2( ) sin cos
2
L L RJ T TMrmr Ml Ml
r r
(1.14)
Finalmente, sustituyendo (1.14) y (1.15) para obtener el modelo completo del robot
[19].
2 2( ( cos )) ¨ sin sin 2( (1 cos ))2
rL
MJ Ml l r Mgl Mlr mr J l (1.15)
4 Estrategia de Control ADRC
Se busca proporcionar suficiente información para la argumentación que permita la
sustentación del proyecto, se postulan temas primordiales que se efectuarán dentro
del sistema de control de un vehículo autobalanceado, pues este es un problema
de control que ya ha sido abordado con anterioridad y resuelto de varias maneras.
4.1 Control por rechazo activo de perturbaciones (ADRC)
Actualmente hay un creciente interés, tanto de la academia y la industria, en el
control por rechazo activo de perturbaciones (ADRC). Varias revistas de control han
publicado, o planean publicar, problemas especiales sobre el tema del rechazo de
perturbaciones; las principales preocupaciones industriales han adoptado el ADRC
en diversas formas en sus productos o líneas de producción; varias recientes
conferencias de control han visto charlas, talleres y sesiones invitadas sobre el
tema. ADRC parece haber capturado la imaginación de los expertos en tecnología
en el campo de controles industriales, un campo que ha sido dominado por más de
un cien años por PID (proporcional integral derivada). Al igual que PID, ADRC
proporciona una solución que es ampliamente aplicable, pero mirando detrás de
este control, se puede encontrar nuevos conceptos, principios de diseño y métodos
de ajuste Además, ADRC se puede ver como una animada idea desde la cual las
soluciones particulares pueden ser hechas a medida a través de los límites de los
sectores de la industria.
El desarrollo de ADRC estuvo muy motivado por el deseo de proporcionar una
alternativa al PID como la dominante solución. A pesar de los rápidos y óptimos
desarrollos en la teoría de control en gran parte del siglo pasado, el PID ha
permanecido como la herramienta de elección entre los profesionales, lo que
representa más del 95% de las instalaciones industriales. 75% de estos bucles, sin
embargo, son reportados en fuera de sintonía, desperdiciando valiosos recursos.
Sin la guía de una comprensión profunda, la solución industrial a la dificultad de
sintonización son más reglas de sintonía, muchas de ellas. De hecho, en lo que se
llama "las estadísticas más sorprendentes" hay 443 reglas de sintonización PI y
691 reglas de sintonización PID, para un total de 1134 reglas.
ADRC es una interpretación particular del control por rechazo de perturbaciones
(DRC) cómo se articuló recientemente en [20] y se muestra en la Figura 10. DRC
simboliza el tipo de sistemas de control con el objetivo principal del rechazo de
perturbaciones; típicamente consiste de un par controlador-rechazador: la última
estima y cancela la perturbación total, es decir, la agrupación de perturbaciones
internas y externas, mientras que el primero controla la planta forzada, casi sin
perturbaciones. DRC proporciona una organización principio y una plataforma
donde similitudes y diferencias entre varias soluciones de rechazo de
perturbaciones puede ser entendido, en particular en términos de la suposición
hecha en el modelo de proceso y la naturaleza de la perturbación, así como el
método de estimación de la perturbación. DRC también se puede ver como una
generalización de ADRC para abarcar la mayoría, métodos de estimación y
cancelación de perturbaciones.
Figura 10. Plataforma de control de rechazo de perturbaciones [10].
Único para ADRC como una solución particular es que este par controlador-
rechazador no requiere del modelo matemático detallado que caracteriza la relación
de entrada-salida del proceso, y que la perturbación total se trata como un estado,
a saber, el estado extendido (ES), que es estimado por el llamado observador de
estados extendido (ESO), y es subsecuentemente cancelado. Al hacerlo, el proceso
a controlar es transformado a la planta forzada, como se muestra en la Figura 7,
típicamente en forma de integradores en cascada. El concepto convencional de
perturbación como algo fuera del proceso se amplía en ADRC para incluir la
dinámica interna y su eliminación posterior hace que el diseño del controlador sea
una tarea más simple. Así es, que el Rechazador quita los detalles desordenados
pertenecientes a cada proceso y hace sencillo el diseño y ajuste del controlador. Tal
principio de diseño solo puede provenir de un flash de visión, en lugar de
razonamiento deductivo. Es quizás por esta razón, ADRC se encontró inicialmente
con muchas dudas, ya que la justificación teórica está rezagada.
4.1.1 Robustez
La robustez es muy apreciada en la industria donde cualquier falla en el sistema de
control podría resultar en un sistema de paradas. El control robusto, como una
disciplina académica, se esfuerza para abordar el problema del desajuste del diseño
basado en modelos. En lugar de resolver tales problemas, ADRC los replantea, con
nuevas nociones de modelo y perturbaciones. En lugar de preguntar si el
rendimiento y la estabilidad pueden ser mantenidos cuando la dinámica del proceso
difiere de su modelo, ADRC pregunta si esa discrepancia puede o no eliminarse
todos juntos; en lugar de preguntar cómo incorporar las restricciones de robustez
en el proceso de diseño de control, ADRC pregunta si se puede ignorar o no la
dinámica detallada del proceso en el diseño de control. En esencia, en lugar de
responder la cuestión del control robusto, ADRC lo cambió. La pregunta que debe
responderse ahora es, por ejemplo, ¿En qué medida el rechazador puede eliminar
las incertidumbres? el éxito de la ingeniería indica que ADRC puede manejar con
facilidad una amplia gama de incertidumbres y pone en duda la necesidad de tener
un modelo matemático detallado del proceso físico como el punto de partida en la
teoría de control [8].
4.2 Aplicaciones prácticas de ADRC
La efectividad de ADRC se prueba en varios problemas de control industrial, en esta
sección se presentan algunas aplicaciones, incluidos control de movimiento, tensión
de la banda y regulación de la velocidad, convertidores de potencia DC-DC, reactor
de tanque agitado continuo (CSTR) y sistemas micro-electromecánicos (MEMS)
giroscopio, etc.
4.2.1 Control de movimiento
Las aplicaciones de control de movimiento se pueden encontrar en casi cada sector
de la industria, desde la automatización de fábricas y la robótica hasta unidades de
disco duro de computadora de alta tecnología. Se usan para regular movimientos
mecánicos en términos de posición, velocidad, aceleración, y / o para coordinar los
movimientos de múltiples ejes o partes de la máquina.
Obviamente, ADRC es un ajuste natural para esto clase de problemas. Al estimar
los efectos combinados de dinámica interna y disturbios externos, el controlador
demuestra ser altamente tolerante a variaciones dinámicas y perturbaciones
comúnmente encontradas en procesos de manufactura. El Control de rechazo
activo de perturbaciones lineal (LADRC) se probó en el banco de pruebas de control
de movimiento ECP con parámetros de ajuste seleccionados como 𝑤𝑐 =50 rad/sec
y 100 rad/seg. Como una base de comparación, las pruebas de hardware de LADRC
para el caso nominal y el caso con la inercia aumentado en un factor de dos y un
15% de perturbación de par aplicado en t = 2 segundos se muestran en la Figura
11. Claramente, a pesar de que los parámetros del controlador se mantienen sin
cambios, el controlador LADRC demuestra notable consistencia en presencia de
una perturbación significativa y variación dinámica. Tal rendimiento solo puede ser
atribuido a la capacidad del LESO para obtener una estimación del efecto
combinado de la dinámica de la planta y externa a las perturbaciones en tiempo
real. Los resultados de la prueba de hardware muestran efectividad y practicabilidad
del LADRC.
Figura 11. Rendimiento para ECP Modelo 220 bajo el control de LADRC [9].
4.2.2 Regulación de tensión Web
Los controles de tensión son ampliamente utilizados en el transporte web y en
sistemas de procesamiento de bandas. Estos sistemas o bien alimentan material de
una bobina procesado primario de material en un proceso para procesamiento
secundario, o material procesado por viento para almacenamiento o envío final. El
propósito principal de la web en la regulación de la tensión es mantener la integridad
física del material que está siendo procesado. La dinámica de la tensión del carro y
los rodillos de entrada y salida se describen en diferentes procesos. El diseño ADRC
se aplica tanto a la velocidad como a la tensión controlador. Dos soluciones
diferentes de ADRC para la tensión son investigados: lazo abierto (ADRC1) y lazo
cerrado (ADRC2). La comparación de ADRC, el controlador industrial basado en
PID (IC) y un controlador más reciente basado en Lyapunov (LBC) se muestran en
la Figura 12 y la Figura 13. El método ADRC parece tener una clara ventaja frente
a los demás.
Figura 12. Errores de seguimiento de velocidad para IC, LBC y ADRC1 [9].
Figura 13. Errores de seguimiento de tensión para LBC, ADRC2 y ADRC1 [9].
4.2.3 Control de temperatura en extrusión de manguera
ADRC ha estado ejecutando una línea de producción de extrusión de mangueras
durante más de seis meses, lo que ha dado como resultado más del 200% en la
calidad del producto y un 58% en la reducción de energía. Con múltiples zonas de
calor que interfieren entre sí en la operación, los controladores PID existentes tienen
dificultades para lidiar con las perturbaciones, sobrepasar continuamente y superar
la temperatura objetivo. Mientras la línea se está ejecutando, cada PID se cambia a
un ADRC; en un período de 15 minutos, las fluctuaciones de temperatura se
detuvieron, el exceso de aire desapareció, los ventiladores de refrigeración se
apagaron automáticamente y el consumo de energía se redujo en un 58%, como se
muestra en la Figura 14.
Figura 14. Ahorro de energía en una línea de extrusora de manguera [11].
4.3 Observadores de estados extendidos (ESO)
El observador de estado extendido (ESO) es una clase especial de los estimadores
de perturbaciones [37, 5, 19], donde la perturbación es tratada como un estado
extendido de la planta. El observador de estado es diseñado para estimar tanto,
los estados originales como el estado extendido. De esta forma, la perturbación es
rechazada usando su valor estimado obtenido por el observador. La diferencia del
ESO y los otros estimadores de perturbación es que este no estima solo las
perturbaciones si no también las dinámicas de la planta, además el ESO requiere
un mínimo conocimiento de la planta, a diferencia de los otros observadores
Suponiendo que la función 1 2( , , )f x x de la ecuación (1.17) es diferenciable y con
derivada acotada, el concepto de estado extendido lo que hace es asignar a la
función 1 2( , , )f x x una nueva variable, notada como 3x con derivada constante,
2 1, 2( , )x f x x bu (1.16)
de tal manera que el sistema (1.17) con esta nueva variable, queda expresado
como:
1 2
2 3
3 1
1
x x
x x bu
x h
y x
(1.17)
Donde 1h es la derivada de la función f , la cual se asume como desconocida y
generalmente para efectos del diseño del observador se hace 1 0h . Como se
mencionó anteriormente este modelo de observadores se aplica solamente si (.)f
es continua y tiene derivada acotada, lo que justifica la asignación 3 1x h .Estas
características ocurren generalmente en la mayoría de los sistemas físicos. Con
estas consideraciones y teniendo en cuenta que 1 1 1ˆe y y x z , el diseño del
observador de estado extendido no lineal continuo para el sistema (1.17) es:
1 2 1 1 1
2 3 2 2 1
3 1 3 3 1
( )
( )
ˆ ( )
z z g e
z z bu g e
z h g e
(1.18)
Ahora si 1 1ˆ 0h h en estado estacionario, se puede probar que el error de
estimación del ESO es acotado y su cota superior decrece a medida que se
aumenta el ancho de banda del observador. La función de ganancia no lineal 1(.)g
puede ser definida de manera no lineal como se reporta en [34]:
1
( ),
( , , ),
i
i i i
i i i ii
i
e sign e e
g e ee
(1.19)
Los parámetros de la función no lineal (.)g dados por la Ecuación (1.20), son
seleccionados teniendo en cuenta que i se encuentra entre 0 y 1, y es un
número pequeño positivo usado para limitar la ganancia alrededor del origen.
El ESO fue originalmente propuesto en [9] usando ganancias no lineales, por esto,
el análisis de la convergencia de este observador se ha hecho difícil. En la mayoría
de las aplicaciones en las que este observador ha sido empleado, los diseñadores
suponen una ganancia inicial 1 1( )ig e e , y por medio del método de ubicación de
polos se seleccionan los parámetros del observador, de tal forma que sea
asintóticamente estable. Sin embargo la estabilización del observador no está
demostrada analíticamente.
En contraste al observador de Luenberger clásico, el cual solo aplica a sistema
lineales invariantes en el tiempo, la forma extendida de los observadores
tradicionales es capaz de estimar estados de sistemas no lineales variantes en el
tiempo [21].
4.4 Alternativa de Solución
Para dar una solución a lo propuesto, se pretende iniciar con la construcción de un
prototipo con el cual, se pueda hacer el desarrollo del control, a partir de este
implementar toda la instrumentación, de los sensores y actuadores, para así llegar
al diseño y construcción de un producto final.
4.4.1 Diagramas de bloques de la solución.
A continuación, en la Figura 15, se muestra en forma organizada la alternativa de
solución propuesta, que conlleva a cumplir cada uno de los objetivos planteados.
Figura 15. Diagrama de bloques alternativa de solución (Autor).
Diseño y construcción del prototipo Este bloque consiste en diseñar un prototipo y
mantener una representación limitada del producto final, de tal manera que permita
hacer pruebas en situaciones reales o explorar el uso de este. Esto permitirá
también apoyar la evaluación del producto, una clarificación de los requisitos para
el producto final y arreglos en cuanto a una alternativa de solución.
Modelo Matemático: De esta forma el proyecto busca una descripción matemática
de las características dinámicas más relevantes. Para los sistemas físicos, la
mayoría de modelos matemáticos resultan útiles, estos se describen en ecuaciones
diferenciales [22], [23].
ADRC Dentro de este bloque, se desprenden dos partes importantes, las cuales son
el diseño del observador y el diseño del controlador. Iniciando con el diseño del
observador [24][25], [26], este es un sistema dinámico que utiliza la información de
la variable de salida y de la variable de control del sistema original, de esta manera
poder estimar los estados del sistema a observar y controlar [27].
Diseño y construcción de la plataforma: Como parte esencial, este bloque
muestra el diseño, construcción final del Segway y la implementación de
instrumentos sobre este. Iniciando con el diseño de la plataforma o planta a
controlar, siguiendo por la construcción en una escala mayor al prototipo,
implementando los actuadores y los sensores que permitan el análisis de entradas
y la ejecución de salidas del sistema, que en este caso son los motores, giroscopio
y acelerómetro.
Digitalización: Después de haber pasado por el bloque de modelo matemático, se
planea llevar de este bloque a la digitalización, de tal modo que se necesita de un
proceso de conversión digital análoga y viceversa, para las entradas y salidas del
sistema. A su vez se requiere de un microcontrolador que a partir de la información
obtenida por los sensores, ejecuta un procesamiento de estos datos, y
posteriormente genere una señal de control sobre los actuadores.
Pruebas: En este bloque se plantea un conjunto de actividades y técnicas cuyo
objetivo es proporcionar información acerca de la calidad del producto, de tal
manera que exista una retroalimentación de información con otros bloques, que
permitan que esta actividad sea el proceso de control de calidad.
4.5 Esquema implementado de Control
El principal objetivo en este documento es implementar el control vertical del
vehículo auto balanceado con distintas cargas y operando ante perturbaciones
externas puesto que se desea tomar este trabajo como referencia para futuros
desarrollos en un vehículo de transporte Segway. En la figura 16 se presenta el
esquema del control ADRC implementado, donde se implementa un observador de
estados extendidos lineal (LESO) de tercer orden, cuya función es rastrear la señal
de salida del sistema, sus derivadas; y estimar las perturbaciones desconocidas.
Adicionalmente, se usa un DC (Compensación de perturbaciones) donde la tercera
salida 3z del LESO se usa para compensar la perturbación desconocida del sistema
[28].
Figura 16. Esquema general del control [3].
El modelo de un sistema de segundo orden generalmente se asume como:
( , , , )y f y y w t bu (20)
Para simplificar el ADRC, se emplea la siguiente forma lineal del LESO, con el fin
de estimar la perturbación general f . El observador está diseñado en la forma:
1
1 2 1
2 3 2
3 3
*
*
*
o
e y z
z z e
z z e b u
z e
, (21)
donde 1z , 2z y 3z
son las salidas del observador y seguirán de cerca a y , su
derivada y f respectivamente. 1 2 y 3 son las ganancias del observador
que determinan el rendimiento de la estimación de perturbaciones y la
compensación, y ob es la ganancia del sistema.
Generalmente, mientras más elevadas sean las ganancias del observador, más
exacta será la estimación [29]. Sin embargo, debe tenerse presente que las
ganancias altas también incrementan la sensibilidad al ruido de medición. Por lo que
deberá establecerse un compromiso entre las especificaciones de desempeño y de
tolerancia al ruido. El ADRC cancelara el efecto de f empleando 3z a través de la
ley de control,
1 1 2 2 3
1( ) ( )
o
u G r z G r z zb
, (22)
donde r es la señal de referencia y 1G, 2G
son las ganancias del controlador
seleccionadas de forma que el polinomio 2
2 1s G s G sea Hurwitz. En forma similar
al diseño del ESO, los polos del controlador se suelen localizar en cw [29].
Para seleccionar las ganancias del LESO y del controlador se ubicaron los polos del
LESO en -10 y los polos del controlador en -7, obteniendo resultados óptimos en el
control de posición del cuerpo del robot. Las ganancias se seleccionan como se
muestra en (6) y (7). Finalmente los parámetros usados en las simulaciones y en la
implementación del algoritmo de control son descritos en la tabla 1.
3 3 2 2 3( 10) 3 10 3 10 10s s s s (23)
2 2 2( 7) 2 7 7s s s (24)
Parámetro Valor
1 30
2 300
3 1000
1G
14
2G
49
ob
8.14
Tabla 4 Parámetros del controlador (Autor)
4.5.1 Discretizacion del Observador de Estados Extendido Lineal
Casi todos los algoritmos de control modernos se implementan en computadoras digitales o microprocesadores. Para ser implementado en un ambiente digital, algoritmos de control diseñados en el dominio de tiempo continuo necesitan ser digitalizados o discretizados primero. Una forma común de digitalización es aproximar las ecuaciones diferenciales a las ecuaciones de diferencia tratando la tasa de cambio del valor de muestra de una señal en un período de muestreo como su derivada.
x Ax Bu Ef
y Cx
(1.25)
Por ejemplo, asumiendo 0f , el modelo de espacio de estados de la planta en
puede ser aproximada a la versión discreta como se muestra en la siguiente
ecuación:
( 1) ( ) ( )
( ) ( )
x k x k u k
y k Cx k
(1.26)
La forma del LESO en (22) puede ser aproximada en una versión como se muestra
en las siguientes ecuaciones, la metodología de discretizacion de observadores de
estados extendidos se desarrolló en [30].
1
1 1 2 1
2 2 3 2
3 3 3
( ) ( )
( 1) ( ) ( ( ) )
( 1) ( ) ( ( ) ( ))
( 1) ( )
e y k z k
z k z k h z k e
z k z k h z k e bu k
z k z k h
(1.27)
Finalmente la señal de control queda de la siguiente manera:
30
( )( )
z ku k u
b (1.28)
Donde h es el periodo de muestreo.
4.5.2 Observador de Estados Extendido Lineal en Microcontrolador
A continuación se presenta el código del observador de estados extendidos lineal
en el compilador de la plataforma Arduino donde X1 es la señal que rastrea la señal
original (señal entregada por el sensor), X2 su derivada y X3 representa todas las
perturbaciones del sistema, en este caso TM (Tiempo de muestreo) es de 10ms.
float error = input - OBSX1;
X1 = OBSX1 + TM*(OBSX2 + ALPHA2 *(error));
OBSX1 = X1;
X2= OBSX2 + TM *(OBSX3 + ALPHA1 *(error) + (adrc *3));
OBSX2 = X2;
X3= OBSX3 + TM*( ALPHA0 * (error));
OBSX3 = X3;
valor_observador = X3;
4.6 Esquema de control en Simulink
En la Figura 17 se presenta el esquema general de control en el diagrama de
bloques de Simulink – Matlab en donde se realizaron todas las simulaciones
correspondientes del comportamiento del sistema frente a distintas ganancias en el
controlador y observador de estados extendidos, esta plataforma de igual manera
fue adecuada como adquisición de las señales reales del sistema.
Figura 17. Diagrama de Controlador en Simulink (Autor)
5 Instrumentación
En la Figura 18 se muestra el prototipo del vehículo con el que se realizaron pruebas
inicialmente, la Figura 19 muestra el vehículo auto balanceado final, seleccionando
el mismo sensor en ambos casos pero actuadores de distintas características.
Figura 18. Prototipo de vehículo Segway (Autor)
Figura 19. Vehículo auto balanceado Segway (Autor)
5.1 Tarjeta de Desarrollo Arduino
Arduino es una plataforma electrónica de código abierto basada en hardware y software. Las placas Arduino como se presenta en la Figura 20 pueden leer entradas (luz en un sensor, un dedo en un botón o un mensaje de Twitter) y convertirla en una salida: activar un motor, encender un LED y publicar algo en línea. Puede decirle a su tarjeta qué debe hacer enviando un conjunto de instrucciones al microcontrolador en la tarjeta. Para hacerlo, utiliza el lenguaje de programación Arduino (basado en Wiring) y el software Arduino (IDE), basado en el procesamiento. A lo largo de los años, Arduino ha sido el cerebro de miles de proyectos, desde objetos cotidianos hasta instrumentos científicos complejos. Una comunidad mundial de creadores (estudiantes, aficionados, artistas, programadores y profesionales) se ha reunido en torno a esta plataforma de código abierto, sus contribuciones han sumado una cantidad increíble de conocimientos accesibles que pueden ser de gran ayuda para principiantes y expertos por igual. Arduino nació en el Instituto de Diseño de Interacción Ivrea como una herramienta para la creación de prototipos, dirigida a estudiantes en electrónica y programación. Tan pronto como llegó a una comunidad más amplia, la placa Arduino comenzó a
cambiar para adaptarse a las nuevas necesidades y desafíos, diferenciando su oferta de tablas simples de 8 bits a productos para aplicaciones IoT, impresión portátil, impresión 3D y entornos integrados. Todas las placas Arduino son completamente de código abierto, lo que permite a los usuarios construirlas de forma independiente y, eventualmente, adaptarlas a sus necesidades particulares. El software también es de código abierto y está creciendo a través de las contribuciones de los usuarios de todo el mundo [30].
Figura 20. Tarjeta de Desarrollo Arduino [30].
5.1.1 Características Arduino Uno
Microcontrolador ATmega328.
Voltaje de entrada 7-12V.
14 pines digitales de I/O (6 salidas PWM).
Entradas análogas.
32k de memoria Flash.
Reloj de 16MHz de velocidad.
5.2 Sensor MPU 6050
El MPU-6050 tiene integrado un giroscopio MEMS de 3 ejes, un acelerómetro de 3
ejes MEMS, y un procesador digital de movimiento (DMP™) motor acelerador de
hardware con un puerto I2C auxiliar que se conecta a las interfaces de sensores
digitales de terceras partes tales como magnetómetros, se presenta en la Figura 21.
El MPU-6050 combina la aceleración y el movimiento de rotación más la información
de rumbo en un único flujo de datos para la aplicación. Esta integración de la
tecnología MotionProcessing™ presenta un diseño más compacto y tiene ventajas
de costos inherentes en comparación con soluciones discretas de giroscopio más
acelerómetro. El MPU-6050 también está diseñado para interactuar con múltiples
sensores digitales no inerciales, tales como sensores de presión, en su bus I2C
auxiliar maestro.
Así pues, el sensor MPU-6050 es una pequeña pieza tecnológica de procesamiento
de movimiento. El cual mediante la combinación de un MEMS (Sistemas
Microelectromecánicos) giroscopio de 3 ejes y un MEMS acelerómetro de 3 ejes en
la misma pastilla de silicio junto con un DMP™ (Movimiento Digital Processor™), es
capaz de procesar los algoritmos de movimientos complejos de 9 ejes
(MotionFusion™) en una placa. Este sensor elimina los problemas de alineación del
eje transversal que puede arrastrarse hacia arriba en porciones discretas. Las
piezas integran el algoritmo MotionFusion para 9 ejes ‘pueden incluso acceder a
magnetómetros externos u otros sensores a través de un bus I2C auxiliar maestro,
permitiendo reunir un conjunto completo de dispositivos sensores de datos, sin la
intervención del procesador del sistema. El MPU-6050 es un 6 DOF (grados de
libertad o Degrees of Freedom) o un sensor IMU de seis ejes, lo que significa que
da seis valores de salida como se muestra en la figura.
El procesador digital de movimiento (DMP) incorporado se encuentra dentro de la
MPU-6050 y descarga el cálculo de los algoritmos de procesamiento de movimiento
desde el procesador host. Los datos resultantes pueden ser leídos de los registros
de la DMP, o pueden estar tamponados en un FIFO. El DMP tiene acceso a uno de
los pines externos de la MPU, que pueden ser utilizados para la generación de
interrupciones. El propósito del DMP es descargar los requisitos de temporización y
la potencia de procesamiento del procesador anfitrión. El sensor MPU-6050 es muy
preciso, ya que contiene una conversión hardware de 16 bits de A/D por cada canal,
para la digitalización de las salidas del acelerómetro. Para ello capta los canales x,
y y z al mismo tiempo[30].
Figura 21. Sensor MPU 6050 [31].
5.1.2 Acondicionamiento de la señal del sensor MPU6050
Con la intensión de medir el ángulo de posición del vehículo, se utilizó el sensor
MPU 6050 donde contiene dos sensores, un acelerómetro y un giroscopio, ambos
presentando ventajas y desventajas. El acelerómetro puede medir la fuerza de la
gravedad, y con esa información se puede obtener el ángulo del cuerpo del
vehículo, el problema del acelerómetro es que también puede medir el resto de las
fuerzas del vehículo, de igual manera el ruido que interviene en el sistema, por lo
que contiene muchos errores. Por otro lado, el giroscopio mide la velocidad angular,
por lo que si se integra esta medida se logra obtener el ángulo al que se mueve el
robot, el problema de esta medida es que no es perfecta y la integración tiene una
desviación, lo que significa que en poco tiempo la medida es adecuada, pero a largo
plazo el ángulo se desviará mucho del ángulo real.
Una posible solución presentada en algunos proyectos que involucran este tipo se
sensores ha sido el uso de un filtro complementario logrando una medición estable
y precisa del ángulo. El filtro complementario es esencialmente un filtro de paso alto
que actúa sobre el giroscopio y un filtro de paso bajo que actúa sobre el
acelerómetro para filtrar la deriva y el ruido de la medición.
Figura 22. Filtro complementario [31].
0.9934 y 0.0066 son coeficientes de filtro para una constante de tiempo de filtro de
0.75s. El filtro de paso bajo permite que cualquier señal más larga que esta duración
pase a través de él y el filtro de paso alto permite que cualquier señal más corta que
esta duración pase. La respuesta del filtro se puede modificar seleccionando la
constante de tiempo correcta. Bajar la constante de tiempo permitirá que pase más
aceleración horizontal, el esquema general se muestra en la figura 22.
AnguloAcc = atan2(accY, accZ)*RAD_TO_DEG;
gyroRate = map(gyroX, -32768, 32767, -250, 250);
Angulogyro = (float)gyroRate*sampleTime; currentAngle = 0.9934*(prevAngle
+ Angulogyro) + 0.0066*(Anguloacc);
El sensor MPU 6050 se emplea de forma horizontal sobre los ejes de las ruedas
como se muestra en la figura con la intension de registrar la señal cuando el angulo
de la plataforma es desplazada hacia alguna direccion, en este caso, la referencia
se presenta en el angulo 177º, punto deseado donde el cuerpo del vehiculo se desea
estabilizar.
En la figura 23 se presenta el sensor MPU6050 adaptado en el Vehiculo Segway,
sujetado en la parte central de la plataforma, en este caso, el vehiculo solamente
realiza un cambio de angulo entre 165º y 190º, implementado como su punto de
referencia el angulo 177º. De igual manera en la figura 24 se presenta el sensor
situado en el prototipo del vehiculo.
Figura 23. Posición del sensor en el vehículo Segway (Autor).
Figura 24. Posición del sensor en el robot prototipo (Autor).
5.3 Driver Dual para Motores
5.3.1 Driver L298N
El L298N es un controlador de motor de puente H doble que permite el control de
velocidad y dirección de dos motores de CC al mismo tiempo como se muestra en
la figura 25. El módulo puede manejar motores de CC que tienen voltajes entre 5 y
35 V, con una corriente máxima de hasta 2A. A continuación, como se muestra en
la figura los pines de Entrada 1 y Entrada 2 se usan para controlar la dirección de
rotación del motor A, y las entradas 3 y 4 para el motor B. Usando estos pines, se
pueden controlar los interruptores del Puente H dentro del IC L298N. Si la entrada
1 BAJA entrada 2 es ALTA, el motor avanzará, y viceversa, si la entrada 1 es ALTA
y la entrada 2 es BAJA, el motor retrocederá. En caso de que ambas entradas sean
iguales, LOW o HIGH, el motor se detendrá. Lo mismo se aplica a las entradas 3 y
4 y al motor B; lógica implementada dentro del controlador para la búsqueda del
ángulo de referencia [31].
Figura 25.Estructura general de driver L298N [31].
En este caso, se utilizo el Modulo L298N como driver para dos motores C.C de 12
voltios en el vehiculo prototipo como se presenta en la figura 26, siendo este
ubicado entre los eje de cada motor.
Figura 26. Driver L298N en prototipo Segway (Autor).
5.3.2 Driver Sabertooth 2x12
Sabertooth presentado en la figura 27 es un driver que permite controlar dos motores con: voltaje analógico, control de radio, serie y serie empaquetada. Con este se puede construir robots de complejidad distinta, este driver tiene modos de operación independientes y de velocidad + dirección, lo que lo convierte en el conductor ideal para robots de accionamiento diferencial (estilo tanque). Es adecuado para robots de potencia media: hasta 30 libras en combate o 100 libras para robótica de propósito general. El modo de operación se configura con los interruptores DIP integrados para que no haya puentes que perder. Sabertooth es un controlador de motor regenerativo síncrono en su clase. La topología regenerativa significa que sus baterías se recargan cada vez que se le ordena al robot que disminuya la velocidad o retroceda. Sabertooth también permite hacer paradas y reversos muy rápidos, lo que le brinda al robot una ventaja rápida y ágil. Sabertooth tiene incorporado 1A BEC de conmutación de 5 V que puede proporcionar alimentación a un microcontrolador o receptor R / C y un par de servos.
El modo de corte de litio permite a Sabertooth operar de manera segura con paquetes de baterías de iones de litio y polímero de litio, las baterías de mayor densidad de energía disponibles. Los transistores de Sabertooth se conmutan a velocidades ultrasónicas (32 kHz) para un funcionamiento silencioso [32].
Figura 27. Driver Sabertooth 2x12 [32].
El modo de entrada analógica toma una o dos entradas analógicas y las usa para configurar la velocidad y la dirección del motor. El rango de entrada válido es de 0v a 5v. Esto facilita el control del Sabertooth mediante, la salida PWM del microcontrolador (con un filtro RC) o un circuito analógico. Los usos principales incluyen joystick o vehículos controlados con pedales, control de velocidad y dirección para bombas y máquinas, y bucles de retroalimentación analógica. En la figura 28 se indica el Driver Sabertooth en la plataforma del vehículo con sus
correspondientes conexiones hacia los motores DC y las baterías externas.
Figura 28. Driver Motores en vehículo Segway (Autor)
5.3.2.1 Modulación por ancho de pulsos (PWM)
La modulación por ancho de pulsos es una técnica utilizada para regular la
velocidad de giro de los motores eléctricos de inducción o asíncronos. Mantiene
el par motor constante y no supone un desaprovechamiento de la energía eléctrica.
Se utiliza tanto en corriente continua como en alterna, como su nombre lo indica,
al controlar: un momento alto (encendido o alimentado) y un momento bajo
(apagado o desconectado), controlado normalmente por relès (baja frecuencia)
o MOSFET o tiristores (alta frecuencia).
Otros sistemas para regular la velocidad modifican la tensión eléctrica, con lo que
disminuye el par motor; o interponen una resistencia eléctrica, con lo que se pierde
energía en forma de calor en esta resistencia. Otra forma de regular el giro del
motor es variando el tiempo entre pulsos de duración constante, lo que se
llama modulación por frecuencia de pulsos.
En los motores de corriente alterna también se puede utilizar la variación
de frecuencia [33].
En la figura 29 se presenta la señal de salida de control en el microcontrolador,
siendo está modulación por ancho de pulsos (PWM), cambiando sus valores entre
255 y -255 para la respectiva velocidad de los actuadores.
Figura 29 Señal de control (PWM) en microcontrolador (Autor)
5.4 Motores DC
El motor de corriente continua (motor DC) es una máquina que convierte la energía
eléctrica en mecánica, provocando un movimiento rotatorio. En algunas
modificaciones, ejercen tracción sobre un riel. Estos motores se conocen como
motores lineales.
Una máquina de corriente continua (generador o motor) se compone principalmente
de dos partes, un estator que da soporte mecánico al aparato y tiene un hueco en
el centro generalmente de forma cilíndrica. En el estator además se encuentran los
polos, que pueden ser de imanes permanentes o devanados con hilo de cobre sobre
núcleo de hierro. El rotor es generalmente de forma cilíndrica, también devanado y
con núcleo, al que llega la corriente mediante dos escobillas.
El sentido de giro de un motor de corriente continua depende del sentido relativo de
las corrientes circulantes por los devanados inductor e inducido. La inversión del
sentido de giro del motor de corriente continua se consigue invirtiendo el sentido del
campo magnético o de la corriente del inducido. Si se permuta la polaridad en
ambos bobinados, el eje del motor gira en el mismo sentido.
Los cambios de polaridad de los bobinados, tanto en el inductor como en el inducido
se realizarán en la caja de bornes de la máquina, y además el ciclo combinado
producido por el rotor produce la fuerza magneto-motriz [31].
Figura 30. Diagrama general Motor DC parte interna [31].
Con el objetivo de garantizar que la plataforma se desplace según el ángulo de
inclinación del cuerpo del vehículo, con personas de distinto peso se seleccionaron
dos motores DC de 250 w 24 v como se muestra en la figura 31, siendo estos los
actuadores del sistema. Normalmente estos motores son apropiados para operar
en vehículos Scooter.
Figura 31. Motor Scooter [31].
6 Análisis de Resultados
6.1 Simulación de LESO
En la figura 32 se presentan los estados estimados del sistema donde se puede
observar que la señal original entregada por el sensor MPU 6050 es rastreada por
el estado 1z . El objetivo es permanecer en un ángulo de 177º, posición donde el
robot permanece en posición vertical, su estado 2z es su derivada y 3z
estima
perturbaciones del sistema.
Figura 32. Simulación de Observador de Estados Extendido Lineal (Autor).
6.2 Implementación de Controlador PID
Para la implementación del controlador PID, se utilizó la herramienta de análisis
lineal de Matlab en donde se linealiza el sistema en el punto de operación, en este
caso, en el ángulo de inclinación deseado. La estructura de control se presenta en
la figura 33.
Figura 33. Estructura control PID [32].
Las ganancias seleccionas del PID se muestran en la tabla 2.
Parametro Valor
pK
90
iK
28
dK
2
Figura 34. Parámetros del controlador (Autor).
En la figura 34 se muestra la señal correspondiente al ángulo de inclinación del
cuerpo del robot cuando esté se encuentra en posición vertical. El ángulo cambia
entre 174º y 178º con una velocidad de respuesta rápida pero presentando
oscilaciones cuando el robot se estimula con alguna perturbación, en este caso, se
simulo con un pequeño desnivel en el suelo.
Figura 35. Señal de entrada con controlador PID (Autor).
6.3 Señales de control
Los resultados de las simulaciones muestran que ADRC tiene una velocidad de
respuesta más rápida que el PID, presentando de igual manera un menor
sobreimpulso en la señal de control como se muestra en las figuras 35 y 36, ademas,
el ADRC presenta una mayor capacidad para suprimir la interferencia y el ruido.
Figura 36. Señal de control ADRC (Autor).
Figura 37. Señal de control PID (Autor).
En la figura 37 se puede apreciar una persona de aproximadamente 40 kilogramos
sobre el vehículo Segway propuesto, obteniendo óptimos resultados en estabilidad;
la dirección del mismo la entrega la posición hacia la que la persona se incline.
Figura 38. Persona de 40 kg sobre plataforma Segway (Autor)
7 Conclusiones
En este documento se presenta la estrategia de control por rechazo activo de
perturbaciones en un robot auto balanceado de dos ruedas para el control de
posición del vehículo, con un observador de estados extendidos lineal; diversas
simulaciones efectuadas representan algunas perturbaciones como pequeños
empujones y desniveles en el suelo, confirman la efectividad del método y su mejor
desempeño ante un esquema de control convencional.
Una adecuada selección en las ganancias del observador se ve reflejada en el buen
rendimiento del controlador ADRC, diversas formas de sintonización han sido
registradas en la literatura, sin embargo el método utilizado teniendo en cuenta la
ubicación de polos del sistema demostró óptimos resultados.
En general, la estrategia de control basada en un observador de estados lineal dio
óptimos resultados en el control de posición del cuerpo del vehículo, realizando
pruebas en personas en la plataforma con distinto peso, medida no superior a 50
kilos, puesto que la corriente nominal que demanda los motores no soportaba
cargas superiores.
Bibliografía
[1] K. Madhira, A. Gandhi, and A. Gujral, “Self balancing Robot using Complementary filter,” Ieee, pp. 2950–2954, 2016.
[2] J. J. Wang, “Stabilization and tracking control of X-Z inverted pendulum based on PID controllers,” Proc. 34th Chinese Control Conf., pp. 4204–4207, 2015.
[3] Z. Bin-wen, T. Wen, and L. Jian, “Comparative study of linear and nonlinear ADRC for an inverted pendulum,” 2017 29th Chinese Control Decis. Conf., pp. 704–708, 2017.
[4] T. H. L. J. X. Xu, Z. Q. Guo, “Design and implementation of a takagi-sugeno-type fuzzy logic controller on a two-wheeled mobile robot,” IEEE Trans. Ind. Electron., vol. Vol.60, pp. 4421–4430, 2013.
[5] G. Yu, “PSO-based Fuzzy Control of a Self-Balancing Two-Wheeled Robot,” pp. 1–5, 2017.
[6] B. X. C. Yang, Z. Li, R. Cui, “Neural network-based motion control of an underactuated wheeled inverted pendulum model,” IEEE Trans. Neural Networks Learn. Syst., vol. Vol.25, no. No.11, 2014.
[7] L. T. A. R. Martinez-Soto, A. Rodríguez-Díaz, O. Castillo, “ain optimization for inertia wheel pendulum stabilization using particle swarm optimization and genetic algorithms,” Int. J. Innov. Comput., vol. 8, pp. 4421–4430, 2012.
[8] R. Sadeghian and M. T. Masoule, “An experimental study on the PID and Fuzzy-PID controllers on a designed two-wheeled self-balancing autonomous robot,” 2016 4th Int. Conf. Control. Instrumentation, Autom. ICCIA 2016, no. January, pp. 313–318, 2016.
[9] L. Jiang, H. Qiu, Z. Wu, and J. He, “Active Disturbance Rejection Control Based on Adaptive Differential Evolution for Two-Wheeled Self-Balancing Robot,” IEEE Conf. Decis. Control, pp. 6761–6766, 2016.
[10] Z. Gao, “Active disturbance rejection control: From an enduring idea to an emerging technology,” Robot Motion Control
(RoMoCo), 2015 10th Int. Work., vol. 44115, pp. 269–282, 2015.
[11] Z. Q. Z. Qing and G. Z. G. Zhiqiang, “On practical applications of active disturbance rejection control,” Control Conf. (CCC), 2010 29th Chinese, no. January, pp. 6095–6100, 2010.
[12] SEGWAY ESPAÑA, “SEGWAY.” .
[13] Albert, Nogué, Jordi and Antiga, “Aplicación práctica de la visíon artificial en el control de procesos industriales.,” Gobierno de España (Ministerio de Educación), 2012. .
[14] I. Del VillarFernández, “Diseño e implementación en PCB de un robot auto-balanceado mediante Arduino con módulo inalámbrico Grado en Ingeniería Eléctrica y Electrónica,” p. 103, 2015.
[15] BBB, “INDIEGOGO,” 2017. .
[16] D. P. Anderson, “nBot Balancing Robot,” 2013. .
[17] H. Sin, S. Cheong, and C. Kim, “A Variable Gain Controller using Pole Placement Method with Changing Rider ’ s Weight,” pp. 710–713, 2017.
[18] M. Han, K. Kim, D. Kim, and J. Lee, “Implementation of U nicycle Segway U sing U nscented Kalman Filter in LQR control,” pp. 695–698, 2013.
[19] X. Wang, S. Chen, T. Chen, and B. Yang, “Study on control design of a two-wheeled self-balancing robot based on ADRC,” Chinese Control Conf. CCC, vol. 2016–Augus, pp. 6227–6232, 2016.
[20] Z. Gao, “On the centrality of disturbance rejection in automatic control,” ISA Trans., vol. 53.4, pp. 850–857, 2014.
[21] C. Camilo and E. Ordo, “Nuevas aplicaciones de observadores de estado , dise ˜ no y prueba de estabilidad Christian Camilo Erazo Ordo ˜ New applications of state observers :,” 2012.
[22] M. U. Draz, M. S. Ali, M. Majeed, U. Ejaz, and U. Izhar, “Segway electric vehicle,” 2012 Int. Conf. Robot. Artif. Intell., pp. 34–39, 2012.
[23] R. Babazadeh, A. G. Khiabani, and H. Azmi, “Optimal control of Segway personal transporter,” 2016 4th Int. Conf. Control.
Instrumentation, Autom. ICCIA 2016, no. January, pp. 18–22, 2016.
[24] P. It, “State Observers and State Feedback,” pp. 101–121, 2010.
[25] W. Yan-feng, J. Yuan-wei, and Y. Bao-qi, “State feedback control for networked control systems based on state observer,” pp. 310–313, 2011.
[26] Y. Zhang, G. Y. G. Tang, and Y. Y. M. Liu, “States observer design and stability analysis for networked control systems,” Syst. Man Cybern. …, no. 1, pp. 3211–3215, 2008.
[27] J. Han, “From PID to active disturbance rejection control,” IEEE Trans. Ind. Electron., vol. 56, no. 3, pp. 900–906, 2009.
[28] P. Teppa-garran, M. Bravo, and G. Garcia, “Control por rechazo activo de perturbaciones del nivel de liquido de un sistema de tanques acoplados,” vol. 7, no. 1, pp. 10–18, 2012.
[29] L. G. y Z. G. Zheng, Q., “On stability analysis of active disturbance rejection control for nonlinear time-varying plants with unknown dynamics,” Proc. IEEE Conf. Decis. Control, 2007.
[30] “Especificaciones Sensor MPU6050” España, Pag.1-2 2017.
[31] “Estructura Sensor MPU6050.”
[32] D. Engineering, “Sabertooth 2x60 User ’ s Guide Mixed and independent options :,” no. September, pp. 6–30, 2011.
[33] L. Pupek and R. Dubay, “Velocity and Position Trajectory Tracking Through Sliding Mode Control of Two-Wheeled Self-Balancing Mobile Robot,” vol. 2, no. 3.