Modelado y optimización del control de un vehículo eléctrico usando PYOMO
Abstract
En este documento se desarrollará el modelo del sistema eléctrico de tracción de un vehículo eléctrico, el Walk Car. Más adelante, ese módulo se usará para optimizar determinados aspectos del funcionamiento del vehículo, utilizando la herramienta Pyomo. Se llevarán a cabo distintas simulaciones y se extraerán los resultados pertinentes para comprender el funcionamiento del modelo. Estos estudios servirán para ejemplificar el funcionamiento de la herramienta Pyomo, paquete de optimización basado en el lenguaje de programación Python, que está experimentando un crecimiento notable en los últimos años en formulación de modelos de optimización.
Full text
Proyecto Fin de Carrera Ingeniería de Telecomunicación Formato de Publicación de la Escuela Técnica Superior de Ingeniería Autor: F. Javier Payán Somet Tutor: Juan José Murillo Fuentes Dep. Teoría de la Señal y Comunicaciones Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2013 Trabajo Fin de Grado Grado en Ingeniería de las Tecnologías Industriales Modelado y optimización del control de un vehículo eléctrico usando PYOMO Autor: Fernando Estévez García Tutor: Alejandro Marano Marcolini Dpto. Ingeniería Eléctrica Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2021
Trabajo Fin de Grado Grado en Ingeniería de las Tecnologías Industriales Modelado y optimización del control de un vehículo eléctrico usando PYOMO Autor: Fernando Estévez García Tutor: Alejandro Marano Marcolini Profesor Contratado Doctor Dpto. Ingeniería Eléctrica Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2021
Trabajo Fin de Grado: Modelado y optimización del control de un vehículo eléctrico usando PYOMO Autor: Fernando Estévez García Tutor: Alejandro Marano Marcolini El tribunal nombrado para juzgar el trabajo arriba indicado, compuesto por los siguientes profesores: Presidente: Vocal/es: Secretario: acuerdan otorgarle la calificación de: El Secretario del Tribunal Fecha:
Agradecimientos En el momento que tomé la decisión de introducirme en la rama eléctrica de la ingeniería, no tardé en darme cuenta de lo acertado que estuve. Por seguir el ejemplo de los ingenieros industriales eléctricos presentes en mi familia y por acrecentar la motivación y las ganas de aprender que tengo gracias a ellos. También me gustaría agradecer de manera especial a Alejandro Marano Marcolini, por su atención constante y dedicación para llevar adelante este trabajo. Además de su capacidad de análisis para hacer fácil lo que pueda parecer díficil, he podido trabajar codo con codo con una persona agradable y amable, lo que es de agradecer. Fernando Estévez García Sevilla, 2021 I
Resumen En este documento se desarrollará el modelo del sistema eléctrico de tracción de un vehículo eléctrico, el Walk Car. Más adelante, ese módulo se usará para optimizar determinados aspectos del funcionamiento del vehículo, utilizando la herramienta Pyomo. Se llevarán a cabo distintas simulaciones y se extraerán los resultados pertinentes para comprender el funcionamiento del modelo. Estos estudios servirán para ejemplificar el funcionamiento de la herramienta Pyomo, paquete de optimización basado en el lenguaje de programación Python, que está experimentando un crecimiento notable en los últimos años en formulación de modelos de optimización. III
XNotación ρaire Densidad del aire SfSección frontal CxCoeficiente aerodinámico Crr Coeficiente de rozamiento xCoordenada horizontal yCoordenada vertical θÁngulo de inclinación con respecto a la horizontal φÁngulo de inclinación de las ruedas arAceleración lateral pPotencia vVelocidad aAceleración
1 Introducción y Motivación Es imposible obviar el enorme desarrollo que está viviendo la movilidad urbana gracias a las necesidades de los ciudadanos, nuevos dispositivos eléctricos salen a la luz con el fin de mejorar los trayectos diarios y a raíz de este hecho la competitividad de las marcas hace que el desarrollo de estos dispositivos sea constante, por lo que su estudio tiene un efecto muy interesante. Resulta evidente que nuestros trayectos diarios están cambiando, la demanda y la necesidad de reducir el tiempo de viaje al trabajo, a la universidad o al colegio han provocado que sistemas como el patinete eléctrico, la bicicleta elétrica o distintos vehículos de transporte ligero eléctricos birrueda copen el mercado y sean cada vez más populares. Figura 1.1 Distintos dispositivos de movilidad eléctrica urbana. Figura 1.2 Modelo de una ciudad actual que integra distintos sistemas de movilidad. Uno de estos dispositivos, el Walk Car, está expandiéndose de manera vertiginosa en Asia, y seguramente en los próximos años lo veamos ya por las calles en Europa. Desarrollado por Cocoa 1
2Capítulo 1. Introducción y Motivación Motors [ 1 ], una startup japonesa, fue lanzado en el año 2015 como la solución final en un país con grandes problemas de movilidad. Acapararon la atención de todos presentándolo como la solución de movilidad eléctrica más compacta del mundo. Se ha elegido este dispositivo de movilidad y no otro por el desafío que implica, por su inmensa popularidad y por la motivación que supone estudiar un modelo que han llevado a cabo estudiantes de una universidad japonesa, que gracias a su dedicación decidieron crear una empresa y tener un impacto en la sociedad, tratando de mejorar la movilidad urbana y dar solución a los problemas que tienen los seres humanos, lo que es básicamente la Ingeniería. De esta forma, estudiaremos el Walk Car en todas sus variantes, con diferentes objetivos para cada simulación en nuestro estudio, sacando los resultados y conclusiones pertinentes para entender cómo funciona el que está llamado a cambiar la forma en la que nos desplazamos. Figura 1.3 Walk Car. Figura 1.4 Logotipo de Cocoa Motors. Surge entonces la pregunta de qué herramienta vamos a utilizar para analizar y desgranar el Walk Car, para comprenderlo y sacar resultados. La respuesta la encontramos en el lenguaje de programación Python, que con su programación funcional, su orientación a objetos y su carácter multiparadigma ha revolucionado el mundo tal y como lo conocemos hoy día. Creado por el holandés Guido van Rossum a finales de los años ochenta, le dió el nombre por su afición al grupo humorístico británico Monty Python. Hoy en día, es utilizado en todos los campos de inteligencia artifical y machine learning. Resulta curioso descubrir que Python consta de una filosofía muy concreta, que fue enunciada en una serie de postulados por el desarrollador de Python Tim Peters, que bien podría ser aplicada a cualquier campo de la Ingeniería [3]. •Bello es mejor que feo. •Explícito es mejor que implícito. •Simple es mejor que complejo.
3 •Complejo es mejor que complicado. •Plano es mejor que anidado. •Disperso es mejor que denso. •La legibilidad cuenta. •Los casos especiales no son tan especiales como para quebrantar las reglas. •Lo práctico gana a lo puro. • Los errores nunca deberían dejarse pasar silenciosamente, a menos que hayan sido silenciados explícitamente. •Frente a la ambigüedad, rechaza la tentación de adivinar. • Debería haber una, y preferiblemente solo una, manera obvia de hacerlo. Aunque esa manera puede no ser obvia al principio a menos que usted sea holandés. •Ahora es mejor que nunca, aunque nunca es a menudo mejor que ya mismo. •Si la implementación es difícil de explicar, es una mala idea. •Si la implementación es fácil de explicar, puede que sea una buena idea. •Los espacios de nombres (namespaces) son una gran idea ¡Hagamos más de esas cosas! Dentro de Pyhton utilizaremos el entorno Spyder, y Pyomo será la herramienta que nos permitirá realizar nuestro análisis. Desarrollada por Sandia National Laboratories y la Universidad de California, es una colección de paquetes de software para implementar modelos de optimización como el nuestro. Se desarrolla como parte del proyecto COIN-OR (Computational Infrastructure for Operations Research). ¿Quién utiliza Pyomo? Se viene utilizando mayoritariamente por investigadores para resolver problemas complejos del mundo real, ya que es una herramienta que está en constante desarrollo. Pyomo integra un módulo que permite modelar ecuaciones diferenciales en modelos de optimización. Este módulo, denominado DAE, es la herramienta en la que se basa el trabajo [5]. Figura 1.5 Logotipo de Pyomo DAE. Entre los objetivos de este trabajo, destacan estudiar la viabilidad, efectividad y rapidez de Pyomo para resolver los distintos modelos que se van a plantear, así como la precisión del solver utilizado. Para determinar la efectividad de Pyomo, se observará cómo consigue esta herramienta alcanzar la función objetivo para cada simulación, optimizando . Además, trataremos de entender el comportamiento del Walk Car para los diferentes modelos, con sus limitaciones y modos de funcionamiento. En el primer capítulo se realizará una introducción sobre nuestro dispositivo, el Walk Car. En el se describirán sus características y aspectos técnicos y se desarrollarán de forma teórica sus modos de funcionamiento. Más adelante, en el segundo capítulo se describirán los modelos matemáticos empleados para llevar a cabo los distintos modelos y optimizaciones de los mismos. Finalmente, en el último capítulo se desarrollarán las conclusiones sobre los resultados obtenidos y se tratará de comentar una serie de posibles mejoras o ampliaciones para este trabajo.
2 El Walk Car En este capítulo profundizaremos sobre los aspectos físicos y técnicos de nuestro dispositivo, tales como sus dimensiones, materiales, potencia y funcionalidades. Salvando las diferencias, bien podría decirse que el Walk Car es algo así como un skateboard eléctrico con la forma de un ordenador portátil de 13 pulgadas. Su reducido tamaño y masa, de tan sólo 2.9 kg, permiten llevarlo fácilmente en el interior de un bolso o una mochila. De ahí su tan destacado carácter compacto. Sus dimensiones, 346 mm de largo, 215 mm de ancho y 74 mm de altura, permiten alcanzar un nivel de portabilidad óptimo[1]. Figura 2.1 Dimensiones del Walk Car. En cuanto a los materiales empleados para su construcción, para la superficie de contacto, donde el individuo sitúa sus pies se utiliza un material de policarbonato, lo que aporta una gran resistencia al impacto. Además, está recubierta con una pintura que permite evitar rayones y mejorar el agarre. Se emplea el carbono, con un espesor de 3 mm, con el propósito de realizar un sólido muy ligero y resistente, ya que en estos dos aspectos es muy superior al hierro. El cierto carácter elástico del Walk Car hace que los neumáticos se agarren de manera óptima a la superficie de la carretera y permitan una conducción flexible como lo haría un skateboard o patín. El bastidor que soporta las cuatro ruedas, tanto las motoras delanteras como las traseras, utiliza productos de superduraluminio que son empleados en las alas de los aviones para poder conseguir esa ligereza y resistencia que tanto se busca en este tipo de vehículos. Todo esto aporta un concepto de diseño minimalista, eliminando el exceso de materiales y llevando la ligereza al límite máximo. Además, está diseñado para que no se puedan ver tornillos que perjudiquen el diseño, y el aspecto simple del que goza hace que sea incluso un artículo de moda que resulta agradable usar y llevar. Las ruedas delanteras motoras, de unos 6 cm de diámetro, constan de un motor ultracompac- 5
6Capítulo 2. El Walk Car to de corriente continua que va dispuesto en el interior de cada una. Dichos motores aportan conjuntamente una potencia nominal de salida de nuestro dispositivo de 260 W en total.[ 1 ]. El Walk Car tiene suspensión independiente en las 4 ruedas, además de la suspensión vertical, las ruedas delanteras están equipadas con una suspensión total que suaviza el impacto de caminos con cualquier superficie irregular y logra un alto rendimiento de carrera incluso para los neumáticos de pequeño diámetro que tiene nuestro dispositivo. Figura 2.2 Suspensión del Walk Car. Al usar un sensor de 4 puntos integrado en la superficie de contacto, se puede acelerar, frenar y girar con una simple operación de los pies orientada mover el centro de gravedad. Con un simple movimiento de rodillas podremos virar a la derecha o a la izquierda, gozando de un confort y una suavidad en el trazado óptimos y con nada más que levantar ligeramente los dedos de los pies el dispositivo realizará un frenado progresivo. La carga máxima que soporta es de unos 80 kg, y la mínima de unos 30 kg, con lo que un niño de menos de 10 años no debería utilizar el dispositivo. Dicha carga máxima se reduce hasta los 70 kg si se quiere conseguir sobrepasar pendientes de 10 º , lo que tendremos en cuenta en nuestro estudio. Además, el rango de temperaturas de uso oscila entre -10 º C y 40 º C, lo que es importante tener en cuenta si nos encontramos en verano, cuando las temperaturas puedan sobrepasar dicho límite. En cuanto a su autonomía, consta de una batería de ion de litio que se carga completamente en 60 min. Sin embargo, con 30 min de carga la batería quedará cargada casi al total de su capacidad. El Walk Car permite realizar la carga de batería de pie, lo que permite hacerlo en cualquier lugar, la oficina o una cafetería, sin estorbar u ocupar más espacio de la cuenta. Con el fin de que el individuo pueda tener una conducción agradable y sin sobresaltos, el Walk Car incorpora una serie de medidas de seguridad que enunciamos a continuación. Ya se ha mencionado la baja altura del dispositivo de tan solo 74 mm, dicha altura permite que la persona pueda bajarse del dispositivo en cualquier momento ante cualquier situación de peligro, lo que resulta una medida se seguridad muy interesante. Pero sin duda el aspecto más atractivo en cuanto a funcionalidades es el frenado automático, que permite que el Walk Car no se acelere en exceso en bajadas con una pendiente considerable y además emplea la energía regenerativa para cargar baterías y aumentar el rango de crucero. 2.1 Modos de Funcionamiento Pasamos ahora a describir los 3 modos de funcionamiento de los que consta el Walk Car, describiendo posibles usos para cada uno de ellos y sus características más relevantes.
2.1 Modos de Funcionamiento 7 Tabla 2.1 Parámetros básicos del Walk Car. Parámetro Valor Dimensiones 346x215x74 mm Masa 2.9 kg Potencia de salida 260 W Rango de carga 30-80 kg 2.1.1 Modo de Asistencia para Caminar Este modo permite conducir con confianza a la velocidad de lo que bien podría ser un paseo rápido. Es adecuado también para ir en paralelo con otros peatones o incluso para su uso en interior, como ahora veremos. Cocoa Motors insta a utilizar este modo no solo para ir por la ciudad, sino para utilizarlo para necesidades básicas o en la industria. Por ejemplo, si una persona que está llevando a otra en una silla de ruedas no quiere realizar esfuerzo tan solo tiene que montarse en el Walk Car y este aplicará la fuerza necesaria para realizar el movimento. En la industria también podría ser utilizado para que el operario correspondiente pueda transportar la carga de una manera más sencilla y rápida. Este modo tiene una autonomía de 7 km y puede llegar a alcanzar una velocidad máxima de 6 km/h. Figura 2.3 El Walk Car en la industria. 2.1.2 Modo Normal Este modo es posiblemente el más adecuado para viajar lejos y dar un paseo disfrutando del paisaje a la velocidad que uno normalmente tendría si decide correr. Tiene una velocidad máxima de 10 km/h y una autonomía de 7 km, al igual que en el modo de asistencia para caminar. Quizá sería este el modo más óptimo para ir en paralelo con una persona que vaya corriendo o haciendo footing. 2.1.3 Modo Deportivo Es adecuado cuando la preferencia es moverse rápido o disfrutar de una conducción algo más activa a la velocidad similar a la que pueda tener una bicicleta. Quizá sea este el modo más empleado para esos trayectos conocidos del trabajo a casa, y emplear el menor tiempo posible en ellos. Tiene
8Capítulo 2. El Walk Car una velocidad máxima de 16 km/h y una autonomía con distancia de crucero de 5 km, algo más reducida que en los dos modos anteriores. Esto último puede llegar a ser un incoveniente si buscamos conseguir cubrir un largo trayecto a una velocidad alta, para lo que quizá sería más conveniente el modo normal. Figura 2.4 El Walk Car virando en modo normal.
3 Modelos y Simulaciones En este capítulo describiremos en primer lugar de manera breve cómo opera Pyomo y para ello realizaremos un modelado de un motor de corriente continua, que bien podría ser el que lleve el Walk Car en sus ruedas motoras delanteras, de forma que podamos ir introduciendo el modelo completo del Walk Car. Iremos describiendo paso a paso cada bloque de la estructura del código, una vez descrito el modelo y sus ecuaciones. 3.1 Motor de Corriente Continua en Pyomo Para comenzar a familiarizarnos con el entorno de Pyomo y simplificar nuestro sistema, llevaremos a cabo el modelado y optimización de un motor de corriente continua. Debemos tener en cuenta que nuestro Walk Car lleva instalados dos motores de corriente continua en cada una sus ruedas delanteras, que ejercen de motoras. Para esta primera simulación hemos escogido un motor que simula a la perfección la máquina que llevarán nuestras ruedas del Walk Car. Teniendo en cuenta los datos facilitados por Cocoa Motors y atendiendo al tamaño ultracompacto de nuestro motor, se ha escogido un modelo que tiene una potencia de salida nominal de 260 W y un par máximo ejercido de 1000 mNm. Además, la tensión a la que está sometido nuestro motor será de 24 V y será capaz de soportar una intensidad máxima de 17.1 A. De esta forma, para esta simulación inicial se tomará un motor de 260 W para ver la respuesta del sistema, y en las siguientes divideremos esa potencia se repartirá entre los dos motores. Figura 3.1 Motor ultracompacto del Walk Car. Para desarrollar el modelo que describe nuestro motor, debemos tener en cuenta tanto el modelo 9
16 Capítulo 3. Modelos y Simulaciones Figura 3.4 Potencia de un motor de 260 W. Figura 3.5 Velocidad del motor en rpm. el reducido tamaño de nuestro motor. Nuestra variable de control, la tensión de armadura, sube hasta llegar a aplicar un valor cercano a los 400 V si se quiere alcanzar la potencia nominal perseguida de 260 W. Ambas intensidades (armadura y campo) tienen un pico inicial de 2 A pero se estabilizan en régimen permanente hasta llegar a 0.6 A, aproximádamente. El par aplicado, ya que solo tiene como restricción un valor máximo de 1000 mNm, sube rápidamente hacia ese valor, con el fin de poder alcanzar la consigna de potencia en el menor tiempo posible.
3.1 Motor de Corriente Continua en Pyomo 17 Figura 3.6 Tensión de armadura para motor de 260 W. Figura 3.7 Intensidades de campo y armadura para un motor de 260 W.
18 Capítulo 3. Modelos y Simulaciones Figura 3.8 Par electromagnético aplicado para un motor de 260 W. 3.2 Modelo Físico Completo Una vez demostrado el optimizado de un modelo simple como es el motor de corriente continua, en este apartado se realizará la explicación de todas las variables que se han tenido en cuenta para llevar a cabo el sistema global físico, así para conseguir una simulación lo más realista posible dentro de lo que pueda ser un entorno urbano. Junto con las ecuaciones explicadas en apartados anteriores del motor podremos llegar, gracias a la relación de transmisión y otros parámetros, al movimiento de la rueda por el asfalto y una velocidad global del sistema en km/h. Para ello emplearemos distintas fuerzas como la de la gravedad, rozamiento o drag, en la que hemos tenido que emplear parámetros de gran importancia en cuanto a aerodinámica y rozamiento de cualquier vehículo. 3.2.1 Modelo y Ecuaciones Como se ha introducido, para analizar el comportamiento del sistema completo debemos considerar una serie de aspectos que tienen una influencia mayúscula en todos los sistemas de movilidad mecánica. Recordando la ilustración de la sección anterior que mostraba el diseño del motor de corriente continua, ahora debemos incluir a ese motor la rueda del dispositivo y el sistema de transmisión, que serán los encargados de que nuestro sistema se mueva a través de la superficie. Además de todas las variables y parámetros antes mencionados en los apartados del modelo eléctrico y mecánico del motor, ahora veremos nuevas variables que formarán parte de nuestro modelo. Figura 3.9 Esquema del sistema de transmisión.
3.2 Modelo Físico Completo 19 Ahora, debemos duplicar tanto el par electromagnético como el par de fricción, ya que nuestro modelo consta de dos motores. Recordando la ecuación que modelaba la velocidad del rotor quedaba definida una constante Jr y un par de carga τl que considerábamos nulo para modelar el motor de corriente continua. Pues bien, estas dos variables ahora tomarán un valor totalmente diferente, quedando la velocidad del rotor del motor de la siguiente manera: dωr dt =1 M·R2 w·K2 w ·(2·τr−2·Kf·ωr−Rw·Kw·(fd+fβ+4·fr)) (3.14) Como vemos se han introducido distintas variables, entre ellas destaca la relación de transmisión Kw y el radio de la rueda Rw que serán los que determinarán la velocidad de la rueda de nuestro Walk Car. El radio de la rueda se tomará de 0.03 m tal y como especifica Cocoa Motors y la relación de transmisión se ha tomado con un valor de 0.9, ya que el motor va dentro de la propia rueda y girará a una velocidad similar, eso sí, teniendo en cuenta algunas pérdidas. De esta forma, relacionamos el valor de la velocidad angular del motor con la de la rueda, y dicha velocidad angular de la rueda con la velocidad lineal de nuestro sistema. ωw=Kw·ωr(3.15) ν=Rw·ωw(3.16) Para el sistema mecánico, como se puede ver en la ecuación por la que se rige la velocidad del motor, también deberemos tener en cuenta ciertas variables de fuerza que se oponen o que apoyan el movimiento del dispositivo y que resultan indispensables para modelar nuestro sistema de movilidad. Dichas fuerzas son las contempladas en cualquier sistema mecánico y se detallan a continuación. Figura 3.10 Esquema de fuerzas. Fuerza de las Ruedas Primeramente, deberemos considerar la fuerza que ejercen las ruedas, en nuestro caso las dos delanteras, ya que son las que llevan los motores de corriente continua y son las que ejercerán el par. En nuestras ecuaciones, deberemos considerar esta fuerza como doble por el hecho de contar con dos ruedas motoras, cuestión que ya se ha tenido en cuenta al duplicar el par aplicado. Así, nuestra fuerza motora total queda como: fw=τw Rw (3.17)
20 Capítulo 3. Modelos y Simulaciones τw=τr Kw (3.18) Fuerza Gravitatoria En segundo lugar, y como se muestra en la ilustración más abajo, nuestro sistema es probable que se enfrente normalmente a una inclinación, así que deberemos considerar esa fuerza a vencer, que dependerá de dicho ángulo de inclinación. Recordemos que nuestro Walk Car es capaz de soportar una inclinación máxima de 10 º , eso sí, con una carga bastante reducida. M, que representa la masa que engloba tanto al Walk Car como al individuo, se ha tomado de 75 kg. El ángulo de inclinación β se tomará como nulo para nuestras primeras simulaciones, y se estudiará su impacto en un apartado independiente. fβ=g·M·sinβ(3.19) Fuerza de Arrastre Aerodinámico (Drag) Además, todo sistema mecánico se enfrenta siempre a la oposición del viento, lo que conocemos como fuerza del drag. Nuestro caso resulta peculiar ya que la sección de nuestro sistema se compone de la base del Walk Car además de la silueta frontal del individuo que va sobre él. Teniendo esto en cuenta, se ha tomado una sección frontal de 0.6 m2 . La densidad del aire de valor 1.225 kg/m 3 , también tiene una gran influcencia a la hora de considerar la acción del viento. El coeficiente aerodinámico Cx se ha tomado de valor 0.9, teniendo en cuenta coeficientes similares para casos como el de un ciclista. fd=1 2 ·ρaire ·Sf·Cx·ν2(3.20) Fuerza de Rozamiento Al circular por las aceras de la ciudad, también tendremos un cierto coeficiente de rozamiento por el contacto de las ruedas con la superficie de contacto. Dicha fuerza de rozamiento a vencer será multiplicada por 4 ya que son 4 ruedas las que deben vencer esa fuerza. Tomaremos un Crr de valor 0.005. fr=Crr ·M·g(3.21) Figura 3.11 Esquema de fuerzas en el Walk Car.
3.2 Modelo Físico Completo 21 3.2.2 Primera Simulación. Tres modos en movimiento rectilíneo Ahora, teniendo en cuenta todas las variables y fuerzas antes explicadas llevaremos a cabo las primeras simulaciones del modelo global. Todas las simulaciones que se muestran en este apartado consisten en alcanzar el máximo valor de velocidad permitido para cada modo de uso: asistencia para caminar, normal y rápido. En todas ellas, para este primer ensayo, supondremos un movimiento rectilíneo y con un ángulo de inclinación 0 º . Además, para limitar la aceleración, informamos a Pyomo que la máxima aceleración permitida es de 0.8 m/s 2 , favoreciendo así un arrancado suave que permita al individuo permanecer de manera estable sobre el Walk Car. Es importante para entender los resultados, recordar que estamos ante lo que bien podría ser un experimento en el que medimos con un cronómetro, en una carretera aislada, cuánto tiempo tarda el Walk Car en alcanzar la velocidad máxima de cada modo. min :Z=tf(3.22) s.a dωr dt =1 M·R2 w·K2 w ·(2·τr−2·Kf·ωr−Rw·Kw·(fd+4·fr)) (3.23) dia dt =tf· 1 La ·(va−Ra·ia−La f ·ωe·if)(3.24) dif dt =tf· 1 Lf ·(Vf−Rf·if)(3.25) dv dt =tf·a(3.26) τr=La f ·if·ia(3.27) p=τr·ωr(3.28) ωw=ωr·Kw(3.29) v=ωw·Rw(3.30) p⩽260 (3.31) p⩾0(3.32) τr⩽1(3.33) a⩽0.8(3.34) #define the optimization objective
22 Capítulo 3. Modelos y Simulaciones m.obj = Objective(expr=m.tf) Esta vez no describiremos el código de forma detallada. Declararemos las restricciones más importantes en cada caso (modo asistencia para caminar, normal y deportivo) y definiremos las condiciones iniciales y finales del sistema, además del objetivo de optimización que como ya se ha comentado, sigue siendo el de minimizar el tiempo. Modo de Asistencia para Caminar Recordemos que para este modo el Walk Car alcanzaba una velocidad máxima de 6 km/h. Esto unido al objetivo de minimizar el tiempo en el que se alcanza la velocidad objetivo y a las siguientes condiciones y restricciones arrojará unos resultados óptimos. Las nuevas restricciones y condiciones iniciales y finales quedan enunciadas de la siguiente manera: •Potencia inferior a 260 W durante todo el intervalo. •Aceleración inferior al límite impuesto de 0.8 m/s2 Tabla 3.4 Modo de Asistencia para Caminar. Valor Condición inicial Condición final Velocidad del motor 0 rad/s ⩾0 rad/s Intensidades de armadura y campo 0 A ⩾0 A Tensión de armadura 0 V ⩾0 V Velocidad 0 m/s 1.7 m/s (6 km/h) El Walk Car alcanza el objetivo de llegar a una velocidad de 6 km/h en 2.1 s, lo que resulta razonable teniendo en cuenta el límite de aceleración que favorece un arrancado suave y progresivo. Además, por ser esta la primera simulación en la que imponemos dicho límite, representamos la aceleración. Se puede comprobar que alcanza rápidamente el valor máximo, ya que gracias a ello alcanzaremos la velocidad objetivo lo más rápido posible. Para esta primera simulación del modo asistencia para caminar mostraremos una gran cantidad de valores, que iremos omitiendo en las siguientes por obviedad. En cuanto a la potencia, como cabía esperar la potencia empleada en el modo asistencia para caminar es reducida, llegando a los 60 W para la velocidad objetivo. La velocidad del motor por tanto, también estará muy lejos de su valor nominal, llegando a las 600 rpm. La variable de control, tensión de armadura, que debe ser aplicada por el individuo con los pies será de 100 V. En cuanto a las dos intensidades, se observa que se alcanza el régimen permanente rápidamente tras un pequeño pico de intensidad en el régimen transitorio.
3.2 Modelo Físico Completo 23 Figura 3.12 Velocidad en Modo Asistencia para Caminar. Figura 3.13 Aceleración en Modo Asistencia para Caminar. Figura 3.14 Potencia empleada en Modo Asistencia para Caminar.
24 Capítulo 3. Modelos y Simulaciones Figura 3.15 Velocidad del motor en Modo Asistencia para Caminar. Figura 3.16 Tensión de armadura en Modo Asistencia para Caminar. Figura 3.17 Intensidad de armadura en Modo Asistencia para Caminar.
3.2 Modelo Físico Completo 25 Figura 3.18 Intensidad de campo en Modo Asistencia para Caminar. Modo Normal Para este modo normal el Walk Car alcanzaba una velocidad máxima de 10 km/h. Esto unido al objetivo de minimizar el tiempo en el que se alcanza la velocidad objetivo y a las siguientes condiciones y restricciones arrojará unos resultados que interpretamos a continuación. Ahora obviaremos algunas gráficas que se han comentado para el modo normal, que se consideran repetitivas. Las restricciones y condiciones iniciales y finales quedan enunciadas de la siguiente manera: •Potencia inferior a 260 W durante todo el intervalo. •Aceleración inferior al límite impuesto de 0.8 m/s2 Tabla 3.5 Modo Normal. Valor Condición inicial Condición final Velocidad del motor 0 rad/s ⩾0 rad/s Intensidades de armadura y campo 0 A ⩾0 A Tensión de armadura 0 V ⩾0 V Velocidad 0 m/s 2.8 m/s (10 km/h) El Walk Car alcanza el objetivo de llegar a una velocidad de 10 km/h en 3.6 s, un segundo y medio más tarde, (aproximádamente) lo que resulta razonable teniendo en cuenta la subida de velocidad con respecto al modo anterior, manteniendo ese arrancado suave y progresivo. En cuanto a la potencia, como cabía esperar la potencia empleada en el modo normal sube considerablemente con respecto al modo anterior y alcanza el valor de 100 W cuando el Walk Car circula a 10 km/h. La velocidad del motor sigue muy lejos de su valor nominal, llegando a las 1000 rpm. La variable de control, tensión de armadura, que debe ser aplicada por el individuo con los pies sube hasta llegar a un valor de 155 V. En cuanto a las dos intensidades, se observa que se alcanza el régimen permanente rápidamente tras un pequeño pico de intensidad en el régimen transitorio, de nuevo como en el caso anterior.
32 Capítulo 3. Modelos y Simulaciones pasamos a indicar cómo cambia de posición nuestro sistema, si parte desde el origen de coordenadas (x=0, y=0). dx dt =ν·cos(θ)(3.36) dy dt =ν·sin(θ)(3.37) Figura 3.32 Esquema del Walk Car con los ángulos considerados. Queda claro entonces como cambiarán nuestras posiciones x e y con respecto al ángulo de inclinación del propio coche, pero debemos determinar cómo se modifica el ángulo de inclinación del coche respecto a la horizontal con el ángulo de inclinación de las ruedas φ . Para ello, debemos introducir la longitud del Walk Car, que denominaremos L. dθ dt =ν L ·tan(φ)(3.38) Uno de los parámetros más importantes en la conducción es la conocida aceleración lateral o fuerza ’g’. Esta fuerza será igual a la velocidad del sistema al cuadrado partida del radio de curvatura, que no es más que la longitud del vehículo partido del seno de φ . De esta forma, definimos así la aceleración lateral. ar=ν2·sin(θ) L(3.39) 3.3.2 Primera Simulación Para nuestra primera simulación impondremos un tiempo de 30 segundos, y trataremos de que el sistema consiga, partiendo del reposo, llegar a una cierta posición y se pare en dicha posición. De esta manera, nuestro objetivo será minimizar la aceleración y la ya descrita aceleración lateral, para mejorar así el confort y favorecer ya no solo el arrancado sino también un giro suave para la seguridad del individuo. Volveremos a imponer un valor máximo de aceleración 0.8 m/s 2 , que nos valdrá para ambas aceleraciones. Así todo, nuestro modelo será ahora: min :Z=Zt f 0 (a2+a2 r)·dt (3.40) s.a
3.3 Modelo Físico con Giros y Aceleración Lateral 33 dx dt =ν·cos(θ)(3.41) dy dt =ν·sin(θ)(3.42) dθ dt =ν L ·tan(φ)(3.43) dωr dt =1 M·R2 w·K2 w ·(2·τr−2·Kf·ωr−Rw·Kw·(fd+4·fr)) (3.44) dia dt =tf· 1 La ·(va−Ra·ia−La f ·ωe·if)(3.45) dif dt =tf· 1 Lf ·(Vf−Rf·if)(3.46) dv dt =tf·a(3.47) ar=ν2·sin(θ) L(3.48) τr=La f ·if·ia(3.49) p=τr·ωr(3.50) ωw=ωr·Kw(3.51) v=ωw·Rw(3.52) p⩽260 (3.53) p⩾0(3.54) τr⩽1(3.55) a⩽0.8(3.56) ar⩽0.3(3.57) ar⩾−0.3(3.58)
34 Capítulo 3. Modelos y Simulaciones Nuestra función objetivo será: m.integral = Integral(m.t, wrt=m.t, rule=lambda m, t: m.aceleracion[t ]**2 + m.aceleracion_lateral[t]**2) m.obj = Objective(expr=m.integral) Las condiciones que le impondremos al individuo serán las siguientes: Partiendo del sistema en reposo y desde el origen de coordenadas, lleve el Walk Car hasta la posición x=1.5 m, y=3 m y deténgalo en ese punto al cabo de 30 segundos. Además, el ángulo de inclinación del coche debe ser 0 º tanto en la posición inicial como en la final. Una vez asimilada la consigna, este sería el resultado. #initial conditions m.pc = ConstraintList() m.pc.add(m.x[0]==0) m.pc.add(m.y[0]==0) m.pc.add(m.theta[0]==0) m.pc.add(m.velocidad[0]==0) m.pc.add(m.v_a[0]==0) m.pc.add(m.tau[0]==0) #final conditions m.pc.add(m.x[tf]==1.5) m.pc.add(m.y[tf]==3) m.pc.add(m.theta[tf]==0) m.pc.add(m.velocidad[tf]==0) #final conditions on the control inputs m.pc.add(m.v_a[tf]==0) m.pc.add(m.tau[tf]==0) m.pc.add(m.phi[tf]==0) Como podemos observar, para poder detener el vehículo en la posición pedida y con el ángulo de inclinación requerido, se aprecia la suave curva que debería de realizar el individuo. En la siguiente gráfica se puede apreciar el bajo valor de ambas aceleraciones, ya que el objetivo no requiere una mayor aplicación de estas. Sí que es visible el aumento de la frenada al final del recorrido, ya que entre nuestros objetivos estaba el de frenar el vehículo en la posición pedida. En cuanto a los ángulos y observando a la vez el recorrido realizado por nuestro Walk Car, para el valor del ángulo de inclinación de la rueda φ , es claro que para los 15 primeros segundos el dispositivo gira en una dirección (hacia la derecha) y en el tramo final en la contraria (izquierda). El ángulo de inclinación del dispositivo describe exactamente igual que el recorrido el trazado que realiza el Walk Car, llegando en el instante final a encontrarse en la misma posición que la inicial, cumpliendo nuestro objetivo. De la misma forma que para los ángulos, en la gráfica de la velocidad se puede intuir también el trazado del dispositivo, los valores son bajos ya que la posición objetivo se encuentra relativamente cerca del objetivo, y recordemos que el individuo dispone de 30 segundos para realizar la maniobra.
3.3 Modelo Físico con Giros y Aceleración Lateral 35 Figura 3.33 Recorrido trazado por el individuo en la primera simulación con giros. Figura 3.34 Aceleraciones del sistema en la primera simulación con giros. Figura 3.35 Ángulos del sistema en la primera simulación con giros.
36 Capítulo 3. Modelos y Simulaciones Figura 3.36 Velocidad del Walk Car en la primera simulación con giros. 3.3.3 Segunda Simulación Realizaremos ahora una nueva simulación, en la que la consigna y el objetivo que le marcaremos al individuo será exactamente el mismo con una salvedad, deberá colocar el dispositivo en la posición objetivo pero colocado al revés, es decir, con un ángulo de inclinación respecto a la horizontal de π rad. Esta vez, la posición final será x=2, y=2. La curva del recorrido, muestra que ahora para cumplir el objetivo hay que realizar una maniobra algo más compleja, lo que tendrá repercusión en los valores de aceleraciones, ángulos y velocidad. #initial conditions m.pc = ConstraintList() m.pc.add(m.x[0]==0) m.pc.add(m.y[0]==0) m.pc.add(m.theta[0]==0) m.pc.add(m.velocidad[0]==0) m.pc.add(m.v_a[0]==0) m.pc.add(m.tau[0]==0) #final conditions m.pc.add(m.x[tf]==2) m.pc.add(m.y[tf]==2) m.pc.add(m.theta[tf]==pi) m.pc.add(m.velocidad[tf]==0) #final conditions on the control inputs m.pc.add(m.v_a[tf]==0) m.pc.add(m.tau[tf]==0) m.pc.add(m.phi[tf]==0) Los valores de aceleración han subido considerablemente con respecto a la simulación previa. De nuevo, para alcanzar el objetivo de frenar el Walk Car en la posición objetivo, se puede apreciar una
3.3 Modelo Físico con Giros y Aceleración Lateral 37 Figura 3.37 Recorrido realizado por el individuo en la segunda simulación con giros. frenada relativamente fuerte en los instantes finales. Figura 3.38 Aceleraciones del sistema en la segunda simulación con giros. Para los ángulos, es obvio que φ tiene que pasar del valor inicial 0 rad al valor final π . De esta forma, se produce una bajada en el valor del ángulo de inclinación del vehículo. Para el valor del ángulo de giro, y teniendo en cuenta el recorrido, se puede ver que entre el instante 14 s y 25 s el giro es continuo y por tanto φ es constante. La velocidad sube notablemente, debido a las mayores aceleraciones, llegando a alcanzar una velocidad máxima de simulación de unos 1.5 km/h. Recordemos que estas bajas velocidades se deben a que le hemos dado 30 segundos para que el individuo realice la acción, siempre minimizando la aceleración y la aceleración lateral. De nuevo podemos concluir que las velocidades siguen siendo muy bajas, por lo que en la siguiente simulación trataremos de minimizar el tiempo en el que el individuo realiza la acción. Podríamos decir que estas dos primeras simulaciones han sido realizadas con un individuo novato para el Walk Car, y ahora llevaremos a cabo el mismo tipo de experimento con objetivos de posición pero con una persona que tenga un control más avanzado del dispositivo y pueda cumplir el objetivo en menos tiempo y por tanto, yendo a más velocidad.
38 Capítulo 3. Modelos y Simulaciones Figura 3.39 Ángulos del sistema en la segunda simulación con giros. Figura 3.40 Velocidad del Walk Car en la segunda simulación con giros. 3.3.4 Tercera simulación Una vez contemplados dos casos en los que no hemos tratado de minimizar el tiempo a ejecutar, sino las aceleraciones implicadas en nuestro sistema, pasamos ahora a estudiar un enunciado similar a los anteriores pero con el objetivo de cumplirlo en el menor tiempo posible. De nuevo le indicaremos al individuo una posición objetivo y un ángulo específico de llegada, pero esta vez no le impondremos que se detenga, solo que llegue y pase por dicha posición en el ángulo requerido. min :Z=t f (3.59) s.a dx dt =ν·cos(θ)(3.60) dy dt =ν·sin(θ)(3.61)
3.3 Modelo Físico con Giros y Aceleración Lateral 39 dθ dt =ν L ·tan(φ)(3.62) dωr dt =1 M·R2 w·K2 w ·(2·τr−2·Kf·ωr−Rw·Kw·(fd+4·fr)) (3.63) dia dt =tf· 1 La ·(va−Ra·ia−La f ·ωe·if)(3.64) dif dt =tf· 1 Lf ·(Vf−Rf·if)(3.65) dv dt =tf·a(3.66) ar=ν2·sin(θ) L(3.67) τr=La f ·if·ia(3.68) p=τr·ωr(3.69) ωw=ωr·Kw(3.70) v=ωw·Rw(3.71) p⩽260 (3.72) p⩾0(3.73) τr⩽1(3.74) a⩽0.8(3.75) ar⩽0.3(3.76) ar⩾−0.3(3.77) #define the optimization objective m.obj = Objective(expr=m.tf) Luego el enunciado que le pasaríamos al individuo para realizar la prueba sería:Partiendo del sistema en reposo y desde el origen de coordenadas, lleve el Walk Car hasta la posición x=11 m, y=11 m y pase por ese punto en el menor tiempo posible. Además, el ángulo de inclinación del coche debe ser mayor o igual a 1 rad. No debemos olvidar que pese a que nuestro objetivo ha
40 Capítulo 3. Modelos y Simulaciones pasado a ser el de minimizar el tiempo de ejecución, tenemos establecidos unos valores límite para ambas aceleraciones, fijados en 0.6 m/s2y 0.3 m/s2para la aceleración lateral. #initial conditions m.pc = ConstraintList() m.pc.add(m.x[0]==0) m.pc.add(m.y[0]==0) m.pc.add(m.theta[0]==0) m.pc.add(m.omega_r[0]==0) m.pc.add(m.i_a[0]==0) m.pc.add(m.i_f[0]==0) m.pc.add(m.velocidad[0]==0) m.pc.add(m.v_a[0]==0) m.pc.add(m.tau[0]==0) #final conditions m.pc.add(m.x[1]>=11) m.pc.add(m.y[1]>=11) m.pc.add(m.theta[1]>=1) m.pc.add(m.omega_r[1]>=0) m.pc.add(m.i_a[1]>=0) m.pc.add(m.i_f[1]>=0) m.pc.add(m.velocidad[1]<=4.4) #final conditions on the control inputs m.pc.add(m.v_a[1]>=0) m.pc.add(m.tau[1]>=0) En el recorrido y en la gráfica de la velocidad en km/h se puede apreciar la optimización de la curva que realiza el individuo para alcanzar la máxima velocidad posible, para llegar así a la posición pedida en un tiempo de 7.15 s. Para las aceleraciones, ambas alcanzan su pico en algunos instantes de la simulación lo que no supone ningún problema. Resulta lógico pensar que si aumentásemos dichos límites el objetivo de la simulación se alcanzaría en un tiempo inferior a 7.15 s. Para los ángulos también se puede observar como se alcanza el límite del φ máximo en un instante de la simulación, adquiriendo en este caso un valor de 0.4 rad. Esto no supone ningún problema y bien podríamos decir que sería el equivalente de girar todo el volante en un coche. Observamos también que el objetivo de llegar con una inclinación de 1 rad sobre la horizontal se cumple satisfactoriamente. En cuanto a la potencia empleada y a la tensión aplicada por nuestra variable de control va , que recordemos que lo es en todas nuestras simulaciones, podemos ver como la potencia empleada es alta, y la velocidad roza el límite del modo deportivo de 16 km/h. La potencia llega a alcanzar un
3.3 Modelo Físico con Giros y Aceleración Lateral 41 Figura 3.41 Recorrido realizado por el individuo en la tercera simulación con giros. Figura 3.42 Velocidad del Walk Car en la tercera simulación con giros. Figura 3.43 Aceleración en la tercera simulación con giros.
4 Conclusiones y Posibles Ampliaciones En este capítulo describiremos qué clase de conclusiones hemos podido sacar en base al modelo que hemos optimizado. Describiremos cómo se ha comportado el Walk Car en primer lugar, teniendo en cuenta algunos posibles puntos débiles para su desarrollo y alguna que otra mejora. También se comentará cómo ha sido la experiencia de trabajar en Pyomo, sus ventajas e incovenientes, y algunas cosas a tener en cuenta en un paquete relativamente novedoso y que está en constante desarrollo. Además, tendremos en cuenta qué más se podría haber hecho en este trabajo, comentando posibles ampliaciones o aproximaciones a lo que podría ser un trabajo más fiel a la realidad y que pueda contemplar todas las posibles variantes de un modelo físico completamente real. 4.1 Resultados Recorriendo paso a paso todas las simulaciones realizadas hemos podido comprobar distintos resultados, teniendo en cuenta el objetivo de cada simulación y el comportamiento mostrado. De esta forma y a modo de resumen de los resultados podríamos decir: • El motor de corriente continua simulado al principio alcanzó el objetivo de llegar a 260 W en un tiempo de 2.55 segundos, con una velocidad nominal del motor de 2500 rpm. • Para las simulaciones de los tres modos de funcionamiento podemos concluir que los 3 modos: Asistencia para caminar (6 km/h), Normal (10 km/h) y Deportivo (16 km/h) alcanzan sus respectivas velocidades objetivo en unos tiempos de 2.2 s, 3.55 s y 6 s, respectivamente. • Cuando nos enfrentamos a la simulación que tenía en cuenta la inclinación del terreno alcanzábamos el objetivo de llegar a la potencia nominal en 10 segundos para una inclinación de 2.5ºy 30 segundos para una inclinación de 5º. • En la primera simulación del modelo físico completo el tiempo no fue nuestro objetivo, sino el hecho de minimizar las aceleraciones. Conseguimos parar el Walk Car en la posición x=1.5 y=3 en un tiempo establecido de 30 segundos teniendo un pico de aceleración de -0.08 m/s 2 y un pico de 0.04 m/s2para la aceleración lateral. • En la segunda simulación del modelo físico completo seguimos con nuestro objetivo de minimizar las aceleraciones pero esta vez cambiamos la posición de parada con un ángulo de llegada de 180 º . De nuevo llegamos a nuestro objetivo con unos picos de aceleración algo superiores: -0.15 m/s2y 0.08 m/s2para la aceleración lateral. 49
50 Capítulo 4. Conclusiones y Posibles Ampliaciones • En la tercera simulación del modelo físico volvimos a intentar minimizar el tiempo objetivo, conseguiendo dejar el Walk Car en la posición pedida en unos 7 segundos, empleando una energía de 1000 Wh. • En el último apartado nuestro objetivo pasó a ser limitar dicha energía, como integral de la potencia, llegando a un pico de 220 Wh consiguiendo dejar el Walk Car en la posición pedida en un tiempo establecido de 12 segundos. 4.2 Walk Car El Walk Car, como se ha podido ver a lo largo del capítulo descriptivo de sus características y funcionalidades, es un dispositivo relativamente cómodo de utilizar. Tiene una autonomía lo suficientemente amplia y unos rangos de velocidades que se adecuan a la perfección al tráfico urbano. Una de los aspectos más importantes contemplados en la simulación y modelado ha sido el de poder gozar de un arrancado suave y cómodo, ya que el individuo que va sobre el Walk Car no va agarrado a un volante, ni sentado a un asiento. Hemos podido ver que el arrancado, favorecido por los límites y capacidad de minimizar la aceleración, se realiza de forma ergonómica y segura, sin posiblidad de desestabilizar a la persona del dispositivo. Uno de los aspectos en los que se han encontrado más dificultades ha sido el de definir las características de los motores de corriente continua que van insertados en las ruedas delanteras motoras del Walk Car. Cocoa Motors no ofrece apenas datos sobre los mismos, más que una breve descripción sobre su tamaño ultra compacto y su tecnología innovadora. Es por ello que se han seleccionado valores de motores con un tamaño similar, de entre varios catálogos de motores de corriente continua. Los resultados obtenidos se corresponden con las características de cada modo de uso así que se entiende que la aproximación ha sido correcta y no muy lejana de lo que puedan ser los motores reales del Walk Car. Uno de los posibles puntos flacos del Walk Car, que se ha mencionado en nuestro modelo y optimizado, es el de afrontar una pendiente de subida considerable. Cocoa Motors ya informa en sus manuales e instrucciones que para llevar a cabo determinadas subidas la carga máxima que puede soportar es de unos 60 kg, lo que no resulta ser exactamente el peso medio del ser humano. Es por eso que consideramos este el principal punto débil del Walk Car. Por lo demás el dispositivo se comporta bastante bien, es lo bastante rápido y lo suficientemente suave. Es por todo esto que, intentando olvidarnos de su elevado precio, el Walk Car tiene todo (o casi todo) para hacerse dueño de la movilidad urbana. Ya lo es en Asia y seguramente en los próximos años empecemos a verlo por las calles europeas y americanas, ya que tiene un diseño bastante más atractivo que otros dispositivos de movilidad similares. 4.3 Pyomo Utilizar Pyomo dentro del lenguaje de programación Python y el entorno Spyder ha sido una experiencia muy positiva. Gracias a una cantidad enorme de información disponible por la comunidad de Pyomo, se ha podido aprender una estructura de programación simple, ordenada y funcional que permite resolver ecuaciones diferenciales para definir un modelo de forma cómoda. La manera de optimizar cada sistema con la función objetivo resulta extremadamente útil y sencilla, ya que es ahí donde le decimos a Pyomo qué variable o variables son las que queremos optimizar. El tiempo de simulación suele ser reducido, salvo en algunas ocasiones que alcanza un límite
4.4 Modelo 51 máximo de iteraciones. Resulta interesante comentar que la instalación del solver ipopt resultó muy complicada y compleja, y una gran cantidad de personas tienen problemas para su instalación, por lo que muchos usuarios emplean otros solvers. Sin embargo, en nuestro caso se pudo descargar y utilizar correctamente tras muchos intentos. Creo también que es muy interesante el concepto de restricción o constraint, en el que podemos definir valores límite para nuestras varibales, o definir variables que no sean variables en el tiempo. Ambas funciones las hemos ido utilizando a lo largo de todas las simulaciones de forma cómoda y sencilla. Además, la estructura simple que se ha utilizado ha permitido de manera cómoda declarar todo el conjunto de valores iniciales y finales necesarios dentro de una lista de restricciones. 4.4 Modelo Seguramente faltan muchos detalles o cosas para mejorar nuestro modelo. Además de muchas otras maneras de optimizarlo además de reduciendo energía, aceleraciones o tiempo, podríamos haber incluido distintas particularidades para mejorar nuestro sistema. En primer lugar, podríamos haber implementado un modelo que contemplase el deslizamiento de la rueda, haciendo que nuestra fuerza ejercida por la rueda, fw , sea función de dicho deslizamien- to. Este deslizamiento dependería del radio de la rueda, la relación de transmisión, la velocidad del rótor y de la velocidad lineal en m/s del Walk Car. No la hemos considerado porque parece que el Walk Car pueda tener muy poco deslizamiento en sus ruedas y prácticamente sea imposible patinar o incluso derrapar en una arrancada. Además, Cocoa Motors no menciona nada en absoluto sobre este aspecto, ya que se entiende que es un aspecto negativo que no tiene mucho efecto. Otro de los aspectos para poder ampliar este trabajo habría sido el de poder considerar cómo y de qué manera aplica la tensión el individuo con los pies. Es decir, qué efecto se produce realmente en ese proceso y qué consecuencias tiene en nuestro modelo mecánico y eléctrico. En este caso nuestra variable de control sería ese movimiento de pies y no la tensión aplicada directamente. Este sistema viene modelado por lo que se conoce como módulo del péndulo invertido, a partir del cual con unas referencias de posición y unos ejes de coordenadas, cualquier perturbación del mismo afecta sobre la tensión aplicada. Para ello sería necesario la creación de una serie de matrices de posición y ángulos con sus respectivas perturbaciones. Hoy en día vemos muchos sistemas que funcionan con este sistema, por lo que su aplicación nos resulta familiar. A pesar de todo lo descrito hasta ahora sobre el módulo del péndulo invertido, sobre el que versan numerosos trabajos de grado dada su alta dificultad, no se ha visto conveniente tratar de incluirlo en nuestro trabajo dada su elevada dificultad y atendiendo a qué nuestro objetivo era crear, modelar y optimizar un sistema y entender de forma clara como hacerlo a través de Pyomo, objetivo que se ha cumplido con un sistema lo suficientemente complejo.
Índice de Figuras 1.1 Distintos dispositivos de movilidad eléctrica urbana 1 1.2 Modelo de una ciudad actual que integra distintos sistemas de movilidad 1 1.3 Walk Car 2 1.4 Logotipo de Cocoa Motors 2 1.5 Logotipo de Pyomo DAE 3 2.1 Dimensiones del Walk Car 5 2.2 Suspensión del Walk Car 6 2.3 El Walk Car en la industria 7 2.4 El Walk Car virando en modo normal 8 3.1 Motor ultracompacto del Walk Car 9 3.2 Circuitos de campo y armadura 10 3.3 Esquema representativo del motor 11 3.4 Potencia de un motor de 260 W 16 3.5 Velocidad del motor en rpm 16 3.6 Tensión de armadura para motor de 260 W 17 3.7 Intensidades de campo y armadura para un motor de 260 W 17 3.8 Par electromagnético aplicado para un motor de 260 W 18 3.9 Esquema del sistema de transmisión 18 3.10 Esquema de fuerzas 19 3.11 Esquema de fuerzas en el Walk Car 20 3.12 Velocidad en Modo Asistencia para Caminar 23 3.13 Aceleración en Modo Asistencia para Caminar 23 3.14 Potencia empleada en Modo Asistencia para Caminar 23 3.15 Velocidad del motor en Modo Asistencia para Caminar 24 3.16 Tensión de armadura en Modo Asistencia para Caminar 24 3.17 Intensidad de armadura en Modo Asistencia para Caminar 24 3.18 Intensidad de campo en Modo Asistencia para Caminar 25 3.19 Velocidad del Walk Car en Modo Normal 26 3.20 Potencia empleada en Modo Normal 26 3.21 Velocidad del motor en Modo Normal 26 3.22 Tensión de armadura en Modo Normal 27 3.23 Intensidad de armadura en Modo Normal 27 3.24 Intensidad de campo en Modo Normal 27 3.25 Velocidad del Walk Car en Modo Deportivo 28 53
54 Índice de Figuras 3.26 Velocidad del motor en Modo Deportivo 29 3.27 Tensión de armadura en Modo Deportivo 29 3.28 Potencia empleada en Modo Deportivo 29 3.29 Potencia empleada para 0º 30 3.30 Potencia empleada para 2.5º 31 3.31 Potencia empleada para 5º 31 3.32 Esquema del Walk Car con los ángulos considerados 32 3.33 Recorrido trazado por el individuo en la primera simulación con giros 35 3.34 Aceleraciones del sistema en la primera simulación con giros 35 3.35 Ángulos del sistema en la primera simulación con giros 35 3.36 Velocidad del Walk Car en la primera simulación con giros 36 3.37 Recorrido realizado por el individuo en la segunda simulación con giros 37 3.38 Aceleraciones del sistema en la segunda simulación con giros 37 3.39 Ángulos del sistema en la segunda simulación con giros 38 3.40 Velocidad del Walk Car en la segunda simulación con giros 38 3.41 Recorrido realizado por el individuo en la tercera simulación con giros 41 3.42 Velocidad del Walk Car en la tercera simulación con giros 41 3.43 Aceleración en la tercera simulación con giros 41 3.44 Aceleración lateral en la tercera simulación con giros 42 3.45 Ángulo de las ruedas en la tercera simulación con giros 42 3.46 Ángulo del Walk Car en la tercera simulación con giros 42 3.47 Tensión aplicada en la tercera simulación con giros 43 3.48 Potencia empleada en la tercera simulación con giros 43 3.49 Energía empleada en la tercera simulación con giros 44 3.50 Recorrido realizado por el individuo en la cuarta simulación con giros 46 3.51 Energía empleada en la cuarta simulación con giros 46 3.52 Velocidad del Walk Car en la cuarta simulación con giros 47
Índice de Tablas 2.1 Parámetros básicos del Walk Car 7 3.1 Valores constantes del motor 10 3.2 Valores límite 14 3.3 Condiciones iniciales y finales 15 3.4 Modo de Asistencia para Caminar 22 3.5 Modo Normal 25 3.6 Modo Deportivo 28 55
Bibliografía [1] https://es.cocoamotors.com/. [2] https://es.rs-online.com/web/. [3] https://es.wikipedia.org/wiki/python. [4] Pyomo-workshop: Summer 2018, 2018. [5] William E. Hart, Carl D. Laird, Jean-Paul Watson, David L. Woodruff, Gabriel A. Hackebeil, Bethany L. Nicholson, and John D. Siirola, Pyomo-optimization modeling in python, second ed., 2017. [6] Juan Manuel Mauricio, Apuntes de la asignatura de accionamientos y movilidad eléctrica, Curso 2020/2021. 57