Cube Simulator

De WikiRobotics
Revisión del 02:05 29 dic 2008 de Obijuan (Discusión | contribuciones) (Cambios)

Saltar a: navegación, buscar

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

Pantallazos

Locomoción de un robot ápodo de 32 módulos del grupo cabeceo-cabeceo
Locomoción de un robot ápodo de 20 módulos del grupo cabeceo-viraje
Locomoción de tres robots ápodos de 8 módulos, del grupo cabeceo-cabeceo

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

Cube-Revolution-Sim1-thumb.jpg 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.

Hypercube Sim1 thumg.jpg 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.1

Fichero Descripción
Cube_simulator-1.1.tar.gz Fuentes
Cube_simulator-1.1-bin.tar.gz Binarios compilados para Linux (Debian Lenny 5.0), con ODE 0.9


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), con ODE 0.5

Dependencias

  • Para el funcionamiento del simulador tiene que estar instalado el Open Dynamics Engine (ODE).
  • Instalación en Debian/Lenny:
    • Es necesaria la version 0.9 del ODE. Instalación:
apt-get install libode0debian1
  • Instalación en Debian/Etch:
    • Es necesaria la versión 0.5 del ODE. Instalación:
apt-get install libode0c2

Licencia

150px Cube Simulator es Software libre distribuido bajo la licencia GPL v3.0

Cambios

Version 1.1

  • Migración a ODE 0.9 y Debian Lenny (5.0).
  • Las simulaciones funcionan ahora mucho más rápidas
  • Bug solucionado: Ya no se produce el segmentation fault cuando hay muchos puntos de contacto con el suelo
  • Ya no se usan articulaciones para la unión entre módulos, sino objetos rígidos constituidos por dos geometrías

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

Obtener la versión 1.1 del SVN:

svn co http://svn.iearobotics.com/cube_simulator/cube_simulator-1.1/

versión 1.0 :

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