Revision: 6804 http://playerstage.svn.sourceforge.net/playerstage/?rev=6804&view=rev Author: rtv Date: 2008-07-07 20:49:09 -0700 (Mon, 07 Jul 2008)
Log Message: ----------- cleanig up Modified Paths: -------------- code/stage/trunk/libstage/CMakeLists.txt Added Paths: ----------- code/stage/trunk/examples/libplayerc/playerswarm/ code/stage/trunk/worlds/inc/ code/stage/trunk/worlds/inc/beacons.inc code/stage/trunk/worlds/inc/chatterbox.inc code/stage/trunk/worlds/inc/irobot.inc code/stage/trunk/worlds/inc/map.inc code/stage/trunk/worlds/inc/objects.inc code/stage/trunk/worlds/inc/pantilt.inc code/stage/trunk/worlds/inc/pioneer.inc code/stage/trunk/worlds/inc/pucktarget.inc code/stage/trunk/worlds/inc/sick.inc code/stage/trunk/worlds/inc/ubot.inc Removed Paths: ------------- code/stage/trunk/examples/libstage/stest.c code/stage/trunk/worlds/Makefile.am code/stage/trunk/worlds/beacons.inc code/stage/trunk/worlds/chatterbox.inc code/stage/trunk/worlds/irobot.inc code/stage/trunk/worlds/map.inc code/stage/trunk/worlds/objects.inc code/stage/trunk/worlds/p3at.inc code/stage/trunk/worlds/p3dx.inc code/stage/trunk/worlds/pantilt.inc code/stage/trunk/worlds/pioneer.inc code/stage/trunk/worlds/pioneerBase.inc code/stage/trunk/worlds/playerswarm/ code/stage/trunk/worlds/pucktarget.inc code/stage/trunk/worlds/sample-zoo.cfg code/stage/trunk/worlds/sample-zoo.world code/stage/trunk/worlds/sick.inc code/stage/trunk/worlds/ubot.inc Copied: code/stage/trunk/examples/libplayerc/playerswarm (from rev 6802, code/stage/trunk/worlds/playerswarm) Deleted: code/stage/trunk/examples/libstage/stest.c =================================================================== --- code/stage/trunk/examples/libstage/stest.c 2008-07-08 03:25:55 UTC (rev 6803) +++ code/stage/trunk/examples/libstage/stest.c 2008-07-08 03:49:09 UTC (rev 6804) @@ -1,155 +0,0 @@ -///////////////////////////////// -// File: stest.c -// Desc: Stage library test program -// Created: 2004.9.15 -// Author: Richard Vaughan <[EMAIL PROTECTED]> -// CVS: $Id: stest.c,v 1.1 2006-07-28 22:12:43 pooya Exp $ -// License: GPL -///////////////////////////////// - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include "stage.h" -#include "config.h" // results of autoconf's system configuration tests - -const size_t MAX_LASER_SAMPLES = 361; - -double minfrontdistance = 0.750; -double speed = 0.400; -double turnrate = DTOR(60); - -int randint; -int randcount = 0; -int avoidcount = 0; -int obs = FALSE; - -int main( int argc, char* argv[] ) -{ - printf( "Stage v%s test program.\n", VERSION ); - - if( argc < 3 ) - { - puts( "Usage: stest <worldfile> <robotname>" ); - exit(0); - } - - // initialize libstage - stg_init( argc, argv ); - - stg_world_t* world = stg_world_create_from_file( argv[1] ); - - char* robotname = argv[2]; - - // generate the name of the laser attached to the robot - char lasername[64]; - snprintf( lasername, 63, "%s.laser:0", robotname ); - - char sonarname[64]; - snprintf( sonarname, 63, "%s.ranger:0", robotname ); - - stg_model_t* position = stg_world_model_name_lookup( world, robotname ); - stg_model_t* laser = stg_world_model_name_lookup( world, lasername ); - - // subscribe to the laser - starts it collecting data - stg_model_subscribe( laser ); - stg_model_subscribe( position); - - stg_model_print( position, "Subscribed to model" ); - stg_model_print( laser, "Subscribed to model" ); - - printf( "Starting world clock..." ); fflush(stdout); - // start the clock - stg_world_start( world ); - puts( "done" ); - - - double newspeed = 0.0; - double newturnrate = 0.0; - - stg_world_set_interval_real( world, 0 ); - - while( (stg_world_update( world,0 )==0) ) - { - // get some laser data - size_t laser_sample_count = 0; - - stg_laser_sample_t* laserdata = - stg_model_get_data( laser, &laser_sample_count ); - laser_sample_count /= sizeof(stg_laser_sample_t); - - // THIS IS ADAPTED FROM PLAYER'S RANDOMWALK C++ EXAMPLE - - /* See if there is an obstacle in front */ - obs = FALSE; - int i; - for(i = 0; i < laser_sample_count; i++) - { - if(laserdata[i].range < minfrontdistance) - obs = TRUE; - } - - if(obs || avoidcount ) - { - newspeed = 0; - - /* once we start avoiding, continue avoiding for 2 seconds */ - /* (we run at about 10Hz, so 20 loop iterations is about 2 sec) */ - if(!avoidcount) - { - avoidcount = 15; - randcount = 0; - - // find the minimum on the left and right - - double min_left = 1e9; - double min_right = 1e9; - - for(i=0; i<laser_sample_count; i++ ) - { - if(i>(laser_sample_count/2) && laserdata[i].range < min_left) - min_left = laserdata[i].range; - else if(i<(laser_sample_count/2) && laserdata[i].range < min_right) - min_right = laserdata[i].range; - } - - if( min_left < min_right) - newturnrate = -turnrate; - else - newturnrate = turnrate; - } - - avoidcount--; - } - else - { - avoidcount = 0; - newspeed = speed; - - /* update turnrate every 3 seconds */ - if(!randcount) - { - /* make random int tween -20 and 20 */ - randint = rand() % 41 - 20; - - newturnrate = DTOR(randint); - randcount = 20; - } - randcount--; - } - - stg_position_cmd_t cmd; - memset(&cmd,0,sizeof(cmd)); - cmd.x = newspeed; - cmd.y = 0; - cmd.a = newturnrate; - - stg_model_set_cmd( position, &cmd, sizeof(cmd)); - - } - - stg_world_destroy( world ); - - exit( 0 ); -} Modified: code/stage/trunk/libstage/CMakeLists.txt =================================================================== --- code/stage/trunk/libstage/CMakeLists.txt 2008-07-08 03:25:55 UTC (rev 6803) +++ code/stage/trunk/libstage/CMakeLists.txt 2008-07-08 03:49:09 UTC (rev 6804) @@ -1,17 +1,11 @@ add_library(stage SHARED - world.cc - worldgui.cc - worldfile.cc - stage.cc - typetable.cc - stage.hh - file_manager.hh - file_manager.cc ancestor.cc block.cc + camera.cc canvas.cc - camera.cc + file_manager.cc + file_manager.hh gl.cc glcolorstack.cc model.cc @@ -25,12 +19,18 @@ model_position.cc model_props.cc model_ranger.cc - resource.cc - texture_manager.cc + option.cc option.hh - option.cc options_dlg.cc options_dlg.hh + resource.cc + stage.cc + stage.hh + texture_manager.cc + typetable.cc + world.cc + worldfile.cc + worldgui.cc ) target_link_libraries( stage Deleted: code/stage/trunk/worlds/Makefile.am =================================================================== --- code/stage/trunk/worlds/Makefile.am 2008-07-08 03:25:55 UTC (rev 6803) +++ code/stage/trunk/worlds/Makefile.am 2008-07-08 03:49:09 UTC (rev 6804) @@ -1,53 +0,0 @@ -SUBDIRS = bitmaps wifi - -worldsdir = $(datadir)/$(package)/worlds - -EXAMPLES = \ -889_05.cfg \ -889_05.world \ -889.cfg \ -889.world \ -amcl-sonar.cfg \ -audio.cfg \ -audio.world \ -autolab.cfg \ -autolab.world \ -beacons.inc \ -chatterbox.inc \ -everything.cfg \ -everything.world \ -fast.world \ -map.inc \ -mbicp.cfg \ -mbicp.world \ -nd.cfg \ -objects.inc \ -p3at.inc \ -p3dx.inc \ -pioneerBase.inc \ -pioneer.inc \ -pucktarget.inc \ -puck.world \ -roomba.inc \ -sample-zoo.cfg \ -sample-zoo.world \ -sick.inc \ -simple.cfg \ -simple.world \ -table.world \ -test100.cfg \ -test100.world \ -test.cfg \ -test.world \ -trans-task.cfg \ -trans-task.world \ -ubot.inc \ -vfh.cfg \ -wavefront.cfg \ -wavefront-remote.cfg \ -wifi.cfg \ -wifi.world - -worlds_DATA = $(EXAMPLES) - -EXTRA_DIST = $(EXAMPLES) Deleted: code/stage/trunk/worlds/beacons.inc =================================================================== --- code/stage/trunk/worlds/beacons.inc 2008-07-08 03:25:55 UTC (rev 6803) +++ code/stage/trunk/worlds/beacons.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -1,61 +0,0 @@ - -# Desc: Device definitions for handy beacons -# Author: Richard Vaughan -# Date: 29 October 2002 -# CVS: $Id: beacons.inc,v 1.6 2005-05-26 21:25:54 rtv Exp $ - -# laser beacons - flat targets that show up bright in the laser, and -# in the fiducial finder. It's often useful to redefine the -# fiducial_return property in each instance, to get unique landmark -# IDs. - -define laserbeacon model -( - fiducial_return 1 - laser_return 2 - size [ 0.05 0.3 ] - color "LightBlue" -) - -# vision beacons - bright round squares that show up nicely in the -# blobfinder - -define visionbeacon model -( - size [0.2 0.2] -) - -# One version for each primary and secondary color. These match the -# default settings for the blobfinder device - -define visionbeacon_red visionbeacon -( - color "red" -) - -define visionbeacon_green visionbeacon -( - color "green" -) - -define visionbeacon_blue visionbeacon -( - color "blue" -) - -define visionbeacon_cyan visionbeacon -( - color "cyan" -) - -define visionbeacon_yellow visionbeacon -( - color "yellow" -) - -define visionbeacon_magenta visionbeacon -( - color "magenta" -) - - Deleted: code/stage/trunk/worlds/chatterbox.inc =================================================================== --- code/stage/trunk/worlds/chatterbox.inc 2008-07-08 03:25:55 UTC (rev 6803) +++ code/stage/trunk/worlds/chatterbox.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -1,33 +0,0 @@ -# Define a model based on the Autonomy Lab Chatterbox robot -# -# Author: Richard T Vaughan (rtv) -# $Id: chatterbox.inc,v 1.5 2008-01-15 01:25:42 rtv Exp $ - -include "irobot.inc" - -define chatterbox create -( - # long range IRs - ranger - ( - scount 3 - spose[0] [ 0.050 0.0 0 ] - spose[1] [ 0.0 0.050 90 ] - spose[2] [ 0.0 -0.050 270 ] - sview [ 0 1.0 20 ] - ssize [0.01 0.03 ] - ) - - # short rage IRs - ranger - ( - scount 4 - spose[0] [ 0.050 0.0 0 ] - spose[1] [ 0.035 0.035 30 ] - spose[2] [ -0.050 0.0 180 ] - spose[3] [ 0.035 -0.035 330 ] - - sview [ 0 0.5 30 ] - ssize [0.01 0.03 ] - ) -) \ No newline at end of file Copied: code/stage/trunk/worlds/inc/beacons.inc (from rev 6802, code/stage/trunk/worlds/beacons.inc) =================================================================== --- code/stage/trunk/worlds/inc/beacons.inc (rev 0) +++ code/stage/trunk/worlds/inc/beacons.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -0,0 +1,61 @@ + +# Desc: Device definitions for handy beacons +# Author: Richard Vaughan +# Date: 29 October 2002 +# CVS: $Id: beacons.inc,v 1.6 2005-05-26 21:25:54 rtv Exp $ + +# laser beacons - flat targets that show up bright in the laser, and +# in the fiducial finder. It's often useful to redefine the +# fiducial_return property in each instance, to get unique landmark +# IDs. + +define laserbeacon model +( + fiducial_return 1 + laser_return 2 + size [ 0.05 0.3 ] + color "LightBlue" +) + +# vision beacons - bright round squares that show up nicely in the +# blobfinder + +define visionbeacon model +( + size [0.2 0.2] +) + +# One version for each primary and secondary color. These match the +# default settings for the blobfinder device + +define visionbeacon_red visionbeacon +( + color "red" +) + +define visionbeacon_green visionbeacon +( + color "green" +) + +define visionbeacon_blue visionbeacon +( + color "blue" +) + +define visionbeacon_cyan visionbeacon +( + color "cyan" +) + +define visionbeacon_yellow visionbeacon +( + color "yellow" +) + +define visionbeacon_magenta visionbeacon +( + color "magenta" +) + + Copied: code/stage/trunk/worlds/inc/chatterbox.inc (from rev 6802, code/stage/trunk/worlds/chatterbox.inc) =================================================================== --- code/stage/trunk/worlds/inc/chatterbox.inc (rev 0) +++ code/stage/trunk/worlds/inc/chatterbox.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -0,0 +1,33 @@ +# Define a model based on the Autonomy Lab Chatterbox robot +# +# Author: Richard T Vaughan (rtv) +# $Id: chatterbox.inc,v 1.5 2008-01-15 01:25:42 rtv Exp $ + +include "irobot.inc" + +define chatterbox create +( + # long range IRs + ranger + ( + scount 3 + spose[0] [ 0.050 0.0 0 ] + spose[1] [ 0.0 0.050 90 ] + spose[2] [ 0.0 -0.050 270 ] + sview [ 0 1.0 20 ] + ssize [0.01 0.03 ] + ) + + # short rage IRs + ranger + ( + scount 4 + spose[0] [ 0.050 0.0 0 ] + spose[1] [ 0.035 0.035 30 ] + spose[2] [ -0.050 0.0 180 ] + spose[3] [ 0.035 -0.035 330 ] + + sview [ 0 0.5 30 ] + ssize [0.01 0.03 ] + ) +) \ No newline at end of file Copied: code/stage/trunk/worlds/inc/irobot.inc (from rev 6802, code/stage/trunk/worlds/irobot.inc) =================================================================== --- code/stage/trunk/worlds/inc/irobot.inc (rev 0) +++ code/stage/trunk/worlds/inc/irobot.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -0,0 +1,38 @@ + +define roomba position +( + size [0.33 0.33 0.1] + + # this block approximates the circular shape of a Roomba + blocks 1 + block[0].points 16 + block[0].point[0] [ 0.225 0.000 ] + block[0].point[1] [ 0.208 0.086 ] + block[0].point[2] [ 0.159 0.159 ] + block[0].point[3] [ 0.086 0.208 ] + block[0].point[4] [ 0.000 0.225 ] + block[0].point[5] [ -0.086 0.208 ] + block[0].point[6] [ -0.159 0.159 ] + block[0].point[7] [ -0.208 0.086 ] + block[0].point[8] [ -0.225 0.000 ] + block[0].point[9] [ -0.208 -0.086 ] + block[0].point[10] [ -0.159 -0.159 ] + block[0].point[11] [ -0.086 -0.208 ] + block[0].point[12] [ -0.000 -0.225 ] + block[0].point[13] [ 0.086 -0.208 ] + block[0].point[14] [ 0.159 -0.159 ] + block[0].point[15] [ 0.208 -0.086 ] + + # this bumper array VERY crudely approximates the Roomba's bumpers +# bumper( bcount 2 +# blength 0.33 +# bpose[0] [0.12 0.12 45] +# bpose[1] [0.12 -0.12 -45] +# ) + + color "gray50" +) + +define create roomba( color "gray90" ) + + Copied: code/stage/trunk/worlds/inc/map.inc (from rev 6802, code/stage/trunk/worlds/map.inc) =================================================================== --- code/stage/trunk/worlds/inc/map.inc (rev 0) +++ code/stage/trunk/worlds/inc/map.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -0,0 +1,29 @@ +# map.inc - useful setup for a floorplan bitmap +# Authors: Richard Vaughan +# $Id$ + +define floorplan model +( + # sombre, sensible, artistic + color "gray30" + + # most maps will need a bounding box + boundary 1 + + gui_nose 0 + gui_grid 0 + gui_movemask 0 + gui_outline 0 + gripper_return 0 + fiducial_return 0 + laser_return 1 +) + +define zone model +( + color "orange" + size [ 2 2 0.02 ] + obstacle_return 0 + laser_return 0 + ranger_return 0 +) Copied: code/stage/trunk/worlds/inc/objects.inc (from rev 6802, code/stage/trunk/worlds/objects.inc) =================================================================== --- code/stage/trunk/worlds/inc/objects.inc (rev 0) +++ code/stage/trunk/worlds/inc/objects.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -0,0 +1,22 @@ +# Desc: Some useful environmental objects +# Author: Richard Vaughan +# Date: 4 Jun 2002 +# CVS: $Id: objects.inc,v 1.2 2004-12-03 01:32:57 rtv Exp $ + +# a largeish colored cylinder +# +define visionbeacon model +( + shape "circle" + size [0.2 0.2] + color "red" +) + +# primary colored pucks for moving with the gripper +# +define red_puck puck( color "red" ) +define green_puck puck( color "green" ) +define blue_puck puck( color "blue" ) + + + Copied: code/stage/trunk/worlds/inc/pantilt.inc (from rev 6802, code/stage/trunk/worlds/pantilt.inc) =================================================================== --- code/stage/trunk/worlds/inc/pantilt.inc (rev 0) +++ code/stage/trunk/worlds/inc/pantilt.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -0,0 +1,33 @@ + +define pantiltcamera camera +( + width 64 + height 64 + horizfov 60 + vertfov 40 + yaw 0 + pitch 0 + + color "black" + size3 [ 0.1 0.07 0.05 ] + pose [ 0.02 0 0 ] + obstacle_return 0 + laser_return 0 + ranger_return 0 +) + +#TODO make a fancier model +define fancypantiltcamer pantiltcamera +( + blocks 1 + + # bottom + block[0].points 4 + block[0].point[0] [ -2.1 0.07 ] + block[0].point[1] [ -2.1 -0.07 ] + block[0].point[2] [ 2.1 -0.07 ] + block[0].point[3] [ 2.1 0.07 ] + block[0].z [0 0.2 ] + + +) Copied: code/stage/trunk/worlds/inc/pioneer.inc (from rev 6802, code/stage/trunk/worlds/pioneer.inc) =================================================================== --- code/stage/trunk/worlds/inc/pioneer.inc (rev 0) +++ code/stage/trunk/worlds/inc/pioneer.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -0,0 +1,364 @@ + +# Desc: Device definitions for Activemedia robots. +# Author: Richard Vaughan, Andrew Howard, Luis Riazuelo +# Date: 10 Jun 2002 +# CVS: $Id: pioneer.inc,v 1.30 2008-01-15 01:25:42 rtv Exp $ + +# The Pioneer2DX sonar array +define p2dx_sonar ranger +( + scount 16 # the number of transducers + + # define the pose of each transducer [xpos ypos heading] + spose[0] [ 0.075 0.130 90 ] + spose[1] [ 0.115 0.115 50 ] + spose[2] [ 0.150 0.080 30 ] + spose[3] [ 0.170 0.025 10 ] + spose[4] [ 0.170 -0.025 -10 ] + spose[5] [ 0.150 -0.080 -30 ] + spose[6] [ 0.115 -0.115 -50 ] + spose[7] [ 0.075 -0.130 -90 ] + spose[8] [ -0.155 -0.130 -90 ] + spose[9] [ -0.195 -0.115 -130 ] + spose[10] [ -0.230 -0.080 -150 ] + spose[11] [ -0.250 -0.025 -170 ] + spose[12] [ -0.250 0.025 170 ] + spose[13] [ -0.230 0.080 150 ] + spose[14] [ -0.195 0.115 130 ] + spose[15] [ -0.155 0.130 90 ] + + # define the field of view of each transducer [range_min range_max view_angle] + sview [0 5.0 15] + + # define the size of each transducer [xsize ysize] in meters + ssize [0.01 0.05] +) + +# The Pioneer3DX sonar array +define p3dx_sonar ranger +( + scount 16 + + # define the pose of each transducer [xpos ypos heading] + spose[0] [ 0.069 0.136 90 ] + spose[1] [ 0.114 0.119 50 ] + spose[2] [ 0.148 0.078 30 ] + spose[3] [ 0.166 0.027 10 ] + spose[4] [ 0.166 -0.027 -10 ] + spose[5] [ 0.148 -0.078 -30 ] + spose[6] [ 0.114 -0.119 -50 ] + spose[7] [ 0.069 -0.136 -90 ] + spose[8] [ -0.157 -0.136 -90 ] + spose[9] [ -0.203 -0.119 -130 ] + spose[10] [ -0.237 -0.078 -150 ] + spose[11] [ -0.255 -0.027 -170 ] + spose[12] [ -0.255 0.027 170 ] + spose[13] [ -0.237 0.078 150 ] + spose[14] [ -0.103 0.119 130 ] + spose[15] [ -0.157 0.136 90 ] + + # define the field of view of each transducer [range_min range_max view_angle] + sview [0.1 5.0 30] # min (m), max (m), field of view (deg) + + # define the size of each transducer [xsize ysize] in meters + ssize [0.01 0.04] +) + +# The Pioneer3AT sonar array +define p3at_sonar ranger +( + scount 16 + + # define the pose of each transducer [xpos ypos heading] + spose[0] [0.147 0.136 90] + spose[1] [0.193 0.119 50] + spose[2] [0.227 0.079 30] + spose[3] [0.245 0.027 10] + spose[4] [0.245 -0.027 -10] + spose[5] [0.227 -0.079 -30] + spose[6] [0.193 -0.119 -50] + spose[7] [0.147 -0.136 -90] + spose[8] [-0.144 -0.136 -90] + spose[9] [-0.189 -0.119 -130] + spose[10] [-0.223 -0.079 -150] + spose[11] [-0.241 -0.027 -170] + spose[12] [-0.241 0.027 170] + spose[13] [-0.223 0.079 150] + spose[14] [-0.189 0.119 130] + spose[15] [-0.144 0.136 90] + + # define the field of view of each transducer [range_min range_max view_angle] + sview [0.1 5.0 30] # min (m), max (m), field of view (deg) + + # define the size of each transducer [xsize ysize] in meters + ssize [0.01 0.04] +) + +define pioneer_base position +( + color "red" # Default color. + drive "diff" # Differential steering model. + gui_nose 1 # Draw a nose on the robot so we can see which way it points + obstacle_return 1 # Can hit things. + laser_return 1 # reflects laser beams + ranger_return 1 # reflects sonar beams + blobfinder_return 1 # Seen by blobfinders + fiducial_return 1 # Seen as "1" fiducial finders + + localization "gps" + localization_origin [0 0 0] # Start odometry at (0, 0, 0). + + # alternative odometric localization with simple error model + # localization "odom" # Change to "gps" to have impossibly perfect, global odometry + # odom_error [ 0.05 0.05 0.1 ] # Odometry error or slip in X, Y and Theta + # (Uniform random distribution) +) + + +define pioneer2dx pioneer_base +( + # actual size + size [0.44 0.38 0.22] # sizes from MobileRobots' web site + + # the pioneer's center of rotation is offset from its center of area + origin [-0.04 0 0 0] + + # draw a nose on the robot so we can see which way it points + gui_nose 1 + + # estimated mass in KG + mass 15.0 + + # use the sonar array defined above with a small vertical offset to + # drop the sensors into the robot body + p2dx_sonar( pose [0.04 0 -0.03 0] ) + + # differential steering model + drive "diff" + + # this polygon approximates the shape of a pioneer + blocks 1 + block[0].points 8 + block[0].point[0] [ 0.23 0.05 ] + block[0].point[1] [ 0.15 0.15 ] + block[0].point[2] [ -0.15 0.15 ] + block[0].point[3] [ -0.23 0.05 ] + block[0].point[4] [ -0.23 -0.05 ] + block[0].point[5] [ -0.15 -0.15 ] + block[0].point[6] [ 0.15 -0.15 ] + block[0].point[7] [ 0.23 -0.05 ] + block[0].z [0 0.45] +) + +# a Pioneer 2 or 3 in standard configuration +define fancypioneer2dx pioneer2dx +( + # this set of blocks approximates the shape of a real Pioneer + + # The geometry is from the Webots v5.3.0 manual. Thanks to Webots + # and Olivier Michel. If Stage or Gazebo do not do what you want, + # take a look at Webots. It's a very nice commercial simulator. + + blocks 7 + # main body + block[0].points 8 + block[0].point[7] [ -0.215 -0.1 ] + block[0].point[6] [ -0.215 0.1 ] + block[0].point[5] [ -0.185 0.135 ] + block[0].point[4] [ 0.095 0.135 ] + block[0].point[3] [ 0.11 0.08 ] + block[0].point[2] [ 0.11 -0.08 ] + block[0].point[1] [ 0.095 -0.135 ] + block[0].point[0] [ -0.185 -0.135 ] + block[0].z [ 0.059 0.234 ] + + + # sonar case + block[1].points 9 + block[1].point[0] [ -0.135 0.136 ] + block[1].point[1] [ -0.185 0.136 ] + block[1].point[2] [ -0.223 0.101 ] + block[1].point[3] [ -0.248 0.054 ] + block[1].point[4] [ -0.258 0 ] + block[1].point[5] [ -0.248 -0.054 ] + block[1].point[6] [ -0.223 -0.101 ] + block[1].point[7] [ -0.185 -0.136 ] + block[1].point[8] [ -0.135 -0.136 ] + block[1].z [ 0.184 0.234 ] + + #sonar case + block[2].points 9 + block[2].point[0] [ 0.046 -0.136 ] + block[2].point[1] [ 0.096 -0.136 ] + block[2].point[2] [ 0.134 -0.101 ] + block[2].point[3] [ 0.159 -0.054 ] + block[2].point[4] [ 0.168 0 ] + block[2].point[5] [ 0.159 0.054 ] + block[2].point[6] [ 0.134 0.101 ] + block[2].point[7] [ 0.096 0.136 ] + block[2].point[8] [ 0.046 0.136 ] + block[2].z [ 0.184 0.234 ] + + # left wheel + block[3].points 4 + block[3].point[0] [ 0.083 0.177 ] + block[3].point[1] [ -0.083 0.177 ] + block[3].point[2] [ -0.083 0.140 ] + block[3].point[3] [ 0.083 0.140 ] + block[3].z [0 0.165 ] + block[3].color "gray15" + + # right wheel + block[4].points 4 + block[4].point[0] [ 0.083 -0.14 ] + block[4].point[1] [ -0.083 -0.14 ] + block[4].point[2] [ -0.083 -0.177 ] + block[4].point[3] [ 0.083 -0.177 ] + block[4].z [ 0 0.165 ] + block[4].color "gray15" + + # castor + block[5].points 4 + block[5].point[3] [ -0.2475 0.012 ] + block[5].point[2] [ -0.1825 0.012 ] + block[5].point[1] [ -0.1825 -0.012 ] + block[5].point[0] [ -0.2475 -0.012 ] + block[5].z [ 0 0.065 ] + block[5].color "gray15" + + # lid + block[6].points 22 + block[6].point[21] [ 0.174 0 ] + block[6].point[20] [ 0.166 -0.056 ] + block[6].point[19] [ 0.145 -0.107 ] + block[6].point[18] [ 0.112 -0.155 ] + block[6].point[17] [ 0.064 -0.190 ] + block[6].point[16] [ -0.074 -0.190 ] + block[6].point[15] [ -0.096 -0.160 ] + block[6].point[14] [ -0.151 -0.160 ] + block[6].point[13] [ -0.2 -0.155 ] + block[6].point[12] [ -0.236 -0.107 ] + block[6].point[11] [ -0.256 -0.056 ] + block[6].point[10] [ -0.264 0 ] + block[6].point[9] [ -0.256 0.056 ] + block[6].point[8] [ -0.236 0.107 ] + block[6].point[7] [ -0.2 0.155 ] + block[6].point[6] [ -0.151 0.160 ] + block[6].point[5] [ -0.096 0.160 ] + block[6].point[4] [ -0.074 0.190 ] + block[6].point[3] [ 0.064 0.190 ] + block[6].point[2] [ 0.112 0.155 ] + block[6].point[1] [ 0.145 0.107 ] + block[6].point[0] [ 0.166 0.056 ] + block[6].z [ 0.234 0.24 ] + # a dark top looks more realistic, but isn't very useful + # for a top-down view + #block[6].color "gray10" +) + + + +# define 10 straight bumpers around the edge of the robot +# +# (these angles are correct for p2dx but the offsets are approximate - RTV) +# format: bumper[x] [x y th length radius] (zero radius gives a straight line) +# WARNING: bumpers are not currently supported by Stage>=1.5 +# define pioneer2dxbumper bumper +# ( +# bumpers10 +# bumper[0] [ 0.17 -0.22 -52 0.105 0.0 ] +# bumper[1] [ 0.24 -0.12 -19 0.105 0.0 ] +# bumper[2] [ 0.26 0.00 0 0.105 0.0 ] +# bumper[3] [ 0.24 0.12 19 0.105 0.0 ] +# bumper[4] [ 0.17 0.22 52 0.105 0.0 ] +# bumper[5] [ -0.25 0.22 128 0.105 0.0 ] +# bumper[6] [ -0.32 0.12 161 0.105 0.0 ] +# bumper[7] [ -0.34 0.00 180 0.105 0.0 ] +# bumper[8] [ -0.32 -0.12 199 0.105 0.0 ] +# bumper[9] [ -0.25 -0.22 232 0.105 0.0 ] +# ) + + +# The Pioneer3DX standard configuration +define pioneer3dx pioneer_base +( + # Actual size + size [0.511 0.4 0.22 ] + + # The pioneer's center of rotation is offset from its center of area + origin [-0.04465 0.0 0.0] + + # Estimated mass in KG + mass 23.0 + + # Body shape: + blocks 1 + block[0].points 8 + block[0].point[0] [-0.12 0.2555] + block[0].point[1] [0.12 0.2555] + block[0].point[2] [0.2 0.12] + block[0].point[3] [0.2 -0.12] + block[0].point[4] [0.12 -0.2555] + block[0].point[5] [-0.12 -0.2555] + block[0].point[6] [-0.2 -0.12] + block[0].point[7] [-0.2 0.12] + + # Use the sonar array defined above + p3dx_sonar() + + # Use the laser lms200 + sicklms200( pose [0.12 0 0] ) + +) + +# The Pioneer3AT standard configuration +define pioneer3at pioneer_base +( + # Actual size + size [0.626 0.505] + + # The pioneer's center of rotation is offset from its center of area + origin [-0.04465 0.0 0.0] + + # Estimated mass in KG + mass 40.0 + + # Body shape: + blocks 1 + block[0].points 8 + block[0].point[0] [-0.18 0.313] + block[0].point[1] [0.18 0.313] + block[0].point[2] [0.2525 0.18] + block[0].point[3] [0.2525 -0.18] + block[0].point[4] [0.18 -0.313] + block[0].point[5] [-0.18 -0.313] + block[0].point[6] [-0.2525 -0.18] + block[0].point[7] [-0.2525 0.18] + + # Use the sonar array defined above + p3at_sonar() +) + + +### AMIGOBOT #### + +# The AmigoBot sonar array +define amigo_sonar ranger +( + scount 8 + spose[0] [ 0.073 0.105 90 ] + spose[1] [ 0.130 0.078 41 ] + spose[2] [ 0.154 0.030 15 ] + spose[3] [ 0.154 -0.030 -15 ] + spose[4] [ 0.130 -0.078 -41 ] + spose[5] [ 0.073 -0.105 -90 ] + spose[6] [ -0.146 -0.060 -145 ] + spose[7] [ -0.146 0.060 145 ] +) + +define amigobot position +( + size [0.330 0.280 0.25] + origin [0 0 0 0] # what should this value be? send email to [EMAIL PROTECTED] + amigo_sonar( pose [0 0 -0.02 0 ] ) +) Copied: code/stage/trunk/worlds/inc/pucktarget.inc (from rev 6802, code/stage/trunk/worlds/pucktarget.inc) =================================================================== --- code/stage/trunk/worlds/inc/pucktarget.inc (rev 0) +++ code/stage/trunk/worlds/inc/pucktarget.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -0,0 +1,29 @@ + +define pucktarget fiducialfinder +( + range_min 0.0 + range_max 1.5 + fov 360.0 + samples 2 + size [0.25 0.25] + + color "purple" + #laser_return "bright" + + # cos(18) = 0.9510565 sin(18) = 0.309017 + # cos(54) = 0.587785 sin(54) = 0.809017 + polygons 1 + polygon[0].points 10 + polygon[0].point[0] [ 0.238 0.077 ] + polygon[0].point[1] [ 0.1 0.1 ] + polygon[0].point[2] [ 0 0.250 ] + polygon[0].point[3] [ -0.1 0.1 ] + polygon[0].point[4] [ -0.238 0.077 ] + polygon[0].point[5] [ -0.1 -0.1 ] + polygon[0].point[6] [ -0.147 -0.202 ] + polygon[0].point[7] [ 0.0 -0.1 ] + polygon[0].point[8] [ 0.147 -0.202 ] + polygon[0].point[9] [ 0.1 -0.1 ] + +) + Copied: code/stage/trunk/worlds/inc/sick.inc (from rev 6802, code/stage/trunk/worlds/sick.inc) =================================================================== --- code/stage/trunk/worlds/inc/sick.inc (rev 0) +++ code/stage/trunk/worlds/inc/sick.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -0,0 +1,58 @@ + +define sicklaser laser +( + # laser-specific properties + + # factory settings for LMS200 + range_min 0.0 + range_max 8.0 + fov 180.0 + samples 361 + + #samples 90 # still useful but much faster to compute + + # generic model properties + color "blue" + size [ 0.156 0.155 0.19 ] # dimensions from LMS200 data sheet +) + +define fancysicklaser sicklaser +( + blocks 4 + + # bottom + block[0].points 4 + block[0].point[0] [ -0.02 -0.077 ] + block[0].point[1] [ 0.078 -0.077 ] + block[0].point[2] [ 0.078 0.077 ] + block[0].point[3] [ -0.02 0.077 ] + block[0].z [0 0.02 ] + + # back + block[1].points 4 + block[1].point[0] [ -0.078 -0.077 ] + block[1].point[1] [ -0.02 -0.077 ] + block[1].point[2] [ -0.02 0.077 ] + block[1].point[3] [ -0.078 0.077 ] + block[1].z [0 0.21 ] + + # top + block[2].points 4 + block[2].point[0] [ -0.02 -0.077 ] + block[2].point[1] [ 0.078 -0.077 ] + block[2].point[2] [ 0.078 0.077 ] + block[2].point[3] [ -0.02 0.077 ] + block[2].z [0.12 0.21 ] + + # laser bit + block[3].points 4 + block[3].point[0] [ -0.02 -0.05 ] + block[3].point[1] [ 0.06 -0.05 ] + block[3].point[2] [ 0.06 0.05 ] + block[3].point[3] [ -0.02 0.05 ] + block[3].z [0.02 0.12 ] + block[3].color "gray10" +) + + + Copied: code/stage/trunk/worlds/inc/ubot.inc (from rev 6802, code/stage/trunk/worlds/ubot.inc) =================================================================== --- code/stage/trunk/worlds/inc/ubot.inc (rev 0) +++ code/stage/trunk/worlds/inc/ubot.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -0,0 +1,29 @@ +# device definitions for the UMASS UBot + +# the ubot has an IR array +define ubot_ir reb_ir +( + add_noise 1 + # noiseparams [1.913005560938 -7.728130591833] # used to generate noise + + power_on 1 + min_range 0.10 # in meters + max_range 0.8 # in meters + + ircount 8 + irpose[0] [ 0.035 0.0 0.0 ] + irpose[1] [ 0.025 0.025 45 ] + irpose[2] [ 0.0 0.035 90 ] + irpose[3] [ -0.025 0.025 135 ] + irpose[4] [ -0.035 0.0 180 ] + irpose[5] [ -0.025 -0.025 225 ] + irpose[6] [ 0.0 -0.035 270 ] + irpose[7] [ 0.025 -0.025 315 ] +) + +define ubot reb_position +( + size [ 0.19 0.19 ] + offset [ 0.0 0.0 ] + ubot_ir() +) Deleted: code/stage/trunk/worlds/irobot.inc =================================================================== --- code/stage/trunk/worlds/irobot.inc 2008-07-08 03:25:55 UTC (rev 6803) +++ code/stage/trunk/worlds/irobot.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -1,38 +0,0 @@ - -define roomba position -( - size [0.33 0.33 0.1] - - # this block approximates the circular shape of a Roomba - blocks 1 - block[0].points 16 - block[0].point[0] [ 0.225 0.000 ] - block[0].point[1] [ 0.208 0.086 ] - block[0].point[2] [ 0.159 0.159 ] - block[0].point[3] [ 0.086 0.208 ] - block[0].point[4] [ 0.000 0.225 ] - block[0].point[5] [ -0.086 0.208 ] - block[0].point[6] [ -0.159 0.159 ] - block[0].point[7] [ -0.208 0.086 ] - block[0].point[8] [ -0.225 0.000 ] - block[0].point[9] [ -0.208 -0.086 ] - block[0].point[10] [ -0.159 -0.159 ] - block[0].point[11] [ -0.086 -0.208 ] - block[0].point[12] [ -0.000 -0.225 ] - block[0].point[13] [ 0.086 -0.208 ] - block[0].point[14] [ 0.159 -0.159 ] - block[0].point[15] [ 0.208 -0.086 ] - - # this bumper array VERY crudely approximates the Roomba's bumpers -# bumper( bcount 2 -# blength 0.33 -# bpose[0] [0.12 0.12 45] -# bpose[1] [0.12 -0.12 -45] -# ) - - color "gray50" -) - -define create roomba( color "gray90" ) - - Deleted: code/stage/trunk/worlds/map.inc =================================================================== --- code/stage/trunk/worlds/map.inc 2008-07-08 03:25:55 UTC (rev 6803) +++ code/stage/trunk/worlds/map.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -1,29 +0,0 @@ -# map.inc - useful setup for a floorplan bitmap -# Authors: Richard Vaughan -# $Id$ - -define floorplan model -( - # sombre, sensible, artistic - color "gray30" - - # most maps will need a bounding box - boundary 1 - - gui_nose 0 - gui_grid 0 - gui_movemask 0 - gui_outline 0 - gripper_return 0 - fiducial_return 0 - laser_return 1 -) - -define zone model -( - color "orange" - size [ 2 2 0.02 ] - obstacle_return 0 - laser_return 0 - ranger_return 0 -) Deleted: code/stage/trunk/worlds/objects.inc =================================================================== --- code/stage/trunk/worlds/objects.inc 2008-07-08 03:25:55 UTC (rev 6803) +++ code/stage/trunk/worlds/objects.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -1,22 +0,0 @@ -# Desc: Some useful environmental objects -# Author: Richard Vaughan -# Date: 4 Jun 2002 -# CVS: $Id: objects.inc,v 1.2 2004-12-03 01:32:57 rtv Exp $ - -# a largeish colored cylinder -# -define visionbeacon model -( - shape "circle" - size [0.2 0.2] - color "red" -) - -# primary colored pucks for moving with the gripper -# -define red_puck puck( color "red" ) -define green_puck puck( color "green" ) -define blue_puck puck( color "blue" ) - - - Deleted: code/stage/trunk/worlds/p3at.inc =================================================================== --- code/stage/trunk/worlds/p3at.inc 2008-07-08 03:25:55 UTC (rev 6803) +++ code/stage/trunk/worlds/p3at.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -1,70 +0,0 @@ -# Desc: Device definitions for P3AT Activemedia robots. -# Author: Luis Riazuelo [EMAIL PROTECTED] -# Date: 13 Jun 2007 - -# defines sick laser -include "pioneerBase.inc" -include "sick.inc" - - -# The Pioneer3AT sonar array -define p3at_sonar ranger -( - scount 16 - - # define the pose of each transducer [xpos ypos heading] - spose[0] [0.147 0.136 90] - spose[1] [0.193 0.119 50] - spose[2] [0.227 0.079 30] - spose[3] [0.245 0.027 10] - spose[4] [0.245 -0.027 -10] - spose[5] [0.227 -0.079 -30] - spose[6] [0.193 -0.119 -50] - spose[7] [0.147 -0.136 -90] - spose[8] [-0.144 -0.136 -90] - spose[9] [-0.189 -0.119 -130] - spose[10] [-0.223 -0.079 -150] - spose[11] [-0.241 -0.027 -170] - spose[12] [-0.241 0.027 170] - spose[13] [-0.223 0.079 150] - spose[14] [-0.189 0.119 130] - spose[15] [-0.144 0.136 90] - - # define the field of view of each transducer [range_min range_max view_angle] - sview [0.1 5.0 30] # min (m), max (m), field of view (deg) - - # define the size of each transducer [xsize ysize] in meters - ssize [0.01 0.04] -) - -# The Pioneer3AT standard configuration -define pioneer3at pioneerBase -( - # Actual size - size [0.626 0.505] - - # The pioneer's center of rotation is offset from its center of area - origin [-0.04465 0.0 0.0] - - # Estimated mass in KG - mass 40.0 - - # Body shape: - polygons 1 - polygon[0].points 8 - polygon[0].point[0] [-0.18 0.313] - polygon[0].point[1] [0.18 0.313] - polygon[0].point[2] [0.2525 0.18] - polygon[0].point[3] [0.2525 -0.18] - polygon[0].point[4] [0.18 -0.313] - polygon[0].point[5] [-0.18 -0.313] - polygon[0].point[6] [-0.2525 -0.18] - polygon[0].point[7] [-0.2525 0.18] - - # Use the sonar array defined above - p3at_sonar() - - # Use the laser lms200 - sicklms200( pose [0.16 0 0] ) - -) Deleted: code/stage/trunk/worlds/p3dx.inc =================================================================== --- code/stage/trunk/worlds/p3dx.inc 2008-07-08 03:25:55 UTC (rev 6803) +++ code/stage/trunk/worlds/p3dx.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -1,71 +0,0 @@ -# Desc: Device definitions for P3DX Activemedia robots. -# Author: Luis Riazuelo [EMAIL PROTECTED] -# Date: 13 Jun 2007 - -# defines sick laser -include "pioneerBase.inc" -include "sick.inc" - -# The Pioneer3DX sonar array -define p3dx_sonar ranger -( - scount 16 - - # define the pose of each transducer [xpos ypos heading] - spose[0] [ 0.069 0.136 90 ] - spose[1] [ 0.114 0.119 50 ] - spose[2] [ 0.148 0.078 30 ] - spose[3] [ 0.166 0.027 10 ] - spose[4] [ 0.166 -0.027 -10 ] - spose[5] [ 0.148 -0.078 -30 ] - spose[6] [ 0.114 -0.119 -50 ] - spose[7] [ 0.069 -0.136 -90 ] - spose[8] [ -0.157 -0.136 -90 ] - spose[9] [ -0.203 -0.119 -130 ] - spose[10] [ -0.237 -0.078 -150 ] - spose[11] [ -0.255 -0.027 -170 ] - spose[12] [ -0.255 0.027 170 ] - spose[13] [ -0.237 0.078 150 ] - spose[14] [ -0.103 0.119 130 ] - spose[15] [ -0.157 0.136 90 ] - - # define the field of view of each transducer [range_min range_max view_angle] - sview [0.1 5.0 30] # min (m), max (m), field of view (deg) - - # define the size of each transducer [xsize ysize] in meters - ssize [0.01 0.04] -) - -# The Pioneer3DX standard configuration -define pioneer3dx pioneerBase -( - # Actual size - size [0.511 0.4] - - # The pioneer's center of rotation is offset from its center of area - origin [-0.04465 0.0 0.0] - - # Estimated mass in KG - mass 23.0 - - # Body shape: - polygons 1 - polygon[0].points 8 - polygon[0].point[0] [-0.12 0.2555] - polygon[0].point[1] [0.12 0.2555] - polygon[0].point[2] [0.2 0.12] - polygon[0].point[3] [0.2 -0.12] - polygon[0].point[4] [0.12 -0.2555] - polygon[0].point[5] [-0.12 -0.2555] - polygon[0].point[6] [-0.2 -0.12] - polygon[0].point[7] [-0.2 0.12] - - # Use the sonar array defined above - p3dx_sonar() - - # Use the laser lms200 - sicklms200( pose [0.12 0 0] ) - -) - - Deleted: code/stage/trunk/worlds/pantilt.inc =================================================================== --- code/stage/trunk/worlds/pantilt.inc 2008-07-08 03:25:55 UTC (rev 6803) +++ code/stage/trunk/worlds/pantilt.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -1,33 +0,0 @@ - -define pantiltcamera camera -( - width 64 - height 64 - horizfov 60 - vertfov 40 - yaw 0 - pitch 0 - - color "black" - size3 [ 0.1 0.07 0.05 ] - pose [ 0.02 0 0 ] - obstacle_return 0 - laser_return 0 - ranger_return 0 -) - -#TODO make a fancier model -define fancypantiltcamer pantiltcamera -( - blocks 1 - - # bottom - block[0].points 4 - block[0].point[0] [ -2.1 0.07 ] - block[0].point[1] [ -2.1 -0.07 ] - block[0].point[2] [ 2.1 -0.07 ] - block[0].point[3] [ 2.1 0.07 ] - block[0].z [0 0.2 ] - - -) Deleted: code/stage/trunk/worlds/pioneer.inc =================================================================== --- code/stage/trunk/worlds/pioneer.inc 2008-07-08 03:25:55 UTC (rev 6803) +++ code/stage/trunk/worlds/pioneer.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -1,220 +0,0 @@ - -# Desc: Device definitions for Activemedia robots. -# Author: Richard Vaughan, Andrew Howard -# Date: 10 Jun 2002 -# CVS: $Id: pioneer.inc,v 1.30 2008-01-15 01:25:42 rtv Exp $ - -# The Pioneer2DX sonar array -define p2dx_sonar ranger -( - scount 16 # the number of transducers - - # define the pose of each transducer [xpos ypos heading] - spose[0] [ 0.075 0.130 90 ] - spose[1] [ 0.115 0.115 50 ] - spose[2] [ 0.150 0.080 30 ] - spose[3] [ 0.170 0.025 10 ] - spose[4] [ 0.170 -0.025 -10 ] - spose[5] [ 0.150 -0.080 -30 ] - spose[6] [ 0.115 -0.115 -50 ] - spose[7] [ 0.075 -0.130 -90 ] - spose[8] [ -0.155 -0.130 -90 ] - spose[9] [ -0.195 -0.115 -130 ] - spose[10] [ -0.230 -0.080 -150 ] - spose[11] [ -0.250 -0.025 -170 ] - spose[12] [ -0.250 0.025 170 ] - spose[13] [ -0.230 0.080 150 ] - spose[14] [ -0.195 0.115 130 ] - spose[15] [ -0.155 0.130 90 ] - - # define the field of view of each transducer [range_min range_max view_angle] - sview [0 5.0 15] - - # define the size of each transducer [xsize ysize] in meters - ssize [0.01 0.05] -) - -define pioneer2dx position -( - # actual size - size [0.44 0.38 0.22] # sizes from MobileRobots' web site - - # the pioneer's center of rotation is offset from its center of area - origin [-0.04 0 0 0] - - # draw a nose on the robot so we can see which way it points - gui_nose 1 - - # estimated mass in KG - mass 15.0 - - # use the sonar array defined above with a small vertical offset to - # drop the sensors into the robot body - - #p2dx_sonar( pose [0.04 0 -0.03 0] ) - - # differential steering model - drive "diff" - - # this polygon approximates the shape of a pioneer - blocks 1 - block[0].points 8 - block[0].point[0] [ 0.23 0.05 ] - block[0].point[1] [ 0.15 0.15 ] - block[0].point[2] [ -0.15 0.15 ] - block[0].point[3] [ -0.23 0.05 ] - block[0].point[4] [ -0.23 -0.05 ] - block[0].point[5] [ -0.15 -0.15 ] - block[0].point[6] [ 0.15 -0.15 ] - block[0].point[7] [ 0.23 -0.05 ] - block[0].z [0 0.45] -) - -# a Pioneer 2 or 3 in standard configuration -define fancypioneer2dx pioneer2dx -( - # this set of blocks approximates the shape of a real Pioneer - - # The geometry is from the Webots v5.3.0 manual. Thanks to Webots - # and Olivier Michel. If Stage or Gazebo do not do what you want, - # take a look at Webots. It's a very nice commercial simulator. - - blocks 7 - # main body - block[0].points 8 - block[0].point[7] [ -0.215 -0.1 ] - block[0].point[6] [ -0.215 0.1 ] - block[0].point[5] [ -0.185 0.135 ] - block[0].point[4] [ 0.095 0.135 ] - block[0].point[3] [ 0.11 0.08 ] - block[0].point[2] [ 0.11 -0.08 ] - block[0].point[1] [ 0.095 -0.135 ] - block[0].point[0] [ -0.185 -0.135 ] - block[0].z [ 0.059 0.234 ] - - - # sonar case - block[1].points 9 - block[1].point[0] [ -0.135 0.136 ] - block[1].point[1] [ -0.185 0.136 ] - block[1].point[2] [ -0.223 0.101 ] - block[1].point[3] [ -0.248 0.054 ] - block[1].point[4] [ -0.258 0 ] - block[1].point[5] [ -0.248 -0.054 ] - block[1].point[6] [ -0.223 -0.101 ] - block[1].point[7] [ -0.185 -0.136 ] - block[1].point[8] [ -0.135 -0.136 ] - block[1].z [ 0.184 0.234 ] - - #sonar case - block[2].points 9 - block[2].point[0] [ 0.046 -0.136 ] - block[2].point[1] [ 0.096 -0.136 ] - block[2].point[2] [ 0.134 -0.101 ] - block[2].point[3] [ 0.159 -0.054 ] - block[2].point[4] [ 0.168 0 ] - block[2].point[5] [ 0.159 0.054 ] - block[2].point[6] [ 0.134 0.101 ] - block[2].point[7] [ 0.096 0.136 ] - block[2].point[8] [ 0.046 0.136 ] - block[2].z [ 0.184 0.234 ] - - # left wheel - block[3].points 4 - block[3].point[0] [ 0.083 0.177 ] - block[3].point[1] [ -0.083 0.177 ] - block[3].point[2] [ -0.083 0.140 ] - block[3].point[3] [ 0.083 0.140 ] - block[3].z [0 0.165 ] - block[3].color "gray15" - - # right wheel - block[4].points 4 - block[4].point[0] [ 0.083 -0.14 ] - block[4].point[1] [ -0.083 -0.14 ] - block[4].point[2] [ -0.083 -0.177 ] - block[4].point[3] [ 0.083 -0.177 ] - block[4].z [ 0 0.165 ] - block[4].color "gray15" - - # castor - block[5].points 4 - block[5].point[3] [ -0.2475 0.012 ] - block[5].point[2] [ -0.1825 0.012 ] - block[5].point[1] [ -0.1825 -0.012 ] - block[5].point[0] [ -0.2475 -0.012 ] - block[5].z [ 0 0.065 ] - block[5].color "gray15" - - # lid - block[6].points 22 - block[6].point[21] [ 0.174 0 ] - block[6].point[20] [ 0.166 -0.056 ] - block[6].point[19] [ 0.145 -0.107 ] - block[6].point[18] [ 0.112 -0.155 ] - block[6].point[17] [ 0.064 -0.190 ] - block[6].point[16] [ -0.074 -0.190 ] - block[6].point[15] [ -0.096 -0.160 ] - block[6].point[14] [ -0.151 -0.160 ] - block[6].point[13] [ -0.2 -0.155 ] - block[6].point[12] [ -0.236 -0.107 ] - block[6].point[11] [ -0.256 -0.056 ] - block[6].point[10] [ -0.264 0 ] - block[6].point[9] [ -0.256 0.056 ] - block[6].point[8] [ -0.236 0.107 ] - block[6].point[7] [ -0.2 0.155 ] - block[6].point[6] [ -0.151 0.160 ] - block[6].point[5] [ -0.096 0.160 ] - block[6].point[4] [ -0.074 0.190 ] - block[6].point[3] [ 0.064 0.190 ] - block[6].point[2] [ 0.112 0.155 ] - block[6].point[1] [ 0.145 0.107 ] - block[6].point[0] [ 0.166 0.056 ] - block[6].z [ 0.234 0.24 ] - # a dark top looks more realistic, but isn't very useful - # for a top-down view - #block[6].color "gray10" -) - -# The AmigoBot sonar array -define amigo_sonar ranger -( - scount 8 - spose[0] [ 0.073 0.105 90 ] - spose[1] [ 0.130 0.078 41 ] - spose[2] [ 0.154 0.030 15 ] - spose[3] [ 0.154 -0.030 -15 ] - spose[4] [ 0.130 -0.078 -41 ] - spose[5] [ 0.073 -0.105 -90 ] - spose[6] [ -0.146 -0.060 -145 ] - spose[7] [ -0.146 0.060 145 ] -) - -define amigobot position -( - size [0.330 0.280 0.25] - origin [0 0 0 0] # what should this value be? send email to [EMAIL PROTECTED] - amigo_sonar() -) - - -# define 10 straight bumpers around the edge of the robot -# -# (these angles are correct for p2dx but the offsets are approximate - RTV) -# format: bumper[x] [x y th length radius] (zero radius gives a straight line) -# WARNING: bumpers are not currently supported by Stage>=1.5 -# define pioneer2dxbumper bumper -# ( -# bumpers10 -# bumper[0] [ 0.17 -0.22 -52 0.105 0.0 ] -# bumper[1] [ 0.24 -0.12 -19 0.105 0.0 ] -# bumper[2] [ 0.26 0.00 0 0.105 0.0 ] -# bumper[3] [ 0.24 0.12 19 0.105 0.0 ] -# bumper[4] [ 0.17 0.22 52 0.105 0.0 ] -# bumper[5] [ -0.25 0.22 128 0.105 0.0 ] -# bumper[6] [ -0.32 0.12 161 0.105 0.0 ] -# bumper[7] [ -0.34 0.00 180 0.105 0.0 ] -# bumper[8] [ -0.32 -0.12 199 0.105 0.0 ] -# bumper[9] [ -0.25 -0.22 232 0.105 0.0 ] -# ) - Deleted: code/stage/trunk/worlds/pioneerBase.inc =================================================================== --- code/stage/trunk/worlds/pioneerBase.inc 2008-07-08 03:25:55 UTC (rev 6803) +++ code/stage/trunk/worlds/pioneerBase.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -1,28 +0,0 @@ -# Common parameters to all pioneers -define pioneerBase position ( - color "red" # Default color. - - drive "diff" # Differential steering model. - - gui_nose 1 # Draw a nose on the robot so we can see which way it points - - obstacle_return 1 # Can hit things. - - laser_return 0 # Robot body seen by other lasers. If you want to model - # real pioneers with SICK lasers, where the laser is - # taller than the robot. - - ranger_return 1 # Seen by other sonar. - - blobfinder_return 1 # Seen by other blobfinders. - - fiducial_return 2 # Seen as "2" by other fiducial sensors. - -# localization "odom" # Change to "gps" to have impossibly perfect, global odometry -# odom_error [ 0.05 0.05 0.1 ] # Odometry error or slip in X, Y and Theta - # (Uniform random distribution) - localization "gps" - - localization_origin [0 0 0] # Start odometry at (0, 0, 0). - -) Deleted: code/stage/trunk/worlds/pucktarget.inc =================================================================== --- code/stage/trunk/worlds/pucktarget.inc 2008-07-08 03:25:55 UTC (rev 6803) +++ code/stage/trunk/worlds/pucktarget.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -1,29 +0,0 @@ - -define pucktarget fiducialfinder -( - range_min 0.0 - range_max 1.5 - fov 360.0 - samples 2 - size [0.25 0.25] - - color "purple" - #laser_return "bright" - - # cos(18) = 0.9510565 sin(18) = 0.309017 - # cos(54) = 0.587785 sin(54) = 0.809017 - polygons 1 - polygon[0].points 10 - polygon[0].point[0] [ 0.238 0.077 ] - polygon[0].point[1] [ 0.1 0.1 ] - polygon[0].point[2] [ 0 0.250 ] - polygon[0].point[3] [ -0.1 0.1 ] - polygon[0].point[4] [ -0.238 0.077 ] - polygon[0].point[5] [ -0.1 -0.1 ] - polygon[0].point[6] [ -0.147 -0.202 ] - polygon[0].point[7] [ 0.0 -0.1 ] - polygon[0].point[8] [ 0.147 -0.202 ] - polygon[0].point[9] [ 0.1 -0.1 ] - -) - Deleted: code/stage/trunk/worlds/sample-zoo.cfg =================================================================== --- code/stage/trunk/worlds/sample-zoo.cfg 2008-07-08 03:25:55 UTC (rev 6803) +++ code/stage/trunk/worlds/sample-zoo.cfg 2008-07-08 03:49:09 UTC (rev 6804) @@ -1,69 +0,0 @@ -# This file is a sample Player config file for use with the Zoo -# driver/plugin. - -driver -( - name "stage" - provides ["simulation:0" ] - plugin "libstageplugin" - - # load the world - worldfile "sample-zoo.world" -) - -driver -( - name "zoo" - provides [ "opaque:0" ] - #plugin "libzooplugin" - - referee "libmyref.so" - myref_message "Just a notification that MyRef is successfully loaded." - - controllerpath "/home/alem/src/playerstage-release/player-1.6.4/examples/c++" - - species ( - name "wolf" - population [ "robot1" ] - #controller ( frequency 2 command "draug" ) - #controller ( frequency 3 command "lupus" ) - controller ( - command "laserobstacleavoid" - outfilename "wolf.loa.out" - ) - ) - - species ( - name "sheep" - population [ "robot2" ] - #controller ( frequency 5 command "woolie -x 2" ) - #controller ( frequency 5 command "woolie -x 3" ) - #controller ( frequency 3 command "fuzzy" ) - controller ( - command "laserobstacleavoid" - outfilename "sheep.loa.out" - ) - ) -) - -driver -( - name "stage" - provides ["6665:position:0" "6665:laser:0" "6665:sonar:0" ] - model "robot1" -) - - -driver -( - name "stage" - provides ["6666:position:0" "6666:laser:0" "6666:sonar:0" ] - model "robot2" -) - -driver -( - name "stage" - provides [ "6667:position:0" "6667:position:1" ] - model "robotX" -) Deleted: code/stage/trunk/worlds/sample-zoo.world =================================================================== --- code/stage/trunk/worlds/sample-zoo.world 2008-07-08 03:25:55 UTC (rev 6803) +++ code/stage/trunk/worlds/sample-zoo.world 2008-07-08 03:49:09 UTC (rev 6804) @@ -1,66 +0,0 @@ - -# Desc: 1 pioneer robot with laser -# CVS: $Id: sample-zoo.world,v 1.3 2005-08-12 21:38:20 adam_lein Exp $ - -# defines Pioneer-like robots -include "pioneer.inc" - - - - - -# defines 'map' object used for floorplans -include "map.inc" - - - - - - - - - -size [16 16] - -# set the size of a pixel in meters -resolution 0.02 - -# configure the GUI window -window -( - size [ 512.000 512.000 ] - center [-0.148 0.014] - scale 0.040 -) - -# load an environment bitmap -map -( - bitmap "bitmaps/cave.png" - size [16 16] -) - -# create a robot -pioneer2dx -( - name "robot1" - color "red" - pose [-5.145 -5.689 396.691] - laser() -) - -pioneer2dx -( - name "robot2" - color "magenta" - pose [-3.559 -5.987 436.882] - laser() -) - -pioneer2dx -( - name "robotX" - color "black" - pose [-2.960 -1.680 -131.382] -) - Deleted: code/stage/trunk/worlds/sick.inc =================================================================== --- code/stage/trunk/worlds/sick.inc 2008-07-08 03:25:55 UTC (rev 6803) +++ code/stage/trunk/worlds/sick.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -1,58 +0,0 @@ - -define sicklaser laser -( - # laser-specific properties - - # factory settings for LMS200 - range_min 0.0 - range_max 8.0 - fov 180.0 - samples 361 - - #samples 90 # still useful but much faster to compute - - # generic model properties - color "blue" - size [ 0.156 0.155 0.19 ] # dimensions from LMS200 data sheet -) - -define fancysicklaser sicklaser -( - blocks 4 - - # bottom - block[0].points 4 - block[0].point[0] [ -0.02 -0.077 ] - block[0].point[1] [ 0.078 -0.077 ] - block[0].point[2] [ 0.078 0.077 ] - block[0].point[3] [ -0.02 0.077 ] - block[0].z [0 0.02 ] - - # back - block[1].points 4 - block[1].point[0] [ -0.078 -0.077 ] - block[1].point[1] [ -0.02 -0.077 ] - block[1].point[2] [ -0.02 0.077 ] - block[1].point[3] [ -0.078 0.077 ] - block[1].z [0 0.21 ] - - # top - block[2].points 4 - block[2].point[0] [ -0.02 -0.077 ] - block[2].point[1] [ 0.078 -0.077 ] - block[2].point[2] [ 0.078 0.077 ] - block[2].point[3] [ -0.02 0.077 ] - block[2].z [0.12 0.21 ] - - # laser bit - block[3].points 4 - block[3].point[0] [ -0.02 -0.05 ] - block[3].point[1] [ 0.06 -0.05 ] - block[3].point[2] [ 0.06 0.05 ] - block[3].point[3] [ -0.02 0.05 ] - block[3].z [0.02 0.12 ] - block[3].color "gray10" -) - - - Deleted: code/stage/trunk/worlds/ubot.inc =================================================================== --- code/stage/trunk/worlds/ubot.inc 2008-07-08 03:25:55 UTC (rev 6803) +++ code/stage/trunk/worlds/ubot.inc 2008-07-08 03:49:09 UTC (rev 6804) @@ -1,29 +0,0 @@ -# device definitions for the UMASS UBot - -# the ubot has an IR array -define ubot_ir reb_ir -( - add_noise 1 - # noiseparams [1.913005560938 -7.728130591833] # used to generate noise - - power_on 1 - min_range 0.10 # in meters - max_range 0.8 # in meters - - ircount 8 - irpose[0] [ 0.035 0.0 0.0 ] - irpose[1] [ 0.025 0.025 45 ] - irpose[2] [ 0.0 0.035 90 ] - irpose[3] [ -0.025 0.025 135 ] - irpose[4] [ -0.035 0.0 180 ] - irpose[5] [ -0.025 -0.025 225 ] - irpose[6] [ 0.0 -0.035 270 ] - irpose[7] [ 0.025 -0.025 315 ] -) - -define ubot reb_position -( - size [ 0.19 0.19 ] - offset [ 0.0 0.0 ] - ubot_ir() -) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------- Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 _______________________________________________ Playerstage-commit mailing list Playerstage-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/playerstage-commit