Diferencia entre revisiones de «OpenRave y robots modulares»

De WikiRobotics
Saltar a: navegación, buscar
(Noticias)
(OpenMR)
 
(No se muestran 46 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
 +
[[Imagen:Minicube-I-open-rave-2.jpg|thumb|300px|Simulación de la locomoción de Minicube-I (Click para ampliar)]]
 +
 
== Introducción ==
 
== Introducción ==
 +
[http://openrave.programmingvision.com/index.php/Main_Page OpenRave] es un '''entorno libre''' para la simulación/modelado/planificación de '''robots''', desarrollado por la '''comunidad científica'''. Lo están utilizando investigadores de todas partes del mundo para realizar experimentos con sus últimos robots y/o algoritmos.
 +
 +
El Openrave todavía es alfa y de momento sólo se puede probar bajándolo del svn oficial y compilándolo.
 +
 +
Mi interés por este software se centra en la '''simulación de robots modulares'''. No está implementado explícitamente y es lo que me gustaría aportar.
 +
 +
== Características de OpenRave ==
 +
* '''Es libre''', por lo que cualquiera puede modificarlo para adaptarlo a sus necesidades
 +
* Es '''multiplataforma''': Linux/Mac/Windows
 +
* Creado por investigadores para investigadores
 +
* Utiliza el motor físico [http://www.ode.org/ ODE], con el que he trabajado mucho ([[Cube Simulator]], [[Tutorial: ODE y robots modulares]])
 +
* Tanto los robots como los entornos se almacenan en '''ficheros XML'''. Es muy fácil añadir nuevos entornos o robots
 +
* Se pueden modelar '''piezas con mucho detalle''', y no sólo usando geometrías simples
 +
* El '''Blender''' se puede usar para el modelado de piezas y luego exportarlo al formato [http://en.wikipedia.org/wiki/Open_Inventor OpenInventor] (iv) que es el usado por OpenRave
 +
* Adicionalmente, se puede usar [http://openscad.org/ OpenScad] para el diseño de las piezas, importar los STL a Blender y desde ahí exportar a OpenRave
 +
* El visualizador de OpenRave permite '''interactuar con los objetos físicos''' de la simulación
 +
* Es muy sencillo generar '''vídeos''' de la simulaciones
 +
 +
== Evolución ==
 +
 +
=== OpenMR ===
 +
* '''09/Marzo/2010''': ([http://www.iearobotics.com/blog/2010/03/09/openmr-modular-robots-plug-in-for-openrave/ blog]) : Comenzado el plug-in OpenMr.
 +
He decidido crear un plug-in para trabajar con robots modulares: [[OpenMR: Modular Robots plug-in for Openrave]]. Todos los ejemplos y código necesarios para la locomoción de robots modulares los integraré en ese plugin.
 +
 +
=== Versión 0.3 ===
 +
* '''07/Marzo/2010''':([http://www.iearobotics.com/blog/2010/03/08/contribucion-a-openrave-odecontroller/ Blog]) : Locomoción de '''Minicube-I'''. Tanto el modelo real como el hexaédrico, sin necesidad de parchear el OpenRave
 +
 +
A partir de la '''r1343''' de OpenRave, han incluido en el SVN oficial el '''Odecontroller''', un controlador para poder hacer simulaciones que establezcan la velocidad de los motores directamente usando la física del ODE. Ha sido realizado por '''Juan González''' y '''Rosen Diankov'''. Ahora ya se pueden probar los ejemplos de locomoción de robots modulares sin tener que parchear el OpenRave (como había que hacer en la versiones 0.1 y 0.2). ¡Esto es un gran avance! :-)
 +
 +
{| {{tablabonita}}
 +
|  <youtube>z8dKBB1eiUM|300|250</youtube>
 +
[http://www.youtube.com/watch?v=z8dKBB1eiUM Enlace directo al vídeo en Youtube]
 +
|| [[Imagen:Minicube-I-v0-3.jpg|thumb|300px|Simulación de la locomoción de Minicube-I, usando módulos Y1]]
 +
|}
 +
 +
Para probar el ejemplo del vídeo, seguir los siguientes pasos:
 +
* Bajar el paquete [http://www.iearobotics.com/downloads/openrave-modular-robots/openrave-modular-robots-0.3.tar.gz openrave-modular-robots-0.3.tar.gz]
 +
* Descomprimirlo
 +
* Entrar en el directorio openrave-modular-robots-0.3
 +
$ cd openrave-modular-robots-0.3
 +
* Incluir en el path el directorio donde está openrave instalado. En mi caso es:
 +
$ export PATH=$PATH:/home/juan/desarrollo/openrave/localinstall/bin
 +
* Ejecutar cmake:
 +
$ cmake .
 +
* Compilar
 +
$ make
 +
* Ejecutar el ejemplo:
 +
:* Modelo hexaedrico:
 +
$ ./Test Test-hexa.xml
 +
:* Modelo real:
 +
$ ./Test Test-y1.xml
 +
 +
Se abrirá una ventana con el visualizador de openrave y se cargará el escenario con el robot Minicube-I. '''NOTA''': El escenario inicial está "boca abajo". Pinchar el botón izquierdo del ratón y arrastrarlo para rotar la cámara y ver la simulación con la orientación correcta
 +
 +
En el terminal aparecerá el mensaje: ''PRESS A KEY TO START THE SIMULATION!''. Apretar una tecla y darle al Enter. Minicube-I empezará a moverse
 +
 +
=== Versión 0.2 ===
 +
* '''01/Marzo/2010''': ([http://www.iearobotics.com/blog/2010/03/01/simulando-robots-modulares-con-openrave-ii/ Blog]) Locomoción de la configuración mínima PP usando el modelo real de [[módulos Y1]]
 +
{| {{tablabonita}}
 +
|  <youtube>lsj7H2EGPqM|300|250</youtube>
 +
[http://www.youtube.com/watch?v=lsj7H2EGPqM Enlace directo al vídeo en Youtube]
 +
|| [[Imagen:Minicube-I-open-rave-2.jpg|thumb|300px|Simulación de la locomoción de Minicube-I, usando módulos Y1]]
 +
|}
 +
 +
El ejemplo mostrado en el vídeo es el '''test30.cpp''' (y '''test30.xml''') que se encuentran en el paquete: [http://www.iearobotics.com/downloads/openrave-modular-robots/2010-03-01-test-cpp.zip 2010-03-01-test-cpp.zip]
 +
 +
Para probarlo seguir las mismas indicaciones que los ejemplos de la versión 0.1
 +
 +
=== Versión 0.1 ===
 +
 +
* '''22/Feb/2010''': Primera prueba de locomoción de la configuración mínima PP ([http://www.iearobotics.com/blog/2010/02/23/simulando-robots-modulares-con-openrave-i/ Blog])
 +
 +
{| {{tablabonita}}
 +
|  <youtube>SIhvo446M0Y|300|250</youtube>
 +
[http://www.youtube.com/watch?v=SIhvo446M0Y Enlace directo al vídeo en Youtube]
 +
|| [[Imagen:Openrave-PP-conf1.jpg|thumb|300px|Simulación de la locomoción de Minicube-I]]
 +
|}
 +
 +
El ejemplo se encuentra en el fichero '''test16.cpp''' (y '''test16.xml''') del paquete [http://www.iearobotics.com/downloads/openrave-modular-robots/2010-02-23-test-cpp.zip 2010-02-23-test-cpp.zip]
 +
 +
Para probar los ejemplos es necesario seguir los siguientes pasos:
 +
* Compilar e instalar el OpenRave. ¡Importante! Para que funcionen los servos es importante aplicar el parche [http://www.iearobotics.com/downloads/openrave-modular-robots/patch-rev1323.diff patch-rev1323.diff] a la revisión 1323
 +
  $ svn co -r 1323
 +
  $ cd openrave
 +
  $ patch < patch-rev1323.diff
 +
  $ cmake .
 +
  $ make
 +
  $ make install
 +
* Descargar el paquete .zip de los ejemplos
 +
* Abrir un terminal y cambiar el path para que apunte a los ejecutables de Openrave. En mi caso tengo que poner:
 +
export PATH=$PATH:/home/juan/desarrollo/openrave/localinstall/bin
 +
* Ejecutar cmake:
 +
$ cmake .
 +
* Ejecutar make
 +
$ make
 +
 +
== Descarga ==
 +
 +
=== Versión 0.3 ===
 +
{|{{tablabonita}}
 +
| [http://www.iearobotics.com/downloads/openrave-modular-robots/openrave-modular-robots-0.3.tar.gz openrave-modular-robots-0.3.tar.gz]
 +
|| Locomoción de Minicube-I. Tanto el modelo real como el hexaédrico.
 +
|}
 +
 +
=== Versión 0.2 ===
 +
{|{{tablabonita}}
 +
| [http://www.iearobotics.com/downloads/openrave-modular-robots/2010-03-01-test-cpp.zip 2010-03-01-test-cpp.zip]
 +
|| Ejemplos de prueba en C++
 +
|}
 +
 +
=== Versión 0.1 ===
 +
 +
{|{{tablabonita}}
 +
| [http://www.iearobotics.com/downloads/openrave-modular-robots/2010-02-23-test-cpp.zip 2010-02-23-test-cpp.zip]
 +
|| Ejemplos de prueba en C++. El ejemplo test16.cpp es en el que se implementa la locomoción de Minicube-I
 +
|---------
 +
| [http://www.iearobotics.com/downloads/openrave-modular-robots/patch-rev1323.diff patch-rev1323.diff]
 +
|| Mini-parche a aplicar a la revision 1323 de OpenRave para que funcionen bien los servos
 +
|}
 +
 +
== Licencia ==
 +
{|{{tablabonita}}
 +
| [[Imagen:Cc logo.png]] This work is licensed under a [http://creativecommons.org/licenses/by-sa/3.0/es/ Creative Commons Attribution-ShareAlike 3.0 Spain License].
 +
|--------
 +
| [[Imagen:GPLv3-logo-red.png|left|150px]] El código está liberado bajo licencia GPLv3
 +
|}
 +
 +
== Autor ==
 +
[[Juan Gonzalez:Main|Juan González Gómez]]
 +
  
 
== Enlaces ==
 
== Enlaces ==
Línea 5: Línea 137:
  
 
== Noticias ==
 
== Noticias ==
 +
* '''09/Marzo/2010''': Añadido enlace hacia el [[OpenMR: Modular Robots plug-in for Openrave|OpenMR]]
 +
* '''08/Marzo/2010''': Añadida versión 0.3: Ejemplos para "odecontroller"
 
* '''23/Feb/2010''': Comenzada esta página
 
* '''23/Feb/2010''': Comenzada esta página
  
  
 
[[Categoría:Robots modulares]]
 
[[Categoría:Robots modulares]]

Revisión actual del 06:22 9 mar 2010

Simulación de la locomoción de Minicube-I (Click para ampliar)

Introducción

OpenRave es un entorno libre para la simulación/modelado/planificación de robots, desarrollado por la comunidad científica. Lo están utilizando investigadores de todas partes del mundo para realizar experimentos con sus últimos robots y/o algoritmos.

El Openrave todavía es alfa y de momento sólo se puede probar bajándolo del svn oficial y compilándolo.

Mi interés por este software se centra en la simulación de robots modulares. No está implementado explícitamente y es lo que me gustaría aportar.

Características de OpenRave

  • Es libre, por lo que cualquiera puede modificarlo para adaptarlo a sus necesidades
  • Es multiplataforma: Linux/Mac/Windows
  • Creado por investigadores para investigadores
  • Utiliza el motor físico ODE, con el que he trabajado mucho (Cube Simulator, Tutorial: ODE y robots modulares)
  • Tanto los robots como los entornos se almacenan en ficheros XML. Es muy fácil añadir nuevos entornos o robots
  • Se pueden modelar piezas con mucho detalle, y no sólo usando geometrías simples
  • El Blender se puede usar para el modelado de piezas y luego exportarlo al formato OpenInventor (iv) que es el usado por OpenRave
  • Adicionalmente, se puede usar OpenScad para el diseño de las piezas, importar los STL a Blender y desde ahí exportar a OpenRave
  • El visualizador de OpenRave permite interactuar con los objetos físicos de la simulación
  • Es muy sencillo generar vídeos de la simulaciones

Evolución

OpenMR

  • 09/Marzo/2010: (blog) : Comenzado el plug-in OpenMr.

He decidido crear un plug-in para trabajar con robots modulares: OpenMR: Modular Robots plug-in for Openrave. Todos los ejemplos y código necesarios para la locomoción de robots modulares los integraré en ese plugin.

Versión 0.3

  • 07/Marzo/2010:(Blog) : Locomoción de Minicube-I. Tanto el modelo real como el hexaédrico, sin necesidad de parchear el OpenRave

A partir de la r1343 de OpenRave, han incluido en el SVN oficial el Odecontroller, un controlador para poder hacer simulaciones que establezcan la velocidad de los motores directamente usando la física del ODE. Ha sido realizado por Juan González y Rosen Diankov. Ahora ya se pueden probar los ejemplos de locomoción de robots modulares sin tener que parchear el OpenRave (como había que hacer en la versiones 0.1 y 0.2). ¡Esto es un gran avance! :-)

300|250</youtube>

Enlace directo al vídeo en Youtube

Simulación de la locomoción de Minicube-I, usando módulos Y1

Para probar el ejemplo del vídeo, seguir los siguientes pasos:

$ cd openrave-modular-robots-0.3
  • Incluir en el path el directorio donde está openrave instalado. En mi caso es:
$ export PATH=$PATH:/home/juan/desarrollo/openrave/localinstall/bin
  • Ejecutar cmake:
$ cmake .
  • Compilar
$ make
  • Ejecutar el ejemplo:
  • Modelo hexaedrico:
$ ./Test Test-hexa.xml
  • Modelo real:
$ ./Test Test-y1.xml

Se abrirá una ventana con el visualizador de openrave y se cargará el escenario con el robot Minicube-I. NOTA: El escenario inicial está "boca abajo". Pinchar el botón izquierdo del ratón y arrastrarlo para rotar la cámara y ver la simulación con la orientación correcta

En el terminal aparecerá el mensaje: PRESS A KEY TO START THE SIMULATION!. Apretar una tecla y darle al Enter. Minicube-I empezará a moverse

Versión 0.2

  • 01/Marzo/2010: (Blog) Locomoción de la configuración mínima PP usando el modelo real de módulos Y1
300|250</youtube>

Enlace directo al vídeo en Youtube

Simulación de la locomoción de Minicube-I, usando módulos Y1

El ejemplo mostrado en el vídeo es el test30.cpp (y test30.xml) que se encuentran en el paquete: 2010-03-01-test-cpp.zip

Para probarlo seguir las mismas indicaciones que los ejemplos de la versión 0.1

Versión 0.1

  • 22/Feb/2010: Primera prueba de locomoción de la configuración mínima PP (Blog)
300|250</youtube>

Enlace directo al vídeo en Youtube

Simulación de la locomoción de Minicube-I

El ejemplo se encuentra en el fichero test16.cpp (y test16.xml) del paquete 2010-02-23-test-cpp.zip

Para probar los ejemplos es necesario seguir los siguientes pasos:

  • Compilar e instalar el OpenRave. ¡Importante! Para que funcionen los servos es importante aplicar el parche patch-rev1323.diff a la revisión 1323
 $ svn co -r 1323
 $ cd openrave
 $ patch < patch-rev1323.diff
 $ cmake .
 $ make
 $ make install
  • Descargar el paquete .zip de los ejemplos
  • Abrir un terminal y cambiar el path para que apunte a los ejecutables de Openrave. En mi caso tengo que poner:
export PATH=$PATH:/home/juan/desarrollo/openrave/localinstall/bin
  • Ejecutar cmake:
$ cmake .
  • Ejecutar make
$ make

Descarga

Versión 0.3

openrave-modular-robots-0.3.tar.gz Locomoción de Minicube-I. Tanto el modelo real como el hexaédrico.

Versión 0.2

2010-03-01-test-cpp.zip Ejemplos de prueba en C++

Versión 0.1

2010-02-23-test-cpp.zip Ejemplos de prueba en C++. El ejemplo test16.cpp es en el que se implementa la locomoción de Minicube-I
patch-rev1323.diff Mini-parche a aplicar a la revision 1323 de OpenRave para que funcionen bien los servos

Licencia

Cc logo.png This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Spain License.
150px El código está liberado bajo licencia GPLv3

Autor

Juan González Gómez


Enlaces

Noticias

  • 09/Marzo/2010: Añadido enlace hacia el OpenMR
  • 08/Marzo/2010: Añadida versión 0.3: Ejemplos para "odecontroller"
  • 23/Feb/2010: Comenzada esta página