Introducción
Este proyecto nace como un ejercicio práctico para aprender y experimentar con Isaac Lab. La idea es desarrollar y entrenar un robot tipo segway (un robot que se mantiene en equilibrio sobre dos ruedas) y documentar el proceso tal y como voy haciéndolo.
¿Qué quiero hacer?
Diseñar y entrenar un robot tipo segway que sea capaz de mantener el equilibrio por sí solo, responda de forma razonable a comandos de movimiento y se comporte de manera estable y repetible dentro de la simulación.
¿Por qué este proyecto?
Siempre me han llamado la atención los robots que mantienen el equilibrio. Además, hacer un URDF de un robot así es bastante sencillo. A la vez, me parece que un sistema inestable muy sensible a pequeños cambios puede ser un buen banco de pruebas para ver lo que funciona y lo que no.
Enfoque general
Abordaré el proyecto de forma incremental, dividiéndolo en varias fases. En cada fase introduciré un nuevo objetivo, tratando que el robot no olvide lo aprendido en la fase anterior.
No intento llegar a una solución “bonita” desde el principio, sino avanzar poco a poco hasta que el comportamiento del robot tenga sentido.
Fases del proyecto
Fase 1: Estabilización
Conseguir que el robot sea capaz de mantenerse de pie sin caerse cuando no recibe ningún comando de movimiento. El objetivo en esta fase es simplemente mantenerse en equilibrio lo más erguido posible.
Fase 2: Movimiento básico
Una vez estabilizado, el siguiente paso es lograr que el robot se mueva cuando recibe comandos de velocidad, manteniendo el equilibrio. Comenzando con comandos de velocidad bajos e incrementándolos poco a poco.
Fase 3: Movimiento avanzado
En esta fase el objetivo es ir más allá del movimiento básico en una sola dirección. En esta fase de entrenamiento el robot tendrá que aprender a seguir comandos de giro de forma estable, manteniendo el equilibrio mientras rota sobre sí mismo.
La idea es combinar velocidad lineal y velocidad angular, de manera que el robot pueda realizar trayectorias curvas en lugar de movimientos puramente rectos o giros en el sitio.
Fase 4: Terrenos y condiciones variadas
Una vez el robot sea capaz de realizar todo lo de las fases anteriores, quiero probar a sacar al robot de un entorno ideal y empezar a probarlo en terrenos menos “perfectos” como planos inclinados, terrenos con diferentes pendientes, relieves irregulares, pequeños escalones u obstáculos.
Me gustaría conseguir que robot sea capaz de mantener el equilibrio y seguir los comandos de movimiento en estas condiciones, adaptándose a cambios en el terreno sin caerse.
Más que buscar un comportamiento perfecto, esta fase sirve para entender cómo afectan el terreno y las perturbaciones externas a la estabilidad del robot y qué limitaciones tiene el enfoque usado hasta ese momento.
Última actualización