Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
1
PROYECTO DE GRADO
Presentado a:
LA UNIVERSIDAD DE LOS ANDES
FACULTAD DE INGENIERIA
DEPARTAMENTO DE INGENIERIA ELECTRICA Y ELECTRONICA
Y
DEPARTAMENTO DE INGENIERIA MECANICA
Para obtener el titulo
INGENIERO ELECTRONICO
E
INGENIERO MECANICO
Por
Andrés Felipe Otero Salamanca
Diseño, análisis e implementación de controlador para un
péndulo invertido tipo segway.
- Asesor: Fredy Segura PhD, Profesor asociado, Universidad de Los Andes
- Asesor: Carlos Rodriguez PhD, Profesor asociado, Universidad de Los Andes
2
Contenido 1) Introducción ................................................................................................................................ 3
2) Objetivos ..................................................................................................................................... 5
a. Objetivo general ......................................................................................................................... 5
b. Objetivos específicos ................................................................................................................... 5
3) Estructura mecánica .................................................................................................................... 5
4) Diseño estructura ............................................................................................................................ 6
a. Modelo a escala ...................................................................................................................... 6
a. Componentes: ..................................................................................................................... 6
5) Sensores ...................................................................................................................................... 7
a. Obtención del ángulo .............................................................................................................. 7
a. Resultado de las librerías .................................................................................................... 8
b. Obtención de posición y velocidad ......................................................................................... 9
6) Modelamiento del sistema ............................................................................................................. 9
a. Ecuaciones de estado .................................................................................................................. 9
b. Obtención numérica de los parámetros del modelo ............................................................ 10
c. Estimación de parámetros Matlab ........................................................................................ 12
7)Diseño del controlador .................................................................................................................. 14
a. PID ......................................................................................................................................... 14
b. LQR ........................................................................................................................................ 15
c. PID en cascada ....................................................................................................................... 17
d. Controlador de velocidad ...................................................................................................... 18
8) Pruebas de los controladores ....................................................................................................... 19
a. Controlador posición ................................................................................................................. 19
b. Controlador ángulo ............................................................................................................... 21
9) Modelo real ................................................................................................................................... 22
a. Componentes electrónicos ................................................................................................... 22
b. Diseño de la estructura ......................................................................................................... 23
c. Cálculos fuerza de tracción y pendiente máxima de subida ................................................. 24
10) Conclusiones ............................................................................................................................... 25
3
11) Referencias .................................................................................................................................. 25
12) Anexo .......................................................................................................................................... 27
1) Introducción
El péndulo invertido es un sistema único el cual es de mucho interés debido a la inestabilidad natural
del sistema. La idea de implementar un robot con estas características ha surgido en los recientes años
ya que es un sistema complejo para aplicarle algún tipo de control.
Otra de las derivaciones de este sistema es el segway. Este vehículo se ha caracterizado por su destreza
de balancearse sobre dos ruedas, tener la habilidad de rotación de radio cero, permite desplazamientos
por lugares angostos o con mucha multitud. Este tipo de características hacen de este vehículo uno
adecuado para el transporte de personas en distintos terrenos.
Figura1. Segway
Este vehículo fue inventado por Dean Karen y presentado en 2001. Se considera como un péndulo
invertido gigante el cual fue diseñado para imitar la forma de caminar de las personas. Si el conductor
del segway se inclina en hacia adelante el segway se moverá en la misma dirección para volver a su
estado de equilibrio.
Este tipo de proyectos se pueden encontrar en internet, pero solo se limitan a la implementación de
un pid que mantenga una referencia cambiando los parámetros por medio de ensayo y error. No hay
4
un análisis ingenieril profundo en donde se esté analizando la dinámica del vehículo, no se tiene en
cuenta las restricciones que se pueden tener debido a los actuadores implementados. Velocidad
máxima, velocidad máxima de giro, ángulo más lejano del origen que no permita la estabilización del
sistema. [1]
En la universidad se han desarrollado proyectos de grado parecidos en donde uno se basa en la
implementación de una plataforma fija que permite la instalación de un péndulo que solo puede
realizar movimiento rotacional para lograr estabilizarse. [2]
Figura2. Péndulo rotatorio
El otro proyecto de grado basa su funcionamiento en un péndulo que este acoplado a un carro que se
mueve mediante un sistema piñón cadena motor el cual solo permite movimiento lineal en una
dirección para lograr la estabilización del péndulo. [3]
Figura3. Péndulo lineal
5
2) Objetivos
a. Objetivo general Desarrollar e implementar un controlador para un péndulo invertido tipo segway con accionamiento
diferencial que permita mantener una posición de equilibrio, con el fin de que este sea capaz
desplazarse a la ubicación que el usuario desee.
b. Objetivos específicos
• Selección de sensores y actuadores que permitan el correcto funcionamiento y modelado del
sistema.
• Desarrollo de controlador que permita la estabilización del sistema.
• Diseño y construcción de un mecanismo que permita verificar el funcionamiento del
controlador en un entorno no simulado.
3) Estructura mecánica
Figura 4. Componentes segway
Los componentes principales de este vehículo son:
Chasis: se encarga de sostener las baterías, motores, drivers y electrónica con la que se realiza el
control del sistema. Si se tiene en cuenta el centro de masa de la persona que usa el vehículo. Esta
estaría por encima del chasis, lo cual es la causa de la inestabilidad.
Ruedas: permiten que el sistema se pueda mover hacia adelante y hacia atrás con el fin de que el
sistema se estabilice.
6
Eje de dirección: permite al usuario girar en la dirección que quiera o sobre su mismo eje. En el caso
del modelo a escala el eje de dirección pasa a ser un control de radio frecuencia.
4) Diseño estructura
a. Modelo a escala
Para un primer intento con el propósito de reducir costos y además avanzar con los plazos estipulados
para la entrega del proyecto (debido a que es necesario traer componentes del exterior). Se decidió
realizar un modelo a escala que permitiera evaluar los controladores a implementar en el sistema.
Este modelo mide 26cm de alto, 32.5cm de ancho y 12.2cm de largo.
Figura 5. Modelo a escala del segway
a. Componentes:
• Motores pololu con encoder relación 30:1
• Ruedas Dagu Wild Thumper
• Baterial lipo de 11.1v
• Sensor mpu6050
• Driver para motor BTS7960B
7
5) Sensores
a. Obtención del ángulo
Figura6. Sensor MPU6050.
El sensor utilizado para realizar esta tarea es el mpu6050. Este dispositivo combina un giroscopio de
3 ejes y un acelerómetro de 3 ejes en el mismo chip en conjunto con un procesador de movimiento
digital (DMP), que procesa algoritmos de fusión de movimiento de 6 ejes. [4]
Existen varias librerías para utilizar este sensor. Pero las dos escogidas para realizar son MPU6050.h
y Kalman.h. la primera librería basa su funcionamiento en el firmware InvenSense’s MotionFusion y
un firmware que permite calibrar el sensor mientras se está ejecutando algún programa que requiera
de los datos. Esto con el fin de permitir que los usuarios eliminen complejas y costosas
cuantificaciones del sistema implementado.
La segunda librería utiliza el filtro de Kalman que son un conjunto de ecuaciones que proveen una
solución computacional eficiente a un problema de mínimos cuadrados. El filtro es muy robusto
debido a que soporta estimaciones del pasado, presente y futuros estados. En donde hay ocasiones
donde no se tiene un modelo preciso del sistema.[5]
Para probar las dos librerías se procede a realizar un montaje en donde se tiene un potenciómetro
como eje de rotación en una plataforma que se acopla una protoboard mediante una pieza impresa en
3d. De esta manera se registra el cambio de resistencia como ángulo de referencia mientras se
obtienen los datos del sensor MPU6050. El fin de este montaje está en ver que tanto demora el sensor
en converger a un valor de referencia y que tan alejado esta de este.
Figura7. Estructura para prueba de librerías
8
a. Resultado de las librerías
Figura8. Pruebas librería MPU6050.h
Figura 9. Pruebas librería kalman.h
Como se puede ver en la figura 8, la característica que más resalta para la librería MPU6050 es el
tiempo de establecimiento al valor inicial deseado el cual puede tardar hasta 5 s. También se puede
notar que los valores de ángulo para el sensor y la referencia se parecen bastante después de este
periodo de establecimiento. Para la primera prueba la diferencia entre referencia y sensor no llego a
sobrepasar los 2°, mientras para la segunda prueba esta diferencia llego a un máximo de 5°. Para la
librería de Kalman el tiempo de establecimiento al valor inicial no superó los 3.5s y el error máximo
de las pruebas realizadas con esta librería no superó los 3.5°.
Teniendo en cuenta los resultados de estas pruebas, la diferencia entre librerías no es significativa y
no existe un retardo de señales entre los tiempos del sensor y la referencia. Por lo cual el uso de
cualquiera de estas dos librerías para el proyecto asegura un buen resultado, teniendo en cuenta el
tiempo de establecimiento del sensor cuando se inicie el código implementado para el control.
9
b. Obtención de posición y velocidad
Figura10. encoder
El sensor encargado para esta tarea es un encoder de efecto hall de dos canales. Este tiene tres
componentes principales: un disco, sensores y circuito de acondicionamiento. El disco esta
magnetizado con un número determinado de polos alrededor de su circunferencia. El sensor de efecto
hall detecta el cambio en el campo magnético a medida que el disco va rotando. El sensor de efecto
hall arroja una señal y el circuito de acondicionamiento se encarga de producir un pulso como
resultado. Para el caso del encoder utilizado este tiene una resolución de 32 cuentas por revolución,
pero como el motor tiene una reducción de 30:1 la resolución pasa a ser de 960 cuentas por
revolución.[6]
Para obtener el desplazamiento se obtiene la equivalencia de ángulo respecto a pulso marcado y se
multiplica por el radio de la llanta. Y para la velocidad lineal se divide la diferencia de
desplazamientos por el tiempo que demoro este cambio.
6) Modelamiento del sistema
a. Ecuaciones de estado Teniendo en cuenta que en las referencias [7], [8] y [9]. Se llegan a ecuaciones de estado parecidas,
pero difieren que pequeños términos. Volviendo a resolver las expresiones que llevan a la solución
se encontró que la referencia [7] tiene la solución correcta que es la siguiente:
Figura 11. Ecuaciones de estado
10
𝜙: 𝑎𝑛𝑔𝑢𝑙𝑜
�̇�: 𝑣𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑 𝑎𝑛𝑔𝑢𝑙𝑎𝑟
𝑥: 𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑖𝑎 (𝑚)
�̇�: 𝑣𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑 𝑙𝑖𝑛𝑒𝑎𝑙 (𝑚
𝑠)
R: resistencia del motor (Ω)
𝑘𝑚: 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒 𝑑𝑒 𝑡𝑜𝑟𝑞𝑢𝑒 (𝑁𝑚
𝐴)
𝑘𝑒: 𝑐𝑜𝑛𝑡𝑎𝑛𝑡𝑒 𝑐𝑜𝑛𝑡𝑟𝑎𝑒𝑙𝑒𝑐𝑡𝑟𝑜𝑚𝑜𝑡𝑟𝑖𝑧 (𝑉𝑠
𝑟𝑎𝑑)
𝑉𝑎: 𝑣𝑜𝑙𝑡𝑎𝑗𝑒 𝑎𝑝𝑙𝑖𝑐𝑎𝑑𝑜 𝑎𝑙 𝑚𝑜𝑡𝑜𝑟 (𝑉)
𝐼𝑝: 𝑖𝑛𝑐𝑒𝑟𝑐𝑖𝑎 𝑑𝑒𝑙 𝑐ℎ𝑎𝑠𝑖𝑠 𝑑𝑒𝑙 𝑟𝑜𝑏𝑜𝑡 (𝑘𝑔𝑚2)
𝐼𝑤: 𝑖𝑛𝑐𝑒𝑟𝑐𝑖𝑎 𝑑𝑒 𝑙𝑎 𝑟𝑢𝑒𝑑𝑎 (𝑘𝑔𝑚2)
𝑀𝑝: 𝑚𝑎𝑠𝑎 𝑑𝑒𝑙 𝑐ℎ𝑎𝑠𝑖𝑠 𝑑𝑒𝑙 𝑟𝑜𝑏𝑜𝑡 (𝑘𝑔)
𝑀𝑤: 𝑚𝑎𝑠𝑎 𝑑𝑒 𝑙𝑎 𝑟𝑢𝑒𝑑𝑎 (𝑘𝑔)
𝑙: 𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑖𝑎 𝑑𝑒𝑙 𝑐𝑒𝑛𝑡𝑟𝑜 𝑑𝑒 𝑔𝑟𝑎𝑣𝑒𝑑𝑎𝑑
𝑎𝑙 𝑒𝑗𝑒 𝑑𝑒 𝑟𝑜𝑡𝑎𝑐𝑖𝑜𝑛 𝑑𝑒 𝑙𝑎 𝑙𝑙𝑎𝑛𝑡𝑎 (𝑚)
𝑔: 𝑔𝑟𝑎𝑣𝑒𝑑𝑎𝑑 (𝑚
𝑠2)
𝑟: 𝑟𝑎𝑑𝑖𝑜 𝑑𝑒 𝑙𝑎 𝑙𝑙𝑎𝑛𝑡𝑎 (𝑚)
b. Obtención numérica de los parámetros del modelo
Figura12: Modelo 3d estructura de prueba
Distancia al centro de gravedad de la estructura: al tener un modelo 3d de la estructura en donde se
tienen en cuenta el peso, material y dimensiones de los distintos componentes. Es posible determinar
mediante un software el valor numérico de este parámetro.
Inercia del péndulo sobre el eje de la rueda: al igual que el anterior parámetro, este también es
calculado por un software.
Inercia de la rueda: para este parámetro debido a la complejidad de la forma, se decidió obtener el
valor mediante un software y de manera experimental. Con el diagrama del cuerpo libre asumiendo
que no existe deslizamiento se llega a la siguiente ecuación:
11
𝐼𝑤 = 𝑟𝑤2[
𝑚𝑤𝑔𝑠𝑖𝑛𝜃
𝑎𝑥− 𝑚𝑤]
El único termino que no se puede calcular de manera directa es la aceleración. Es por esto por lo que
se decide realizar un montaje donde se tiene un plano inclinado y se deja caer la llanta de manera
libre. Una vez grabado esto, se procede a sacar el tiempo y la distancia recorrida para ciertos
intervalos. [10] Una vez se tienen estos datos se grafican y se obtiene una ecuación de la forma:
𝑥 = 0.5𝑎𝑡2 + 𝑉0𝑡 + 𝑥0
Que corresponde a una de las ecuaciones de aceleración constante. Con lo que es posible hallar la
aceleración de la rueda.
Figura 13: Grafica distancia contra tiempo de la rueda del modelo a escala
Constante del motor: Se calcula relacionando las ecuaciones que modelan el motor (parte eléctrica y
mecánica). Luego se obtiene una ecuación de Laplace que permite acomodar los términos de una
forma en donde todo quede en términos de la velocidad angular del motor. Cuando se vuelve al
dominio del tiempo se obtiene una ecuación donde la constante del motor depende del voltaje aplicado
y la velocidad a la que gira el motor.[11]
𝑘 =𝑣𝑜𝑙𝑡𝑎𝑗𝑒
�̇�(∞)
Constante de voltaje: Se asume que es igual que la constante del motor dadas las ecuaciones
empleados para hallar este último parámetro.
y = 0.8825x2 - 0.1386x + 0.0415R² = 0.9396
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0 0.2 0.4 0.6 0.8 1 1.2
m
s
12
c. Estimación de parámetros Matlab Como se quiere tener un modelo del sistema lo más parecido a la realidad se utiliza la herramienta de
simulink “estimación de parámetros”. De esta manera también se validan algunos parámetros que se
sacaron mediante la experimentación.
Para este caso se va a validar los parámetros del motor que están en la siguiente ecuación diferencial:
En la figura 14 se puede ver como para un misma entrada los datos experimentales no concuerdan
con los simulados. Por lo que es necesario estimar de nuevo los parámetros del motor.
Figura 14: Estimación de parámetros simulink [12]
13
Figura 1: Corrección del valor de los parámetros y reducción de la función de costo
Como se puede evidenciar en la figura 15 el valor que más afecto los resultados de la simulación fue
la resistencia interna del motor. Al optimizar este último parámetro se puede ver que la función de
costo que compara el comportamiento de los datos experimentales con los datos simulados se reduce
hasta 2.14, cuando se tenía antes un valor de 110.
Figura 16: Comparación datos experimentales y simulados
Una vez optimizados los parámetros se puede ver como los datos experimentales y simulados
concuerdan de una manera aceptable a comparación de lo obtenido anteriormente.
14
7)Diseño del controlador
a. PID
Figura 17: Esquema PID
Es un controlador que usa información de los datos medidos para ajustar su salida dado un valor de
referencia establecido. Esta comparación del valor deseado con la salida genera una señal de error
que permite lograr un control más complejo en donde también se tiene en cuenta la tasa de cambio
de la señal de error. Lo que resulta en un control más preciso y estable. Este es el algoritmo de control
más común usado en la industria. La popularidad de los controladores PID se debe a su robustez en
una amplia condición de operaciones y a su simplicidad funcional que permite a los ingenieros
operarlo de manera sencilla.[13]
Figura 18: PID implementado
Para un primer intento de controlar y teniendo en cuenta que no se sabe que tan rápido pueda
reaccionar el microcontrolador con todas las tareas que está realizando para lograr que el péndulo se
estabilice. Se procede a realizar un controlador PID. Este será un controlador de una entrada (voltaje)
y una salida (ángulo) sin tener en cuenta el modelo del sistema. Con el fin de lograr medir 2 cosas, la
primera es una forma de medir la capacidad de respuesta del microcontrolador teniendo en cuenta
15
que el accionamiento del sistema debe ser muy rápido (como consecuencia de la inestabilidad natural
del sistema, los sensores y actuadores utilizados). La segunda radica en poder medir la robustez del
controlador teniendo en cuenta que a pesar de que se llegaran a tener un modelo del sistema, hay
variables dentro del mismo que cambian dependiendo de las condiciones en las que se esté.
En este caso como no se tiene modelo del sistema, se sintoniza el controlador mediante la regla de
Ziegler Nichols.
1. Ajustar el valor de Kp hasta que la respuesta del sistema empiece a oscilar.
2. Se sintoniza el valor de Ki o Kd hasta se vea que el sistema está estable aumentar el valor de
kd de manera que el sistema responda más rápido cuando este recibe alguna perturbación.
3. Sintonizar el ultimo parámetro que queda para mejorar la estabilidad. Ya sea mediante la
reducción de la fluctuación o reduciendo el error en estado estacionario.
b. LQR
Figura 19: Esquema LQR
Mediante este tipo de controlador donde u=-Kx es posible determinar los polos de lazo cerrado
optimizando una función de costo:
Que permite hallar el k optimo que posiciona los polos del sistema de tal manera que el sistema se
estabilice. Dependiendo de los valores que se le den a Q se está penalizando el error de una variable
determinada y en el caso de R se está penalizando el uso del actuador implementado en el sistema.
[14]
16
Todo esto sujeto a un modelo lineal de las características:
�̇� = 𝐴𝑥 + 𝐵𝑢
El controlador implementado es de una entrada (voltaje) y 4 salidas (ángulo, velocidad angular,
desplazamiento y velocidad lineal). Este controlador se decide utilizar debido a que se tienen las
ecuaciones de estado del sistema, su costo computacional no es muy alto y permite validar los
parámetros hallados del sistema.
Figura 20: LQR implementado
Figura 21:Respuesta escalón del sistema lazo abierto
17
Figura 22: Respuesta escalón del sistema con LQR
c. PID en cascada Dado que primer controlador PID solo tienen la capacidad de estabilizarse (respecto a un ángulo de
referencia) y se requiere de un controlador que opere de manera similar al LQR. Se decidió
implementar un sistema donde se incorporen 4 PID. El sistema consiste en un modelo de dos entradas
(velocidad de cada motor) y 4 salidas (velocidad motor 1, ángulo de la planta, velocidad promedio
entre los 2 motores y velocidad Motor 2). La idea de usar un PID que cambie el ángulo de referencia
radica en poder tener un controlador que sea capaz de reaccionar ante perturbaciones de
desplazamiento. Además, este último controlador permite operar de manera más segura la planta ya
que no se intervine de manera directa con el ángulo de referencia lo que hace as estable el sistema al
momento de querer tele operar la planta al querer que esta se mueva a alguna dirección deseada.
Figura 23: PID en cascada implementado
18
Figura 24 : Modelo del sistema
d. Controlador de velocidad
Dado que en la realidad los motores no se van a mover a la misma velocidad y es necesario que el
robot se mueva en línea recta. Se ve en la necesidad de implementar un controlador que permita esto
debido a los resultados que se muestran en la figura 25.
Figura 25: Motores sin controlador
Para el primer controlador PID se procede a usar un controlador donde la velocidad necesitada es un
voltaje DC, que se da al primer motor mediante una señal de pwm. La velocidad del primer motor es
medida mediante el encoder que está integrado. Como el segundo motor está en movimiento a cierta
velocidad, se podría implementar un comparador que mida las diferencias entre los dos motores. Esta
señal de salida del comparador se usaría como entrada de un PID que permitiría ajustar el voltaje del
segundo motor para que se mueva a la misma velocidad que el otro motor.
19
Figura 26: Opción 1: Controlador motores
Como se puede ver en la figura 26 en momentos donde el cambio de dirección de velocidad es rápido
hay una diferencia entre los valores de los motores. una vez se tiene un cambio en solo una dirección
las velocidades de los motores son muy parecida. Cuando se sintonizan los parámetros del PID para
obtener una respuesta más rápida. Se obtiene que al momento de probarlo en la estructura el sistema
empieza a oscilar demasiado. Por esta razón se busca otra alternativa para controlar la velocidad de
los motores.
Figura 26 :PID control diferencial Figura 27: PID independiente para cada motor
Para el otro controlador se procede a realizar un controlador independiente a cada motor como se
puede ver en la figura 27. De esta manera se tiene una respuesta más rápida en los dos motores ya
que la referencia no está dada por uno de los motores, sino por el ángulo en el que este el sistema.
8) Pruebas de los controladores
a. Controlador posición La finalidad de esta prueba consiste en ver que tanto cambia la posición del segway a escala. Perturbar
la estructura mediante la aplicación de una fuerza que lo desplace de su posición inicial y ver como
este vuelve a su posición inicial.
20
Figura 28: Pruebas perturbación desplazamiento
Como se evidencia en la figura 28, al realizar la perturbación para que la planta se mueva en sentido
negativo, se puede ver como esta vuelve a su posición inicial, pero se presenta un overshoot grande
y hay un tiempo de establecimiento que podría mejorarse. También se puede evidenciar que se puede
agregar más de una perturbación y el sistema responderá a estas condiciones.
Tabla 1: Resultados prueba perturbación 2
Figura 29: Pruebas perturbación desplazamiento con paramentos de sintonización diferentes
perturbacion 1 2 3
overshoot (%) 9.6 8.9 12.4
desplazamiento (cm) -22.2 -19.8 -24.3
21
Sintonizando de mejor manera el PID se logró disminuir el overshoot de manera considerable pero el
tiempo de establecimiento no tiene una mejoría notoria, como se puede evidenciar en la figura 29 y
comparando los resultados de la tabla 1 y 2.
Tabla 2. Resultados prueba perturbación 4
b. Controlador ángulo El objetivo de esta prueba consistió en medir la robustez del controlador mediante la adición de peso
en la parte más alta del robot con el fin de cambiar el centro de masa y lograr evidenciar si hay algún
cambio de comportamiento en el sistema.
Figura 30: Prueba controlador ángulo PID simple Figura 31: Prueba controlador ángulo PID cascada
Como se puede evidenciar en la figura 30 a medida que se aumenta el peso, la planta tiende a generar
una oscilación más grande respecto al punto de referencia. Esto no ocurre con el PID en cascada
donde se reduce el error máximo por 2.11° con respecto al PID simple. Además de que no se evidencia
un comportamiento en donde el error sea proporcional al peso agregado.
perturbacion 1 2 3
overshoot (%) 6.1 6.05 2.3
desplazamiento (cm) -33.2 -33.6 -25.1
22
Figura 32: Prueba controlador ángulo LQR
Tabla 3: Error absoluto controladores ángulo
Con el controlador LQR no se consiguieron los resultados esperados. Para estabilizarse la planta
realiza oscilaciones muy largas que a medida que pasa el tiempo pueden a llegar a generar
inestabilidades que la planta no es capaz de corregir. Además, en controlador no es capaz de tener un
comportamiento similar a medida que se le va agregando la estructura.
9) Modelo real
a. Componentes electrónicos
• Sensor MPU6050
• 2 motores my1016 350W 24V
• Driver para motor sabertooth 2x32A
• Arduino mega
• 2 baterías de plomo 12V 12ah
• Potenciómetro lineal de 10 Kohms
peso (g) simple (°) robusto (°) lqr (°)
0 0.7625 0.5004 2.8231
150 2.6838 0.5782 3.2066
400 2.6867 0.5049 3.8662
23
b. Diseño de la estructura
También para este proyecto se decidió realizar una estructura donde una persona sea capaz de
montarse y logre desplazarse a alguna ubicación deseada. Mientras este lugar no incumpla con las
restricciones propias de los actuadores.
Teniendo en cuenta que se quiere una estructura no muy pesada, fácil de ensamblar y mecanizar en
los talleres de la universidad ; se decidió usar el aluminio como componente principal para la
estructura del segway. Para los ejes se decidió usar acero 4140 dado que es el material generalmente
usado para este tipo de aplicaciones. Todos los elementos de la estructura fueron diseñados y
mecanizados a excepción de los piñones, perfiles de aluminio y los soportes de los ejes. Los
componentes principales de la estructura se pueden ver en el anexo.
Figura 33: Análisis de carga de la estructura
Realizando el análisis de carga de la estructura como se ve en la figura 33 en donde se tiene como
restricción fija los eje en la zona donde se insertarán las llantas y se aplica una carga de 980 N en el
centro de la base. Se obtiene una tensión de von mises máxima de 91.79 MPa en el eje que equivale
a un factor de seguridad de 5.99. Otra zona critica de la estructura es la pieza que acopla el eje con la
base donde se tiene una tensión de von mises de 52.56 MPa lo que equivale a un factor de seguridad
de seguridad de 1.84.
24
c. Cálculos fuerza de tracción y pendiente máxima de subida
Figura 34. diagrama cuerpo libre rueda
Como las ruedas se deforman debido al peso de la estructura, es necesario tener en cuenta la
resistencia a la rodadura lo cual equivale a desplazar la normal una distancia horizontal.
𝐹𝑇 =𝑇 × 𝑟𝑒𝑑𝑢𝑐𝑐𝑖𝑜𝑛 − 𝑁 × 𝑒
𝑟=
2 × 1.22 × 7.27 − 100 × 9.81 × 0.00236
0.236= 65.38 𝑁
• 𝐹𝑇: fuerza de tracción
• T: torque del motor
• N: fuerza normal
• e: distancia que se desplaza la normal
• r: radio de la rueda
Para calcular la pendiente máxima que puede subir el segway se tiene la siguiente ecuación:
𝑎 =𝐹𝑇 − 𝑤𝑠𝑖𝑛𝜃
𝑚=
65.38 − 100 × 9.81 × sin(3)
100= 0.14
𝑚
𝑠2
Para pendientes mayores a 3° el segway no será capaz desplazarse. En caso de que el segway no tenga
presente una persona la pendiente pasaría a ser de 14°.
25
10) Conclusiones
• Se logro realizar un controlador robusto el cual no ve afectado su funcionamiento por cambios
en algunos de los parámetros del modelo o al aplicarse alguna perturbación en los estados del
sistema.
• Fue posible construir una planta totalmente funcional, la cual permite realizar cambios en la
ubicación del centro de masa, permite la comunicación de los datos del robot de manera
inalámbrica y que se lograra manejar de manera remota. Esto con el fin de implementar
diferentes controladores en donde fue posible evidenciar las ventajas y carencias de cada uno
de estos.
• A pesar de obtener resultados parecidos en las librerías usadas para obtener el ángulo, los
resultados en los controladores pueden verse afectados de manera significativa.
11) Referencias [1] stopperl. (mayo de 2013). instructables arduino segway. Obtenido de
https://www.instructables.com/id/Arduino-Segway/
[2] Sofrony, J. (2001). pendulo invertido. Bogota:Universidad de los andes .
[3] Duirana, G. (1993). control de un pendulo invertido. Bogota:Universidad de los andes.
[4] https://www.invensense.com/products/motion-tracking/6-axis/mpu-6050/
[5] jacksonkr. (21 de septiembre de 2016). github. Obtenido de
https://github.com/TKJElectronics/KalmanFilter/blob/master/Kalman.h
[6] pololu. (s.f.). pololu motor with encoder. Obtenido de https://www.pololu.com/product/2823
[7] Ooi, R. (2003). Balancing a Two-Wheeled Autonomous Robot. Perth: University of Western
Australia.
[8] Khaled, M. (2017). balancing a two wheel robot. Minia: Minia University.
[9] Juang, H.-S. (2013). Design and Control of a Two-Wheel Self-Balancing Robot using the
arduino microcontroller board. Hangzhou: 10th IEEE International Conference on Control
and Automation.
[10] perdueMet. (28 de noviembre de 2016). Youtube Measuring Mass Moment of Inertia of a
Wheel. Obtenido de
https://www.youtube.com/watch?v=MnrCfa4DOvc&list=LLosOYx_9nOd1V10UFAEKisQ&index
=2&t=0s
[11] He, J. (s.f.). rotatory inverted pendulum.University of Pennsylvania. Obtenido de
https://www.seas.upenn.edu/~jiyuehe/rotary-inverted-pendulum/MotorModeling.html
26
[12] Turevskiy, A. (s.f.). mathworks. Obtenido de https://www.mathworks.com/videos/estimating-
dc-motor-parameters-97057.html
[13] Nise, N. (2011). PID controller design. En N. Nise, control systems engineering (págs. 482-
486). Wiley.
[14] Douglas, B. (s.f.). mathworks. Obtenido de https://www.mathworks.com/videos/state-space-
part-4-what-is-lqr-control-1551955957637.html
27
12) Anexo componentes modelo real
28
29
30
31
32
33
34