Diferencia entre revisiones de «Tutorial:ODE y robots modulares:Caida libre (III)»

De WikiRobotics
Saltar a: navegación, buscar
Línea 76: Línea 76:
 
|}
 
|}
  
 +
== Vídeo ==
  
 
== Conceptos previos ==
 
== Conceptos previos ==

Revisión del 03:08 7 ene 2009

Simulación de un cubo en caida libre (III): 3D

Capítulo anterior
Índice
Capítulo siguiente


Introducción

En este ejemplo añadiremos visualización en 3D a la simulación del cubo en caida libre. Para ello utilizaremos la librería drawstuff, creada por Russell L. Smith (el autor del ODE). Esta, a su vez, utiliza OpenGL.

Las simulaciones con visualización en 3D son muy interesantes, ya que con un sólo golpe de vista nos permite conocer cómo ha evolucionado nuestro sistema. Sin embargo, es importante tener en cuenta que el ODE nos permite realizar simulaciones sin visualización. Esto es muy útil para realizar búsquedas mediante algoritmos genéritos, en las que hay que evaluar centenares de individuos intermedios. La visualización 3D se utiliza para observar los resultados obtenidos, pero no los el resto de individuos.

Objetivos

  • Añadir visualización 3D a las simulaciones con ODE, usando la librería drawstuff.

Código

Programa principal
Creación y dibujo del cubo
Definición de las constantes.
Definición de los prototipos de body.cpp y las estructuras de datos.

Compilación

Todos los ejemplos de este tutorial compilan tecleando "make". Sin embargo se describe a continuación cómo se compila directamente usando el GCC:

g++ -o box3 -Iinclude box3_ex/box3.cpp box3_ex/body.cpp libdrawstuff.a -lm -lode  -lX11  -lGL -lGLU

Ejecución

Para probar el ejemplo, teclear:

./box3

En la consola aparecerán los siguientes mensajes. El primero lo genera la propia librería drawstuff. Muestra cuáles son las teclas que se pueden emplear para mover la cámara, parar la simulación, simular un paso, volcar las imágenes a ficheros, etc:

Simulation test environment v0.02
   Ctrl-P : pause / unpause (or say `-pause' on command line).
   Ctrl-O : single step when paused.
   Ctrl-T : toggle textures (or say `-notex' on command line).
   Ctrl-S : toggle shadows (or say `-noshadow' on command line).
   Ctrl-V : print current viewpoint coordinates (x,y,z,h,p,r).
   Ctrl-W : write frames to ppm files: frame/frameNNN.ppm
   Ctrl-X : exit.
Change the camera position by clicking + dragging in the window. Left button - pan and tilt. Right button - forward and sideways. Left + Right button (or middle button) - sideways and up.

Los últimos mensajes los imprime la aplicación box3:

Keys: 
1: Drop the box
q: Quit

La tecla '1' sitúa la caja en su posición inicial, por lo que vuelve a caer. La tecla 'q' finaliza la simulación.

Capturas de pantalla

Visualización de la caida del cubo, en tres instantes diferentes:

Pinchar para ampliar
Pinchar para ampliar
Pinchar para ampliar

Vídeo

Conceptos previos

Descripción


Capítulo anterior
Índice
Capítulo siguiente