Control por aprendizaje distribuido para robots peristálticos blandos

Un robot peristáltico avanza dentro de un tubo como lo hace una lombriz: una onda de expansión recorre su cuerpo y lo ancla y empuja por tramos. En el diseño del grupo esa onda se obtiene con una sola entrada de aire, de modo que el control dispone de dos variables, el tiempo de llenado y el tiempo de vaciado. Este proyecto propone un controlador que aprende qué combinación de tiempos produce la velocidad deseada en el conducto en el que se encuentra el robot, y que se extiende a varios robots que comparten información. Funcionó en simulación. No se pudo validar en el montaje físico porque los robots fallaron antes de completar las pruebas.
Contexto
El robot es una pieza de silicona con cinco cavidades conectadas por un canal y alimentadas por un solo extremo. Al inyectar aire, las cavidades se inflan en secuencia, y al liberarlo se desinflan. Cada ciclo deja un desplazamiento neto. El concepto proviene de dos trabajos anteriores del laboratorio: el diseño y modelado del robot y su proceso de manufactura.
Corte longitudinal de un prototipo: cinco cavidades conectadas por un canal
El desplazamiento por ciclo depende del diámetro y de la fricción del conducto, que no se conocen de antemano y pueden cambiar a lo largo del recorrido. Un par de tiempos fijo que funciona en un tubo puede no funcionar en otro.
Controlador
El controlador se formula con dinámicas de imitación, una herramienta de la teoría de juegos evolutiva. Se define una población abstracta que se reparte entre nueve estrategias, correspondientes a aumentar, mantener o disminuir en un paso fijo cada uno de los dos tiempos. Cada estrategia recibe una aptitud que es máxima cuando la velocidad obtenida coincide con la de referencia. La población migra hacia las estrategias más aptas y la acción aplicada al robot resulta de esa distribución.
Como el modelo analítico del robot no predecía bien su comportamiento real, la aptitud no se calcula con el modelo. El robot prueba cada estrategia y mide el avance con una cámara. El aprendizaje es más lento, pero no depende de un modelo en el que no se confía.
Arquitectura para cuatro robots: un controlador por robot, válvulas comandadas por Arduino y cámaras para medir el avance
En el caso multiagente, cada robot tiene su propio controlador y los robots comparten información, de modo que el que tiene menor error influye sobre los demás.
Resultados en simulación
En Simulink, con un cambio en el radio del conducto de 1 a 1,5 cm a mitad de la simulación, la velocidad del robot se acerca a la referencia y se recupera después del cambio.
Desplazamiento del robot en simulación con el controlador activo
Evolución de la proporción de la población en cada estrategia
La convergencia es lenta: después de cerca de 50 ciclos todavía queda error. Con tres robots que parten de condiciones distintas, los tres convergen hacia la misma referencia.
Pruebas físicas
Se fabricaron varios robots por vaciado de silicona con insertos de parafina y se montó el sistema para dos robots en paralelo, con válvulas, Arduino y cámaras.
Inserto de parafina dentro de uno de los moldes
Montaje físico para dos robots en paralelo
Las pruebas mostraron tres problemas que el modelo no anticipaba:
- A cierta presión de entrada, el orden de inflado se invierte y el robot retrocede.
- Con una sola fuente de aire, la presión se reparte entre las válvulas abiertas.
- Las paredes delgadas se perforan. Se ensayaron cuatro métodos de reparación; el más efectivo fue papel impregnado en silicona, que sella pero vuelve rígida la zona reparada. Ningún adhesivo comercial funcionó.
No se logró ningún experimento que reuniera robots íntegros con el controlador en operación.
Lo que falta
El controlador está especificado y probado en simulación, pero su validación quedó pendiente por un problema de manufactura. El autor propone acortar el robot para reducir el pandeo del inserto, usar un núcleo más rígido y definir un método de reparación confiable.
Relación con Robiolab
El proyecto pertenece a la primera línea de robots blandos del laboratorio y muestra una dificultad que se repite en ella: el cuerpo blando hace por sí solo parte del trabajo de control, pues la secuencia de inflado está codificada en la geometría, pero a cambio el comportamiento es difícil de modelar y muy sensible a la fabricación. El controlador responde a eso aprendiendo del ensayo en lugar de depender del modelo, un enfoque que sigue siendo pertinente para los robots continuos actuales del grupo.
