Tutorial:ODE y robots modulares:Robot ápodo

De WikiRobotics
Revisión del 11:51 9 ene 2009 de Obijuan (Discusión | contribuciones) (Objetivo)

Saltar a: navegación, buscar
Desplazamiento lateral inclinado

Simulación de un robot ápodo del grupo cabeceo-viraje

Capítulo anterior
Índice

Introducción

En este ejemplo se simula un robot ápodo del grupo cabeceo-viraje de 16 módulos. El usuario puede establecer los diferentes modos de caminar mediante el teclado: línea recta, desplazamiento lateral, rotación, rodar, girar, etc.

Objetivo

  • Mostrar cómo mover un robot ápodo de cualquier número de módulos

Código

Programa principal
Creación y dibujo del robot
Definición de las constantes.
Definición de los prototipos de robot.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++ -Iinclude -c -o snake_ex/snake.o snake_ex/snake.cpp
g++ -Iinclude -c -o snake_ex/robot.o snake_ex/robot.cpp
g++ -o snake snake_ex/snake.o snake_ex/robot.o libdrawstuff.a -lm -lode -lX11 -lGL -lGLU

Ejecución

Para probar el ejemplo, teclear:

./snake

Además de los mensajes impresos en pantalla por la drawstuff, aparecerá el siguiente menú:

Keys for selecting the gaits: 
1: Straight
2: Turning
3: Side-winding
4: Inclined side-winding
5: Flapping
6: S-shaped rotating
7: U-sahped rotating
8: Rolling
q: Quit simulation

Mediante las diferentes teclas se pueden seleccionar las 8 maneras de caminar del robot ápodo

Capturas de pantalla

Visualización del robot moviéndose de diferentes maneras:

Movimiento en línea recta
Desplazamiento lateral inclinado
La serpiente rodando

Vídeo

[[]] [ video.mpg]

Clasificación de robots ápodos

Modelo de robot

Modelo de control

Espacio de control

Espacio de formas

Explicación del código

Función Robot_new()

Función Robot_Render()

Función servos_sim()

Función sequence_generation()

Funciones Main y Command()

Enlaces

Capítulo anterior
Índice