Cube Simulator
Contenido
Introducción
Cube Simulator son una serie de herramientas para el estudio de la locomoción de los robot ápodos (topologías de 1D) de los grupos cabeceo-cabeceo y cabeceo-viraje. Se desarrollaron inicialmente para la realización de los experimentos de la tesis doctoral "Robótica Modular y Locomoción: Aplicación a Robots Ápodo"
Características
- Plataforma: Debian GNU/Linux Etch (4.0)
- Motor físico: Open Dynamics Engine (ODE): version 0.5
- Lenguaje C
- Representación 3D: OpenGL
- Algorítmos genéticos: Pgapack, versión 1.0
- Representación de los datos: Octave 2.1.73
- Robots: Movimiento de los robots: Cube Revolutions, Hypercube y MiniCube
Pantallazos
Herramientas
El simulador lo constituyen diferentes aplicaciones y librerías, cada una con un propósito. Las principales son:
- Librería RTK. Es la librería principal que permite definir los robots ápodos, construirlos, renderizarlos en 3D y simularlos.
- View. Visualización en 3D de la locomoción de los robots ápodos.
- Osciloscopio. Obtención de datos (velocidad, posición, rotaciones...)
- GA. Búsquedas mediante algoritmos genéticos
- Play. Movimiento de robots reales
Ejemplos de simulación
Grupo cabeceo-cabeceo
Comando | Descripción |
---|---|
./View `./Pn 32 12 32 23 0` | Línea recta. 32 Módulos |
./View `./Pn 8 85 32 90 0` | Línea recta. 8 módulos (Cube Revolutions) |
./View `./Pn 2 60 32 110 0` | Línea recta. 2 módulos. Configuración mínima PP. (Minicube-I) |
Grupo cabeceo-viraje
Comando | Descripción |
---|---|
./View `./PYn 32 32 20 0 0 0 45 0 0` | Línea recta. 32 módulos. |
./View `./PYn 8 32 45 0 0 0 135 0 0` | Línea recta. 8 Módulos. Hypercube |
./View `./PYn 3 32 60 0 0 0 110 0 0` | Línea recta. 3 Módulos. Configuración mínima. Minicube-II |
./View `./PYn 18 32 70 0 0 10 120 0 0` | Giro. 18 Módulos |
./View `./PYn 8 32 20 0 0 22 120 0 0` | Giro. 8 Módulos. Hypercube |
./View `./PYn 20 32 10 10 0 0 0 0 90` | Rodar. 20 Módulos |
./View `./PYn 8 32 30 30 0 0 0 0 90` | Rodar. 8 Módulos. Hypercube |
./View `./PYn 3 32 60 60 0 0 0 0 90` | Rodar. 3 Módulos. Configuración mínima. Minicube-II |
./View `./PYn 32 32 15 40 0 0 90 45 0` | Rotación. 32 Módulos |
./View `./PYn 8 32 20 40 0 0 180 90 -45` | Rotación. 8 Módulos. Hypercube |
./View `./PYn 3 32 30 40 0 0 180 0 90` | Rotación. 3 Módulos. Configuración mínima. Minicube-II |
./View `./PYn 16 32 10 20 0 0 90 0 90` | Rotación en U. 16 módulos |
./View `./PYn 8 32 10 40 0 0 180 0 90` | Rotación en U. 8 Módulos. Hypercube |
./View `./PYn 32 20 7 40 0 0 -45 -45 112` | Desplazamiento lateral. 32 Módulos. |
./View `./PYn 8 32 10 40 0 0 90 90 45` | Desplazamiento lateral. 8 Módulos. Hypercube |
./View `./PYn 32 32 20 20 0 0 -22 -22 0` | Lateral Inclinado. 32 Módulos. |
./View `./PYn 8 24 40 40 0 0 -90 -90 60` | Lateral inclinado. 8 Módulos. Hypercube |
./View `./PYn 16 32 2 2 0 0 0 0 90` | Remero. 16 Módulos |
./View `./PYn 8 32 7 7 0 0 0 0 90` | Remero. 8 Módulos. Hypercube |
./View `./PYn 3 100 30 30 0 0 0 0 90` | Remero. 3 Módulos. Configuración mínima. Minicube-II |
Vídeos
![]() |
VER VIDEO Simulación del robot Cube Revolutions (8 módulos, grupo cabeceo-cabeceo). Se muestran la variación en la locomoción del robot al aplicar diferentes parámetros. |
![]() |
VER VIDEO Simulación del robot Hypercube (8 módulos, grupo cabeceo-viraje). Se muestran diferentes modos de locomoción |
|
Generando videos
Para obtener vídeos de las simulaciones seguir los siguientes pasos:
- Crear el diretorio frame desde donde se esté invocando la herramienta de simulación.
- Arrancar la simulación.
- Para comenzar la captura pulsar control-W. Se empezarán a crear imágenes comenzando por frame0001.ppm. Se almacenan en el directorio frame.
- Pulsar control-W para finalizar la captura.
- Entrar en el directorio frame y ejecutar:
ffmpeg -f image2 -i frame%04d.ppm misimulacion.mpg
Es necesario tener instalada la aplicación ffmpeg (paquete ffmpeg en Debian)
Concatenación de vídeos
Si se tienen varios vídeos separados y se quieren concatenar para obtener un vídeo que los incluya a todos, se puede usar el comando cat:
cat video1.mpg video2.mpg video3.mpg > mi_video_largo.mpg
Descargas
Versión: 1.0
Fichero | Descripción |
---|---|
Cube_simulator-1.0.tar.gz | Fuentes |
Cube_simulator-1.0-bin.tar.gz | Binarios compilados para Linux (Debian Etch 4.0) |
Dependencias
- Para el funcionamiento del simulador tiene que estar instalado el Open Dynamics Engine (ODE).
- Instalación en Debian/Etch:
apt-get install libode0c2
Licencia
![]() |
Cube Simulator es Software libre distribuido bajo la licencia GPL v3.0 |
Cambios
Version 1.0
- Versión inicial. Creada para la realización de los experimentos de la tesis doctoral: "Robótica Modular y Locomoción: Aplicación a Robots Ápodo"
- La plataforma de desarrollo es una Debian Gnu/Linux Etch (4.0), con la versión 0.5 del ODE
- Bugs:
- Cuando existen muchos puntos de contacto con el suelo, el simulador da un "segmentation fault".
Autor
Desarrolladores
Acceso al repositorio
- SVN del proyecto http://svn.iearobotics.com/cube_simulator/
La versión 1.0 se puede obtener así:
svn co http://svn.iearobotics.com/cube_simulator/cube_simulator-1.0/
Noticias
- 26/Dic/2008: Publicada versión 1.0.
- 21/Dic/2008: Comenzada esta página