Modelo de simulación del robot RoMAA para Stage
Tabla de Contenidos
Objetivos
Obtener los archivos necesarios para la simulación del robot RoMAA con Stage compatible con la versión 3.1 que agrega simulación 2.5D. Además, de diferentes versiones del robot con sensores como anillo de ultrasonido y escáner láser.
Stage v3.1
La versión 3.1 de Stage mejora el comportamiento 2.5D [1] permitiendo definir las alturas de los objetos, además agrega un modelo nuevo de gripper que permite moverse en z capaz de levantar objetos. La mejora en el entorno 2.5D permite por ejemplo que un robot pase por debajo de objetos que estan sobre el suelo como ser mesas, estantes, etc.
Modelo para el robot RoMAA
Se describe brevemente como generar el archivo romaa.inc que contiene el modelo del robot RoMAA con anillo de ultrasonido.
Para generar un nuevo modelo de dispositivo a simular por Stage se define partiendo de los modelos existentes en Stage. En modelo actual de simulación del robot RoMAA consta de la plataforma móvil el cual se genera a partir del modelo position, y de un anillo de sonares obtenido a partir del modelo ranger.
Se define el modelo de la plataforma móvil como romaa derivado de position fijando las dimensiones del robot, los puntos que describen su geometría, color, altura, tipo de tracción, localización, etc., como se muestra a continuación.
define romaa position ( # specify the size of the model size [0.570 0.520 0.200] # the romaa's center of rotation #is offset from its center of area origin [-0.111 0 0 0] # main body block( points 10 point[0] [ 0.174 0.142 ] ... z [0.07 0.3] color "blue" ) ... # differential-steer model drive "diff" localization "odom" # odom_error [ 0.05 0.05 0.1 ] )
Se define el anillo de sensores de ultrasonido romaa_sonar_ring derivado de ranger, indicando la cantidad de transductores y sus características.
define romaa_sonar_ring ranger ( # number of transducers scount 16 # pose of each transducer spose[0] [ 0.075 0.240 90 ] ... spose[15] [ -0.324 -0.200 -90 ] # field of view sview [0 5.0 15] # size of each transducer ssize [0.01 0.05] )
Y por último se genera el robot RoMAA con anillo de ultrasonidos romaa_sonar a partir de los dos modelos antes definidos
define romaa_sonar romaa ( # use the sonar array defined above # with a small vertical offset to # drop the sensors into the robot body romaa_sonar_ring( pose [0 0 -0.1 0] ) )
Ejemplos
En el archivo romaasonar.tar.gz se encuentran diferentes ejemplos de la utilización del modelo de simulación del robot RoMAA, incluyendo archivos .world de Stage como archivos .cfg de Player.
Referencias
[1].- "Improving the 2.5D Stage Robotic Simulator", Nick Wong and Jui-Chu Peng Hsu and Toby H.J. Collet and Bruce A. McDonald. Descargar