Hola, buenos días a todos.
Para aquel que no me conozca,
me llamo José Sánchez Moreno y soy el coordinador del máster,
en este caso, en la UNED.
Tengo el placer de invitaros al tercer conferenciante de este ciclo.
Se trata del profesor Ángel Miguel Cuenca.
El profesor Ángel Miguel Cuenca es catedrático de universidad
en el Departamento de Ingeniería de Sistemas y Automática de la
Universidad Politécnica de Valencia y es actualmente director
de este departamento, habiendo sido previamente coordinador
de un máster análogo al nuestro.
Forma parte del Grupo de Comunicación
y Control por Computador del Instituto de Automática e
Informática Industrial de la UPV y su investigación
reúne fundamentalmente aspectos de sistemas de control en red,
comunicación basada en eventos, sistemas de control multifrecuencia
y todo ello aplicado a vehículos autónomos,
tema del cual trata su conferencia.
Bueno, ya con esta presentación os dejo ya, ya toma la palabra
el profesor Ángel Cuenca.
Gracias.
Creo que deberéis darle aquí al micro.
Vale.
Bueno, pues nada,
vamos a comenzar la charla que he preparado.
Muchas gracias, José, por la presentación.
También a la UNED en general por la invitación a este evento.
Para mí es un placer estar hoy con vosotros aquí.
Ya tenemos la presentación ahí en juego.
Vale, pues nada, vamos a.
He preparado la charla en tres secciones.
Primero voy a hablar un poco del contexto
de la línea de investigación.
Luego pasaremos a ver los últimos resultados que hemos publicado,
los más relevantes quizás de los últimos años.
Y luego, en la última sección,
lo que pasaremos a ver es los siguientes pasos
que nos gustaría desarrollar, proyectos, digamos, trabajos futuros
que tenemos en mente.
Bien, vamos a empezar con el contexto.
Cuando empecé a preparar la charla,
quise mirar un poco hacia atrás y ver cuál fue la publicación
de cierta relevancia, publicación ya en revista indexada
que teníamos en esta línea de investigación.
Y encontré esta de 2003 que iba fundamentalmente
sobre la tesis doctoral del profesor Casanova,
que pertenece al grupo de investigación
y fue dirigida por el profesor Salt,
que es el responsable del grupo.
Y esa fue la primera, quizás,
y la última ha sido una del verano pasado,
que va sobre la tesis doctoral de Rafael Carbonell,
que sigue con nosotros como postdoc.
Esa tesis ha sido dirigida tanto por el profesor Schalt
como por mí.
También había trabajado en ese paper el profesor Casanova y colaboró
con nosotros Ernesto Aranda, el profesor Aranda Escolástico,
que está hoy con nosotros aquí en la conferencia.
Entonces, bueno, la idea es que desde 2003 a 2024 vemos 21 años
en los cuales ya antes de 2003 estaríamos ya trabajando en esto,
como es obvio.
Por tanto, tenemos un bagaje de más de 20 años
en esta línea de control, los sistemas de control en red.
Durante esos más de 20 años hemos podido.
También quise contar
cuántas publicaciones más o menos tenemos en esta línea
y conté más de 30.
Entonces tenemos como un bagaje interesante.
En estas publicaciones
fundamentalmente aparecen firmantes del grupo.
Ya digo que el grupo está encabezado por el profesor Schalt.
Yo hago un poco las veces de coordinador,
somos los catedráticos del grupo.
Tenemos al profesor Casanova y Pizá como titulares de universidad.
Y hemos tenido y tenemos alumnos de doctorado,
por ejemplo, José Alcaina,
que defendió su tesis ya hace cuatro años
y ahora está en empresa privada.
Rafael Carbonell, que defendió la tesis al final del año pasado
y sigue con nosotros como postdoc.
Y Guillermo Alite,
que está ahora haciendo la tesis con nosotros
y lo compagina con trabajo en la empresa privada.
Pero no solo aparecemos nosotros cuando firmamos estos trabajos,
sino que hay un montón de gente que ha hecho un trabajo inestimable
y que nos ha ayudado mucho para conseguir este bagaje
de publicaciones.
Iré desde los más cercanos a nosotros,
pues en el mismo instituto
que nosotros ha colaborado mucho el profesor Alberto,
también Sala, el profesor García, González.
Yéndonos un poco ya al entorno nacional,
aquí en la UNED
tenemos una estrecha colaboración con el profesor Dormido,
de muchos años.
Últimamente también estamos trabajando mucho
con el profesor Aranda Escolástico.
En Murcia hemos colaborado mucho con Alfonso Baños,
el profesor Baños.
Y bueno,
yéndonos ya un poco más al entorno internacional,
tenemos una estrecha colaboración
con la Universidad de California Berkeley,
con el profesor Tomizuka y su grupo de investigación.
También con los profesores Himmels de Indoben y su grupo
y el profesor Chou
de la Universidad Estatal de Carolina del Norte y su laboratorio.
Por tanto, nos gustaría agradecer a todos ellos
la labor que han hecho tan importante en ayudarnos a trabajar y avanzar
en esta línea de investigación, ya digo, durante más de 20 años.
Bien, pasada la página de agradecimientos,
me gustaría definir un sistema de control en red,
que al fin y al cabo es de lo que vamos a hablar
en la charla.
Y lo haré fijándonos en un control por computador típico.
Es un sistema híbrido con un proceso continuo,
un controlador digital,
entre medias tenemos los conversores de señal.
Bueno, la información se sensoriza,
se retroalimenta al controlador digital
y sacamos una acción de control que al final se convierte en analógica
y se inyecta con el actuador a la planta.
Bien, esto es el control por computador típico
y ¿qué hace el sistema de control en red?
Simplemente introducir una red entre medias de proceso y regulador.
Esto tiene unas ventajas claras.
Imaginad una instalación donde tengamos varios sistemas de control,
¿de acuerdo?
Y si la red además es inalámbrica, las distancias son largas,
pues el hecho de reducir en cableado,
vamos a reducir en costes, en peso, va a ser mucho más fácil de mantener
y actualizar la instalación y eso es una ventaja muy clara
y evidente de estos sistemas.
Pero claro, no todo es bueno y también hay inconvenientes.
Los dispositivos que se conectan a la red tienen un medio común
que ahora tienen que compartirlo
y tienen que acceder de forma restringida,
dividiéndose el medio común como pueden.
Entonces tenemos un ancho de banda restringido normalmente
porque está compartido por todos los dispositivos
conectados a la red.
Además, la información cuando fluye por la red
puede estar retrasada y si es de forma variable
incluso puede introducir desorden de paquetes.
Quiere decirse que paquetes que se enviaron
recientemente se reciben enseguida y paquetes
que se enviaron hace tiempo cuesta mucho recibir
y entonces ahí se desordenan.
Además, los paquetes se pueden perder.
Y luego, como decía, los dispositivos conectados a la red suelen venir,
si es inalámbrica, provistos de baterías.
Entonces, el consumo de dichas baterías es un problema
y tenemos que pensar en hacer uso eficiente de las mismas.
Por tanto, son cuatro problemas bastante importantes
y que nosotros vamos luego a intentar dar una solución desde nuestro grupo
de investigación.
Bien, esto es una pincelada muy rápida.
Me gustaría simplemente citar un par de artículos,
son tutoriales.
El primero de ellos es un poco más reciente,
está siendo muy citado
y, bueno, me parece que está bien para aquel
que quiera profundizar un poco más en este tipo de cuestiones.
Este otro es más antiguo, pero le tengo cierto cariño
porque es nuestro, del grupo de investigación.
Lo publicamos en RIAI, entonces también está en español
y, bueno, puede facilitar un poquito la primera toma de contacto
con los sistemas de control en red.
Los sistemas de control en red es un área de control prolífica,
de gran interés en la comunidad internacional.
Prueba de ello es que IFAC tiene dos comités técnicos
en sendas y líneas de investigación.
En el comité 1.5,
sistemas en red, que es de la línea 1.
Y Comité 3.3, control a través de redes de comunicación,
en la línea 3.
Por tanto, efectivamente,
tiene cierta importancia a nivel internacional
y está siendo, pues ya digo, un área de control ya de muchos años,
con muchas publicaciones y mucha gente dedicada a ella.
Nosotros, sobre todo en los últimos años,
nos hemos centrado desde el grupo CO3,
de Comunicación y Control por Computador,
de la Politécnica de Valencia,
en diseñar sistemas de control eficientes.
Quiere decir que busquen un compromiso entre el ahorro
y las prestaciones.
Queremos ahorrar en recursos, básicamente ancho de banda,
energía de las baterías, computación, el coste computacional
de la algorítmica que lleva a estos diseños.
Además, preocupándose por los retardos,
las pérdidas, posible desorden de paquetes
y ya digo,
logrando unas prestaciones deseadas, digamos, cercanas a las nominales,
cercanas a las que tendríamos si no hubiera red
y pudiéramos usar al 100% los recursos del sistema.
Hubiera un enlace punto a punto
y pudiéramos utilizar todos los recursos al 100%.
Para eso hemos utilizado fundamentalmente control, estimación
y muestreo multifrecuencial,
acompañado de comunicación basada en eventos.
Hay que decir, vale la pena resaltar,
que la multifrecuencia es una línea característica tradicional
de nuestro grupo de investigación,
que dada su aplicabilidad a este tipo de sistemas,
quedó embebida por los sistemas de control en red
con el paso del tiempo.
Entonces nos hemos focalizado en aplicar la multifrecuencia
a los sistemas de control en red.
Vale, inicialmente nosotros empezamos a trabajar con sistemas,
aplicar todo esto a sistemas de cierto interés en el control,
como péndulo invertido, levitador magnético,
robot porticado, el hover de tres lados de libertad.
Y en los últimos años, ya llevamos varios,
una decena de años, nos hemos ido más
hacia el control de trayectorias en robótica móvil,
tanto terrestres, algo hemos hecho también de aéreas.
Pero fundamentalmente nos hemos focalizado en los últimos años
en estos tres sistemas.
De manera experimental hemos trabajado con el robot Lego,
que es un robot no holonómico, también con este robot casero
que hemos hecho en el laboratorio del grupo,
es un robot holonómico de cuatro ruedas mecanum.
Y bueno, a nivel de simulación hemos trabajado en colaboración
con la Universidad de Berkeley, nos proporcionaron un buen modelo
de este coche que tienen allí y pudimos hacer simulaciones
y probar nuestros algoritmos en simulación para este coche.
De estos tres sistemas es de los que luego comentaré cosas
en la parte central de la presentación,
resultados que hemos conseguido en artículos de investigación.
Vale, los últimos proyectos
en los que hemos venido trabajando son estos.
Los dos primeros ya han finalizado.
El último está ahora en ejecución, acaba de empezar.
El primero es del H2020, la Unión Europea.
Había un consorcio enorme de empresas y de universidades europeas
y nosotros nos encargaron un módulo que era el de diseño de sistemas
de control para vehículos que debían moverse por las fronteras
de la Unión Europea.
En el segundo, también finalizado,
este es de la Agencia Estatal de Investigación.
Bueno, pues aquí hicimos NFS eficientes
y los probamos de forma experimental en tanto el Lego
como el robot Mecanum.
Y también hicimos pruebas de simulación
para el coche de Berkeley.
Ya digo, estos son los que hemos acabado
y sobre los artículos que luego comentaré en la parte central,
los resultados, digamos, que se extraen de estos proyectos.
El último tiene que ver más con cosas que vamos a hacer en el futuro,
será la sección tercera de la presentación.
Y ahí lo que queremos es extrapolar todos los resultados a vehículos
autoguiados tipo coche, probarlos de forma experimental
y sobre todo hacer un diseño mucho más avanzado del sistema de control.
Para acabar la parte del contexto, hablaré en estas dos diapositivas
muy rápidamente de algunas de las publicaciones
más relevantes que creo que tenemos.
De esas más de 30, he puesto solo 8.
Me parece relevante porque son fruto de colaboraciones con profesores
nacionales e internacionales.
Creo que están en revistas de un impacto interesante
y están recibiendo un buen número de citas.
Por ejemplo,
estas dos primeras es fruto de una colaboración muy interesante
con el profesor Sala, de la Politécnica de Valencia.
Esta con el profesor Chou y su equipo de investigación
de Carolina del Norte.
Esta publicación es con el grupo de Himmels de Indoben
y también el profesor García de nuestro propio
Instituto de Investigación.
También Indoben sería esta segunda.
Jacobs es un alumno del profesor Himmels
que estuvo en Valencia a distancia
y salió esta publicación en colaboración con el profesor
González, también del AI2.
La primera y la tercera son fruto de la colaboración con Berkeley,
con el profesor Tomizuka.
Y la última es justamente la última que hemos publicado
y ahí nos ayudó Ernesto Aranda Escolástico
a conseguir una serie de resultados para el robot MECAN.
De estas tres son de las que voy a hablar ahora
en la sección que viene, en la sección central.
Empezaré con la de 2021,
luego hablaré de la última que hemos publicado
y acabaré con la del grupo del profesor Tomizuka,
la colaboración que tenemos hoy.
Venga, pues nada, vamos a ello.
Empezamos con la primera publicación.
Esta es en Information Sciences, es una revista Q1.
Aquí propusimos un NCS eficiente para este robot Lego
y aportamos un análisis de estabilidad robusta
que nos iba a servir para sintonizar los parámetros del mecanismo
de disparo por eventos.
Ahora vamos a verlo todo esto con más calma.
Los logros que hemos alcanzado en este artículo
es básicamente nos fijamos en el ancho de banda
y conseguimos un ahorro interesante en ese sentido.
También hicimos frente a retardos y pérdidas
y nos fijamos también en compensar perturbaciones
y tener en cuenta incertidumbres paramétricas.
Y todo esto con un buen compromiso ahorro prestaciones.
¿Cómo lo logramos con estas técnicas?
Usamos comunicación bidireccional, es decir, en los dos enlaces de red,
tanto en el sensor a controlador como en el controlador a actuador.
Y ahí ya digo
que los eventos eran periódicos y los sintonizamos gracias a LMIs
que tenían en cuenta estabilidad robusta y rechazo de perturbaciones.
Esto fue una aportación del artículo.
Otra aportación, y yo creo que la central,
fue un filtro de Kalman lineal, bifrecuencia variable en el tiempo,
que nos servía para estimar toda la información
que no teníamos disponible en el sistema de control,
debido a que se pierden los datos, se retrasan o incluso no se disparan
porque el evento no lo cree oportuno.
Usamos un control bifrecuencia, dada nuestra trayectoria
en esta temática.
Y un algoritmo PurePursuit para seguimiento de trayectorias.
Vamos a verlo con más detalle.
Esta sería la estructura de control.
Tenemos una parte local, donde está la planta.
La parte remota, donde está todo el control
y entre medias la red con retrasos y pérdidas.
Entonces, yendo a la parte local, la planta era el robot Lego,
podía tener certidumbres paramétricas,
iba a recibir perturbaciones a la entrada,
iba a ser muestrada de forma bifrecuencia.
Y esto era fundamentalmente porque queríamos medir a lento
con el fin de pasar poca información por la red
y ahorrar en ancho de banda.
Pero claro, si mediamos poco, debíamos actuar mucho
para mantener prestaciones de control.
Aparte, para todavía enviar menos información, el mecanismo
de disparo de eventos periódico, pues nos comparaba la última señal
medida con la última señal enviada y si la condición se cumple,
envía la información.
Entonces, la condición es una condición mixta,
donde hay una parte relativa a la salida y otra parte absoluta.
Bueno, sigma es un parámetro a ajustar y delta también.
Y esos parámetros venían por la LMI, ¿de acuerdo?
Los ajustábamos con la LMI.
Entonces, bueno, al otro lado, en la parte remota,
tenemos una estación potente en la parte remota
porque necesitamos mucho cómputo.
El algoritmo de control tiene bastante necesidad de cómputo.
Entonces, en la parte local, el Lego no daba para hacer ese cómputo
y entonces se delega y esa es la excusa
de tener un sistema de control en red,
delegar a la parte remota todo el control.
Y ya digo, lo primero que encontramos es el filtro de Kalman,
que tiene además incorporado una etapa de h pasos hacia adelante,
lo cual significa que hay que hacer una estimación a h pasos
hacia el futuro de la información de la salida que no tenemos.
Ahí tenemos toda la estimación de la salida.
Aparte tiene un modelo de la perturbación
y puede estimar también la señal de perturbación
hacia adelante, ¿vale?
Para introducirse al controlador
y que la compense, ¿de acuerdo?
Bien, el generador de referencias recibe la información estimada
y con eso genera la referencia dinámica que recibe
el controlador bifrecuencia
y con eso sacamos una acción de control ya a periodo rápido,
tenemos hasta h por n estimaciones futuras,
una buena batería de acción de control
que debemos pasar por el evento a ver si es muy significativamente distinta
a la anterior y si lo es enviamos la información
y si no, bueno, pues en el actuador local
tenemos ya información que vamos a ir.
Inyectando a la planta convenientemente,
porque es un actuador inteligente y sabe de toda esa batería
qué acciones de control son las interesantes
o adecuadas para inyectar a periodo rápido.
Entonces, cada vez que llega la información al actuador,
se renueva la batería anterior y con esa trabajamos.
Vale, os voy a mostrar la validación experimental
que tenemos ya directamente con vídeos del robot Lego.
Os muestro los diferentes casos.
Este primero es el caso monofrecuencia,
digamos que es el caso nominal, el monofrecuencia rápido.
Todo va a 100 milisegundos.
Entonces, le hemos dicho al robot Lego
que haga esta referencia que veis en gris, que es como un doble cambio
de línea con además cambios.
De 90 grados vale los ángulos son de 90 grados
que son más difíciles de seguir vale y él nos responde de la forma
que veis en negro de acuerdo tenemos también un vídeo
que nos puede enseñar ese movimiento vamos a ver si soy capaz
de llamarle al vídeo vamos a ver vale pues aquí tenemos el vídeo.
Ahí hace el primer ángulo de 90 grados,
ahora hace el segundo.
Digamos que ahí ya ha conseguido cambiar al otro carril.
Y ahora va a volver al carril inicial.
Bueno, este es el comportamiento nominal,
digamos el deseado.
Entonces vamos a ver qué pasa si ahora lo que tenemos
es un muestreo más lento.
Un muestreo A ver si soy capaz.
Vale.
Voy a acelerar todo esto disculpad
a ver si estábamos por aquí qué pasa si mostramos
a 200 milisegundos el doble de lento mostramos actuamos más lento bueno
pues que el seguimiento ya no está bueno ya vemos
que hay como un vaivén en la salida entonces vamos a verlo con el vídeo
como el robot va como un poco haciendo oscilaciones.
Venga.
Entonces, Entonces proponemos un control bifrecuencia.
Todo este momento está empotrado en el robot porque estos son
controles sencillos que él es capaz de ejecutar.
Un control bifrecuencia lo que hace es recuperar
las prestaciones anteriores.
Como veis, prácticamente el seguimiento
es como el nominal.
Entonces estamos midiendo lo lento que hacíamos antes
en la última ejecución,
pero actuando lo rápido que hacíamos en la primera.
Entonces, bueno, con un bifrecuencia
de ese estilo se retoman las prestaciones originales.
Si queréis, como es exactamente
el mismo comportamiento que teníamos aquí, lo pasamos.
Vamos al siguiente.
Este es más llamativo porque aquí.
Ya vamos a poner en remoto todo el control,
ponemos una red por el medio, ponemos retrasos,
ponemos pérdidas y veis que el robot intenta seguir,
pero en la primera curva ya se desestabiliza.
Esto lo vamos a ver en el vídeo también.
Ahora se vuelve el otro.
Vale.
Bueno, pues entonces lo que hacemos ahora es ya introducir nuestro filtro
de Kalman, simplemente el filtro,
sin eventos todavía.
Y fijaos cómo se recuperan las prestaciones.
Ahora mismo no es exactamente la nominal,
quizás en esa curva no es un poquito peor,
pero en general pues esto va bastante bien.
Y si metemos eventos,
prácticamente el comportamiento es igual,
solamente que aquí además estamos ahorrando.
Quizás por aquí va un poquito peor, pero en general
se parece bastante a lo anterior.
Quizás vamos a ver este último caso, por ahorrar tiempo.
Esta curva la da un poco peor que la del normal.
Pero esta ya la tengo bastante mejor.
Y ya acaba en el carril inicial.
Vale, todo esto está muy bien.
Lo hemos graficado, lo hemos visto en vídeos.
Pero nunca está de más cuantificar con índices las respuestas.
Y es lo que hemos hecho a continuación.
Mostrar una tabla con valores.
Concretamente, no se ve muy bien, está muy pequeñito,
son cuatro índices.
J1 es el error medio del seguimiento de la trayectoria.
J2 es el error máximo.
J3 es el tiempo de cómputo que nos lleva
a toda la ejecución del seguimiento.
Y J4 es el ahorro de recursos.
Entonces, si comparamos el nominal con el último,
con el que hemos propuesto, podemos ver
que, por ejemplo, a nivel de J4 hemos pasado de usar al 100%
los recursos a usarlos al 37%.
Hemos ahorrado un 63% en ancho de banda.
Y J1 y J2,
por ejemplo, que son índices de prestaciones de seguimiento,
solo se han incrementado de un caso al otro en un 10%.
Por tanto, solo hemos perdido un 10% de rendimiento de control.
Ahorrando un 63% de recursos, lo cual está bastante bien ese,
digamos, compromiso ahorro-prestaciones.
En el caso de J3 no ha variado de un caso a otro
y, por tanto, no es un problema.
Vale, pues este es el artículo 1.
Vamos a pasar al artículo 2, donde hemos hecho un poco de mejora
en este sentido.
Hemos conseguido apretar un poco más en el ahorro de recursos.
Esa es quizás la clave del siguiente artículo.
Este artículo es el último que hemos publicado.
Es un NCS eficiente para este robot Mecanum.
Y lo que decía, hemos apretado un poquito más.
Nos hemos fijado no solo en el ancho de banda,
sino también en las baterías de las balizas.
Porque ahora el sistema de sensorización viene dado
por unas balizas.
Y esas balizas son inalámbricas, están conectadas de forma inalámbrica
a la red y llevan baterías.
Entonces el consumo de las mismas nos preocupaba
y queríamos hacer un uso eficiente.
Hemos hecho frente a problemas de red, retardos, pérdidas
y las prestaciones al final son satisfactorias, del estilo
de las que hemos conseguido en el paper anterior,
pero además, ya digo, con mayor ahorro.
¿Técnicas utilizadas?
Pues para conseguir ese mayor ahorro,
lo novedoso de este artículo
fue que usamos una aplicación de simulación realista,
donde fijándonos en el ahorro prestaciones,
hicimos un poco de simulación, tanto prueba y error,
y cuadramos mejor la sintonía del disparo basado en eventos.
La parte novedosa también de esta simulación
es que se introdujo Tachan SimScape Multibody de MATLAB
Simulink y se introdujo la red, que eso no lo habíamos visto
en ninguna aplicación previa de SimScape Multibody,
el modelado de la red.
Pero yo creo que la aplicación,
o sea, la contribución más fuerte fue este filtro de Kalman
extendido bifrecuencia, uniforme, que fue implementado
por Eventos para que tuviera menos coste computacional.
Solamente funciona cuando le llega información.
Cuando le llega, hace las predicciones
y la actualización.
Pero si no le llega información, no se ejecuta.
Y aquí es donde nos ayudó mucho Ernesto,
el profesor Aranda Escolástico,
con toda la parte de estabilidad media cuadrática,
asegurando, por tanto, que el filtro se comportaba perfectamente.
Bueno, en cuanto a control, hicimos PID convencional,
control basado en la cinemática inversa y PURPURSUT
para seguimiento de trayectorias.
Lo podemos ver aquí con más detalle.
Esta es la parte local con el robot, con las restricciones típicas
de cómputo del procesador empotrado al robot.
Por eso nos vamos a una zona remota donde tenemos un buen procesador
para hacer todo el algoritmo de control.
Entre medias tenemos la red con pérdidas y retardos.
Muestra de bifrecuencia.
Además, en este caso,
no solo porque queremos enviar poca información,
es que las balizas funcionan a baja frecuencia
y eso era un cuello de botella, nos limitaba la sensorización.
Teníamos que actuar a frecuencia alta para garantizar prestaciones
el mecanismo de disparo ya digo venía Sigma y Delta
sintonizado por esa aplicación de simulación realista
que luego vamos a comentar un poquito por encima y en la parte remota
pues el filtro de Kalman con su etapa de H
pasos hacia adelante nos da una estimación del estado hasta HN
estimaciones a futuro que eso se le da a la parte de control
y ya sacamos la acción de control que como antes.
Va al actuador inteligente
y él ya sabe elegir la acción de control oportuna
a periodo rápido.
Bueno, la aplicación de simulación,
lo que decía que era novedoso es esto, los bloques de la red,
no encontrábamos nada en SimScape Multibody
que estuviera hecho con la red, la modelización de la misma,
eso es lo que aportamos quizás en esta parte.
Tiene un bloque de control y un bloque de la planta.
Y en la planta también la aportación es, aparte del sistema de balizas,
la aportación es aquí.
La planta pudimos parametrizarla de una forma muy realista,
un comportamiento muy similar al que tiene el robot real,
gracias al SimScape Multibody,
que te permite parametrizar partes eléctricas,
mecánicas, todo lo que tiene que ver con zonas muertas, saturaciones.
Torques fuerzas rozamientos condiciones del suelo vale todo eso
y aparte la herramienta sensitivity análisis nos permite
con la información real del robot todavía ajustar
mejor estos parámetros hacer un análisis mucho más profundo
de todos los parámetros anteriores y ajustarlos de forma
que se parezcan más todavía al comportamiento real bien.
Con esto logramos estas simulaciones donde hacemos
unas comparativas de, por ejemplo, para una curva
Lisa-Jones que vemos en puntos negros,
tenemos el caso single rate, es decir,
el caso nominal trabajando a 100 milisegundos
y hace un seguimiento en azul perfecto.
En cuanto metemos la red, ponemos una bifrecuencia
porque las balizas van a un periodo mucho más lento.
En este caso hemos usado diez veces el periodo de control,
es decir, a un segundo están midiendo.
Y aún hace milisegundos estamos actuando.
Y aparte hay hasta un 50% de pérdidas en la red.
Entonces el control,
o sea, el seguimiento es bastante peor.
Lo vemos en rojo.
Sin embargo, ponemos el filtro de Kalman que hemos ideado
y vemos la salida amarilla.
Y si además unimos eventos, que sería el caso morado,
va igual de bien prácticamente y estamos ahorrando en recursos.
Entonces estas salidas le parecen bastante
a la nominal, que es la azul.
Eso lo probamos con varias trayectorias.
Por ejemplo, esta que es el doble cambio de línea
que veíamos en el robot Lego,
pero un poco suavizado.
Los ángulos ya son de 90 grados.
Y vemos que el single rate lo hace muy bien, es el nominal.
El dual rate lo hace peor, bastante peor.
Y nuestra propuesta lo hace bastante mejor,
parecido al nominal.
También con esta trayectoria que es bastante completa,
tiene una parte de línea recta, luego un cambio de carril simple,
luego una curva de 180 grados.
Entonces el caso dual rate, el seguimiento es malo
y nuestro caso lo hace bastante mejor.
Cuantificamos todo esto con índices, como en el artículo anterior,
los mismos índices.
Voy a pararme solo en J1, el error medio,
porque los demás son igual.
Básicamente las gráficas son muy similares.
Y bueno, aquí tenemos toda la casuística.
Tenemos diferentes periodos, diferentes pérdidas de paquetes.
Y para el single rate,
el caso nominal sería este puntito de aquí,
donde tenemos muestreo lo más rápido posible,
a 100 milisegundos,
y ninguna pérdida.
Sería ese puntito el que queremos lograr.
En cuanto aumentamos el muestreo o aumentamos las pérdidas,
pues esto crece y eso significa que decaen claramente
las prestaciones de control.
Vamos al caso dual rate,
donde ya veis cómo esto se allana bastante.
En la primera parte de esta gráfica ahora se ha allanado bastante,
significa que va mejor, más parecido al nominal,
para diferentes periodos y hasta un 30-40% de pérdidas.
A partir de ahí la cosa va peor.
De hecho, este es el caso N igual a 10 y DP05,
es decir, N igual a 10 estaríamos por aquí con DP5.
Sería ya un caso donde J1 ha crecido bastante
y por eso vemos un empeoramiento claro del seguimiento.
¿Vale?
Metemos el filtro y fijaos como esto se ha allanado mucho,
ya no tenemos esta montañita, estas crestas de aquí.
Eso significa que prácticamente tenemos un mismo comportamiento,
el nominal, para cualquier periodo de medida
y para cualquier probabilidad de pérdida.
Sí que es cierto que hay algún puntito un poco peor,
pero en general es bastante uniforme el comportamiento
para cualquier caso.
Si metemos eventos,
este sería el caso con filtro y eventos, bueno, empeora un poco,
sobre todo cuando las pérdidas ya son acusadas,
pues ya tenemos muy poca información,
jugamos con muchas estimaciones
y eso hace decaer un poquito las prestaciones.
Pero en general
está funcionando casi igual de bien que este caso sin eventos.
Y encima estamos ahorrando.
Y aquí viene J4.
J4, fijaos cómo tiene un máximo de 0.14,
un mínimo de 0.08.
Eso significa que en complementario a 1.
Estamos ahorrando como mínimo un 86%,
sería el complementario a 1 de 0.14 y hasta 92%,
sería el complementario a 1 de 0.08.
Hay un montón de casos por el medio,
pero esos serían los límites.
Entonces, estamos ahorrando hasta casi un 92% de recursos
del sistema y el empeoramiento es mínimo,
es como el artículo anterior, antes 12,
o sea, ahora 12, antes 10.
Estamos empeorando muy poco y ahorrando muchísimo.
Por lo tanto, el compromiso de ahorro de prestaciones
aquí ha salido beneficiado gracias a apretar un poco más
con la simulación realista
ese ajuste de parámetros del mecanismo de disparo.
Bien.
Para acabar, simplemente os muestro el movimiento.
Real del robot aquí cuando fuimos a aplicarlo
nos dimos cuenta que la red a menos de 200 milisegundos
no iba bien entonces el caso single rate no se hacía en milisegundos
sino a 200 y veis en azul como hace muy bien el seguimiento
en cuanto subimos a n igual a 4 es decir medimos a 0,8 segundos
y actuamos a esos 200 milisegundos con pérdidas hasta el 40%
pues el dual rate en el rojo lo hace muy mal y nuestras propuestas
lo hacen mucho mejor con y sin eventos.
Vamos a verlo en el vídeo.
Empezamos con el caso nominal.
Esto está grabado con una cámara cenital.
Veis por aquí las balizas, que es el sistema de sensualización,
el sistema de posicionamiento.
Hay alguna otra por ahí que no se ve.
Tenemos un sistema variado con tres balizas fijas
y una móvil.
Y aquí vemos el caso dual rate bifrecuencia con el filtro.
Ya tenemos la red con pérdidas.
Este es el caso sin eventos todavía.
Seguiría el caso amarillo de esta gráfica de aquí.
Y acabaremos con el caso con eventos,
que tiene un funcionamiento muy similar al que acabamos de ver
y estamos ahorrando además recursos.
Venga, pues nada, pasamos al último artículo.
Este es el que os decía que hemos hecho en colaboración
con el profesor Tomizuka de Berkeley y es parte
de la tesis que está desarrollando Guillermo Alite actualmente.
Lo hemos hecho, es un NFS eficiente,
que también hemos apretado un poquito más en el ahorro,
hemos logrado un poco más de ahorro, luego comentaré por qué.
Y lo hemos hecho para este coche,
bueno, realmente para el modelo del cual tenemos disponible.
Y no tengo tiempo ahora, no voy a dilatarme más,
pero os invito a entrar en la web del grupo de Berkeley
porque vais a ver un montón de trabajos en los cuales están,
proyectos, publicaciones, vídeos.
Realmente es interesante
y muy divertida la web del grupo, ¿vale?
Muy completa.
Lo dejo para otro momento.
Bueno, los logros.
Mayor ahorro,
como decía, hemos hecho frente a retardos, pérdidas,
nos hemos fijado en los actuadores, las restricciones,
porque ahora un coche, claro, el ángulo de giro, tenemos un rango,
no podemos girar todo lo que uno quisiera.
Y también en su primera derivada del ángulo de giro para intentar
no pegar mucho volantazo.
El compromiso rendimiento ahorro ha sido satisfactorio
y hemos usado estas técnicas.
¿Por qué hemos conseguido más ahorro?
Porque ahora hemos usado una técnica mucho más sistemática.
Son, digamos, la técnica Monte Carlo.
Hemos hecho un montón de simulaciones.
Siguiendo esa técnica
y hemos fijado un objetivo que nos permitía optimizar los parámetros
del disparo basado en eventos.
Y eso fue novedoso en esta publicación,
como el filtro, que también es una versión
un poquito diferente al artículo anterior,
dado que está implementada por tiempos.
Quiere decir que ahora está ejecutándose siempre
y lo que hace es, si le llega información,
predice y actualiza
y si no, solamente predice.
El control es convencional, basado en la cinemática inversa
y una prealimentación y el algoritmo,
el de siempre, el PURPURSUB para seguimiento de trayectorias.
Lo ves aquí con más detalle.
La parte local, donde está el coche con mostrador y frecuencia,
la parte remota,
donde está todo el algoritmo de control, el filtro por tiempos,
la parte dinámica del controlador, la red entre medias.
Importante, hay que entender la red en este caso
como una red dentro del vehículo, No es tanto un control remoto
donde tengamos delegado a una estación remota
el control, porque eso incluso podría
ser peligroso para la seguridad del control a bajo nivel.
Podríamos hacer vulnerable el control a problemas de red.
Entonces, realmente es una red dentro del vehículo
donde los dispositivos se conectan a ella
y uno de ellos es el control remoto.
Bien, los algoritmos de, bueno,
el mecanismo de disparo viene sintonizado por técnicas Monte Carlo
y en este caso es bidireccional, tenemos en ambos enlaces de red.
Vale, pues la simulación de este caso,
esta trayectoria os debe sonar del artículo anterior,
pero esta es real.
En el artículo anterior era una trayectoria un poco,
pues eso, para el laboratorio y esta es un camiño real que tienen
en Richmond Field Station de la Universidad de California Berkeley.
Richmond es un pueblo que está al norte de Berkeley
y allí tienen ellos la suerte de tener un campo de pruebas.
Donde no hay viandantes por el medio pueden probar sus coches
con mucha tranquilidad.
Y bueno,
pues tienen esta trayectoria que ya conocemos del artículo anterior,
pero ahora parametrizada con metros reales que tienen allí.
Bueno, pues hicimos una comparativa con esa trayectoria.
Y comparamos nuestra propuesta con una propuesta donde el filtro
es un filtro extendido, de acuerdo, pero convencional.
Y como veis, si hay muchas pérdidas consecutivas,
tiene incluso problemas el filtro, es el caso verde,
es el caso convencional que decía,
tiene incluso problemas en la parte de línea recta
para hacer el seguimiento correctamente.
Y por supuesto,
cuando sale de la curva, que es una maniobra ya más compleja.
Sin embargo, en rojo tenemos nuestra propuesta,
que sigue muy bien la trayectoria.
Esto está hecho para 5 metros por segundo.
Vamos a ir subiendo la velocidad, a ver qué pasa.
Para 8 metros por segundo se enfatiza todavía más
los problemas del caso convencional.
Sin embargo,
en el nuestro sigue muy bien la trayectoria,
el caso rojo.
Y a 12 metros por segundo el caso convencional
ya no puede seguir la trayectoria, se hace inestable.
Y el nuestro lo sigue bastante bien,
sí que es cierto que la curva la hace un poquito peor que lo ha hecho
con velocidades más bajas.
Bueno, lo hemos cuantificado todo esto.
Las aleatorias rojas para las diferentes velocidades
están aquí cuantificadas con los índices habituales.
J1 error medio, J2 error máximo.
Hemos metido el J5, que es el confort,
para aquello del giro del volante, el volantazo,
digamos.
J3 lo hemos descompuesto esta vez en parte,
digamos, del enlace de controlador-actuador, J3C.
J3S es el ahorro de sensor a control, ¿vale?
Son J3S para el ahorro.
Y J4, digamos que es un índice global que nos va
a decir el compromiso, ahorro, prestaciones y se está cumpliendo.
¿Vale?
Entonces, vemos que los índices referidos a las prestaciones,
como se ha comprobado en las gráficas,
pues van empeorando con la velocidad,
es obvio.
Sin embargo,
hemos conseguido estabilizar bastante bien la parte de ahorro.
Fijaos que, aunque aumenta la velocidad,
el ahorro prácticamente es muy uniforme
en ambos enlaces de red.
Entonces, tenemos en el enlace de controlador-actuador
un ahorro de hasta el 92,5%,
que sería este caso de aquí, el complementario a 1
en tanto por ciento.
Y este caso de aquí sube del 96,3 al 98,2 incluso
para velocidades bajas.
O sea, tenemos un ahorro muy considerable, ¿de acuerdo?
Y muy estable, independientemente de las velocidades.
Y el J4 nos dice que el rendimiento no está siendo malo,
o sea, el compromiso rendimiento-ahorro no es malo.
De hecho, el J4, digamos, que reúne los índices anteriores
ponderizados, ¿no?
Ponderados.
Y en este caso le quisimos dar más importancia al J1
por aquello de que el seguimiento nos interesaba que fuera bueno.
Si está en valor menor o igual que 1 es que está cumpliendo
el compromiso, el objetivo que le hemos encomendado.
Eso lo hace para 5, para 8 está ahí en el límite,
está casi en 1, para 12 ya se nos ha ido un poco,
¿vale?
Por culpa de que esta curva no lo hace muy bien y ya digo,
porque J4 ha ponderado más el índice J1.
Si hubiera ponderado más cualquiera de los J3,
como son bastante estables con el aumento de velocidad,
pues seguramente hubiera ido mejor, ¿vale?
Pero quisimos enfatizar el seguimiento de la trayectoria.
Bueno, en definitiva hemos conseguido un buen ahorro
y un compromiso rendimiento-ahorro en general
bastante bueno.
Vale, pues esto sería lo que os quería comentar de la parte,
digamos, central de la conferencia.
Estamos ya acabando, ¿eh?
La parte de siguientes pasos es más rápida.
Venga, la parte de siguientes pasos realmente es.
Los proyectos futuros que, bueno, el proyecto futuro,
el proyecto en el cual estamos y los trabajos futuros
que queremos hacer en ese proyecto, que no es ni otro,
ni más ni menos que el que hemos empezado recientemente,
que los objetivos generales son, pues,
centrarse en la solución de control y dar un paso más,
ir hacia soluciones más avanzadas y luego os comentaré
en qué línea, ¿vale?
Y sobre todo aplicarlo a vehículos autoguiados tipo
coche de forma experimental.
Vamos a empezar con plataforma de laboratorio que ya tenemos montada,
pero queremos ir a coches reales o cercanos a la realidad.
Aquí los que estamos involucrados en este proyecto
somos básicamente el grupo CO3 de la Politécnica de Valencia
con la ayuda del profesor Iborra, una colaboración muy interesante
porque él es experto en temas de visión artificial.
Entonces necesitamos para cuando vayamos a exteriores.
Que las cámaras 3D que vamos a comprar reúnan
información importante para hacer una buena navegación SLAM,
una buena detección de obstáculos, ¿vale?
Entonces, él nos va a ayudar, es del departamento también nuestro,
y nos va a ayudar en esa línea.
Y tenemos también un becario de colaboración durante un tiempo,
vamos a tener unos meses, que es Abraham Planeis,
que también va a, de hecho está haciendo el TFM con nosotros
y está interesado en este tipo de cuestiones.
¿En qué vamos a avanzar o queremos avanzar?
Bueno, pues en tres líneas fundamentales,
tanto en el seguimiento de trayectoria
como el control dinámico como en la comunicación por eventos.
En el seguimiento de trayectoria habéis visto
que siempre hemos usado Peer Pursuit y queremos ir hacia algoritmos tipo
Line of Sight o Stanley
porque pensamos que van a ayudarnos a disminuir el error de seguimiento
de la trayectoria.
En la parte de control dinámico hemos hecho controles convencionales
con el PID, bifrecuencia, basados en la cinemática inversa,
prealimentación, bueno, está bien, pero queremos ir a algo más avanzado
como MPC, QFT.
MPC se usa mucho en este tipo de diseños,
queremos entrar ahí.
Pensamos que, por ejemplo, en el paper anterior,
con velocidades altas la cosa ya no va tan bien,
queremos solucionar eso y queremos ver si con el MPC o QFT
podemos alcanzarlo.
Y también pues que el algoritmo sea más robusto, ¿de acuerdo?
El MPC nos va a permitir incluir restricciones
como el ángulo de dirección, su derivada, etcétera.
Y podemos incluso utilizar de forma natural el horizonte de predicción
para hacer frente a retardos y pérdidas.
En lo que hemos hecho hasta ahora,
el filtro tiene una tapa incorporada de predicción de h pasos
hacia adelante que hace las veces de este horizonte de predicción.
Entonces, bueno, si lo incorpora el MPC,
¿por qué no?
Vamos a utilizarlo y descarguemos un poco
el filtro de esa tapa, ¿no?
Y la parte de eventos siempre hemos usado
parámetros fijos.
¿Por qué no usar parámetros dinámicos que evolucionen con el estado
de la planta?
Quizás eso nos daría un mayor ahorro todavía.
Entonces, en esa línea es en lo que vamos a estar
estos años venideros.
Y para eso tenemos que centrarnos en cosas como el modelado analítico
de los vehículos tipo coche.
Vamos a entrar en tema de modelado no lineal
para que los filtros de cal mantienen un buen modelo de estimación.
En modelos LPV para que los diseños MPC y QFT sean más sencillos.
También entraremos en temas más teóricos de estabilidad
y robustez.
Y ahí nos gustaría seguir colaborando con el grupo del profesor Himmels
en Indoben, que son expertos en estas cosas.
También aquí en la UNED, por ejemplo,
Ernesto sabe mucho de esto también.
Pues el comportamiento ante perturbaciones,
dimensiones de retardos soportables, máximos periodos admisibles.
En definitiva,
ir hacia la experimentación con un compromiso teórico previo
acerca del rendimiento a ahorro, que nos garantice
que la experimentación va a ir mejor.
Y la parte experimental, como decía,
vamos a empezar con este cochecito de laboratorio que ya tenemos montado
y vamos a hacer ya pruebas de algoritmos de control.
Y luego nos iremos hacia este coche que tenemos también ya montando.
Estamos comprando el equipamiento para él.
Le llamamos Cadi, es un coche tipo
como los que van por los campos de golf,
de unas dimensiones ya reales,
para que circule por un circuito que tenemos en la Politécnica de Valencia
y podamos probar cosas en entornos exteriores
y ya más cercano a la realidad.
Y por supuesto, en colaboración con Berky,
ojalá también podamos extrapolar los diseños al coche
que tienen allí.
Bien.
Y bueno,
para eso, para los exteriores, la parte de visión artificial
nos interesa mucho, algoritmos deep learning,
donde podamos,
con las cámaras 3D que os decía que vamos a comprar,
pues hacer una buena navegación SLAM, detectar objetos, etc.
Para todo esto,
digo que el profesor Iborra nos va a echar una mano.
Y esto es fundamentalmente lo que quería comentaros.
Vuelvo a agradecer a Joaquín Aranda, a José Sánchez, a Ernesto, a María,
a todos los que estéis por aquí, vuestra asistencia.
El que me habíais invitado a impartir esta charla,
poder compartir con vosotros lo que estamos haciendo en Valencia.
Y, por supuesto, quedo a vuestra disposición
para cualquier comentario que me queráis hacer,
incluso sugerencias de mejora que, por supuesto,
teníamos en cuenta para el trabajo futuro.
¿Tiene alguna pregunta?
Yo tengo una.
Nosotros llevamos ya unos cuantos años
trabajando en temas de control distribuido con drones.
No sé si se me.
Sí.
Yo entiendo que no, porque de hecho hemos hecho alguna cosita.
Con drones hemos hecho alguna cosita
y además estoy muy tentado a seguir haciendo más cosas,
porque de hecho me da la sensación de que
tiene mucho más sentido todo esto en sistemas aéreos,
porque claro, las baterías ahí juegan un rol muy importante.
Si el dron se nos cae, lo tenemos mal.
Cuanto más aguante la batería, pues mejor.
Y entonces hemos hecho la publicación que tenemos con Himmels de Indoben,
Le decimos con un dron.
Hemos hecho algún TFM con drones
y estamos tentados a hacer algo más.
Y desde luego que sí que tiene una aplicación muy clara.
Así que en esa línea queríamos también hacer alguna cosita más.
Llevo una pregunta que es una curiosidad.
Cuando hablas de la red que tenéis en el coche de Berkeley,
¿esa es una red estándar de esta, un bus CAN
o es una red particular que han diseñado ellos?
Es una CAN, sí, correcto, efectivamente.
Esta red es una red
CAN que viene un poco a unir la parte de sensorización
con el algoritmo de control, efectivamente.
Podemos podemos valorarlo hoy podríamos tenerlo en cuenta
también de momento estamos más en la red interna
del signo de particular si hay la verdad que ahí tenemos
mañana todavía estamos comprando nuevo equipamiento
para ir metiéndolo poco a poco y nos va a ayudar mucho a.
Tanto Rafael Carbonell, que es el postor que sigue con nosotros,
como Abraham Planéis, que está con nosotros ayudándonos
en estas cosas.
Sí, la verdad que ahí tenemos mucha falta.
Muchas gracias, Ángel, por tu presentación.
Yo me ha surgido una duda.
Creo que en la publicación que comentabas de Berkeley
hablabas que incorporabais restricciones en el ángulo de giro
y su ratio.
Entonces, no me ha quedado claro luego en el esquema de control
dónde se meten ese tipo de restricciones.
Sí, realmente es en la actuación.
Es en, digamos que.
No tanto en el diseño de control,
sino realmente como si saturáramos de alguna manera el actuador.
Ahí es donde va todo eso.
O sea, no se resuelve un problema de optimización con restricciones.
No, correcto.
Muchas gracias.
Bueno.
Pues yo creo que ya damos por concluida la conferencia.
Agradecer mucho al profesor Ángel Cuenca
haber aceptado nuestra invitación
y simplemente convocaros para la próxima conferencia,
que creo que es el día 28, y la da José Luis Calvo,
si no me equivoco, de la Universidad de La Coluña.
Bien, ya nada más.
Muchas gracias a todos.
Muchas gracias.