Stage, un mundo simulado
En el articulo anterior hablamos de Player, el de hoy está fuertemente ligado ya que vamos ha hacer de un plugin para Player, Stage.
Este nos permite simular un mundo ideal en dos dimensiones, donde nuestro robot podrá tener tantos sensores como queramos y se podrá desplazar libremente por cualquier lugar del que tengamos un mapa pero con algunas restricciones reales ya que nunca podrá atravesar las paredes.
El día que introduje este Blog, expliqué que no era necesario gastar fortunas para investigar en el mundo de la robótica autónoma, tipo Pioneer. Sino que podemos experimentar en un mundo simulado antes de decidir que es relevante en un robot para nosotros antes de invertir este dinero.
Debo decir por mi experiencia que al pasar del mundo simulado al real nos podemos llevar alguna sorpresa, especialmente con los sensores de ultrasonidos, pero normalmente hay métodos para subsanarlos, haciendo de Stage una plataforma sencilla de usar y con bastante potencial
Aquí podemos ver la versión 3.0.1 de Stage
El mundo simulado esta restringido al borde exterior de la imagen, siendo cada una de las líneas negras paredes que el robot no puede atravesar, pero que podrán ser detectadas con diferentes sensores.
Además, y como podemos ver en la imagen. En nuestras simulaciones podemos incluir más de un robot. Es importante tener en cuenta que un robot detectará a otro de la misma forma que puede detectar una pared si se usan sensores de distancia, pero Player dispone también de interfaces para sensores RFID con los que podríamos incluso comunicar diferentes robots, tanto en la simulación, como posteriormente en robots reales.
Otro punto muy a tener en cuenta son los mapas. Las paredes que vemos en la captura de Stage, se cargan mediante archivos de imagen. De esta forma podemos cargar el entorno que nos sea más conveniente a nuestra finalidad.
Para los usuarios más exigentes, también está disponible para Player un simulador en 3D llamado Gazebo, pero por el momento es solo una versión Beta.
Un saludo y hasta la próxima entrega.








Pues me gusta y me interesa, pero me resulta imposible si no me viene un .exe o archivos visual basic, que es lo que entiendo para ejecutar programas; bueno también sé compilar C para el micro. ¿como puedo ejecutar el programa? es que también me bajé el programa que decía Cmaker y mas de lo mismo.
La razón por la que no encuentras ningún .exe es porque estos programas que estoy exponiendo son para Linux. Si no dispones de una partición con el sistema operativo, siempre puedes utilizar un virtualizador.
Crees que seria conveniente explicar su intalación bajo windows?
De todas formas pretendo explicar como funciona en detalle. Como configurar los entornos simulados, modificar los robots, llamar drivers especificos e incluso crear nuestros propios drivers.
Desgraciadamente mi tiempo es bastante limitado, pero pronto entraremos en materia.
Un saludo.
No no hace falta, ya buscaré un emulador o directamente un CD de arranque en linux. Creí que el archivo de stage que me bajaba venía en un lenguaje que había que compilar tanto si lo querías hacer funcionar en windows como en linux, por lo que entendí en ingles. Pero me suenan los tipicos archivos comprimidos BZ para linux y creo que se compilan solos en linux.
Todo lo demás que explicas muy interesante para aprender, pero claro cuesta muuucho tiempo.
saldos.
Hola que tal, soy Tomás. Yo acabo de acceder a una beca en la Universidad en la que voy a trabajar con un robot real y con Player/Stage para la simulación previa y demás. Estaré al tanto de este blog y si puedo pues echaré alguna manita.
Surete con el blog y no lo dejes de lado que es muy interesante.
Gracias a los por por vuestros comentarios.
weeberp:
Player y Stage pueden funcionar en windows utilizando Cygwin por lo que tengo entendido, aunque algunas interfaces, drivers y aplicaciones no funcionan.
trebollo:
Mucho ánimo Tomás y muchas gracias por tus comentaríos. A ver si pronto puedo subir el post sobre instalación de player/stage.
Muy bien el blog, a ver si consigues darle buen ritmo. Espero que hayas solucionado ya el problema de la memoria RAM.
En RoboComp ya tenemos un componente para hacer interfaz con Gazebo. ¿Usas la versión de SVN de gazebo o la antigua? ¿Has hecho algún modelo nuevo?
¿Cómo llevas el componente de player?
Por cierto, has escrito por ahí gacebo en vez de gazebo.
Muchas gracias Luis, errata corregida!
Pues la verdad es que lo de la memoria RAM no tiene solución y la verdad es que me está haciendo la puñeta. Ya tendría un par de entradas más en el blog de no ser por ello.
Vi que en robocom había un componente para Gazebo, pero como realizáis la conexión sin Player, la verdad es que no lo he trasteado aún. Intenté instalarlo el otro día pero tuve problemas para encontrar algunas versiones de ciertos paquetes.
El tema de el componente Player depende de mi PC, a ver si estas navidades se portan bien los reyes!! De momento esta semana tengo q validar un componente en el curro! a ver si me da tiempo antes de irme de vacaciones!! jeje!
Herramientas así abaratan mucho los costes pero nunca hay que dejar de lado el mundo real ya que hay multitud de problemas que simulados no vemos por ejemplo, no todos los suelos son uniformes ni tienen la misma adherencia.
Precisamente para eso se utilizan estos software.
En un módulo se programa el funcionamiento ideal del hardware, y en otro conectado al primero un sistema sistema de corrección de errores, de esta forma, uses la plataforma hardware que uses siempre dispones de un módulo de corrección.
Si es eso lo que buscas exactamente echale un vistado al módulo AMCL (Adaptative Monte-Carlo Localization)