Revision: 6775 http://playerstage.svn.sourceforge.net/playerstage/?rev=6775&view=rev Author: rtv Date: 2008-07-05 20:19:58 -0700 (Sat, 05 Jul 2008)
Log Message: ----------- cleaning up worldfile loading Modified Paths: -------------- code/stage/trunk/libstage/canvas.cc code/stage/trunk/libstage/model.cc code/stage/trunk/libstage/model_load.cc code/stage/trunk/libstage/worldfile.cc code/stage/trunk/libstage/worldgui.cc code/stage/trunk/worlds/everything.world code/stage/trunk/worlds/fasr.world code/stage/trunk/worlds/map.inc code/stage/trunk/worlds/pioneer.inc code/stage/trunk/worlds/roomba.inc code/stage/trunk/worlds/sick.inc code/stage/trunk/worlds/simple.world code/stage/trunk/worlds/swarmbenchmark/cave.world Modified: code/stage/trunk/libstage/canvas.cc =================================================================== --- code/stage/trunk/libstage/canvas.cc 2008-07-05 01:33:02 UTC (rev 6774) +++ code/stage/trunk/libstage/canvas.cc 2008-07-06 03:19:58 UTC (rev 6775) @@ -157,7 +157,8 @@ glEnable(GL_BLEND); glClearColor ( 0.7, 0.7, 0.8, 1.0); - Screenshot(); + // useful for debugging the picker + //Screenshot(); return mod; } Modified: code/stage/trunk/libstage/model.cc =================================================================== --- code/stage/trunk/libstage/model.cc 2008-07-05 01:33:02 UTC (rev 6774) +++ code/stage/trunk/libstage/model.cc 2008-07-06 03:19:58 UTC (rev 6775) @@ -141,9 +141,9 @@ // static members uint32_t StgModel::count = 0; - GHashTable* StgModel::modelsbyid = g_hash_table_new( NULL, NULL ); + // constructor StgModel::StgModel( StgWorld* world, StgModel* parent, @@ -203,21 +203,20 @@ this->blob_return = DEFAULT_BLOBRETURN; this->laser_return = DEFAULT_LASERRETURN; this->gripper_return = DEFAULT_GRIPPERRETURN; + this->fiducial_return = 0; + this->fiducial_key = 0; + this->boundary = DEFAULT_BOUNDARY; this->color = DEFAULT_COLOR; this->map_resolution = DEFAULT_MAP_RESOLUTION; // meters + this->gui_nose = DEFAULT_NOSE; this->gui_grid = DEFAULT_GRID; this->gui_outline = DEFAULT_OUTLINE; this->gui_mask = this->parent ? 0 : DEFAULT_MASK; - this->fiducial_return = 0; - this->fiducial_key = 0; - this->callbacks = g_hash_table_new( g_int_hash, g_int_equal ); - this->flag_list = NULL; - this->blinkenlights = g_ptr_array_new(); bzero( &this->velocity, sizeof(velocity)); @@ -740,7 +739,8 @@ stg_pose_t gpose = GetGlobalPose(); char buf[64]; - snprintf( buf, 63, "%s [%.2f,%.2f,%.2f]", token, gpose.x, gpose.y, rtod(gpose.a) ); + snprintf( buf, 63, "%s [%.2f %.2f %.2f %.2f]", + token, gpose.x, gpose.y, gpose.z, rtod(gpose.a) ); PushColor( 0,0,0,1 ); // text color black gl_draw_string( 0.5,0.5,0.5, buf ); Modified: code/stage/trunk/libstage/model_load.cc =================================================================== --- code/stage/trunk/libstage/model_load.cc 2008-07-05 01:33:02 UTC (rev 6774) +++ code/stage/trunk/libstage/model_load.cc 2008-07-06 03:19:58 UTC (rev 6775) @@ -46,63 +46,36 @@ stg_geom_t geom = GetGeom(); geom.pose.x = wf->ReadTupleLength(wf_entity, "origin", 0, geom.pose.x ); geom.pose.y = wf->ReadTupleLength(wf_entity, "origin", 1, geom.pose.y ); - geom.pose.a = wf->ReadTupleAngle(wf_entity, "origin", 2, geom.pose.a ); + geom.pose.z = wf->ReadTupleLength(wf_entity, "origin", 2, geom.pose.z ); + geom.pose.a = wf->ReadTupleAngle(wf_entity, "origin", 3, geom.pose.a ); this->SetGeom( geom ); } - if( wf->PropertyExists( wf_entity, "origin4" ) ) - { - stg_geom_t geom = GetGeom(); - geom.pose.x = wf->ReadTupleLength(wf_entity, "origin4", 0, geom.pose.x ); - geom.pose.y = wf->ReadTupleLength(wf_entity, "origin4", 1, geom.pose.y ); - geom.pose.z = wf->ReadTupleLength(wf_entity, "origin4", 2, geom.pose.z ); - geom.pose.a = wf->ReadTupleAngle(wf_entity, "origin4", 3, geom.pose.a ); - this->SetGeom( geom ); - } - if( wf->PropertyExists( wf_entity, "size" ) ) { stg_geom_t geom = GetGeom(); geom.size.x = wf->ReadTupleLength(wf_entity, "size", 0, geom.size.x ); geom.size.y = wf->ReadTupleLength(wf_entity, "size", 1, geom.size.y ); + geom.size.z = wf->ReadTupleLength(wf_entity, "size", 2, geom.size.z ); this->SetGeom( geom ); } - if( wf->PropertyExists( wf_entity, "size3" ) ) - { - stg_geom_t geom = GetGeom(); - geom.size.x = wf->ReadTupleLength(wf_entity, "size3", 0, geom.size.x ); - geom.size.y = wf->ReadTupleLength(wf_entity, "size3", 1, geom.size.y ); - geom.size.z = wf->ReadTupleLength(wf_entity, "size3", 2, geom.size.z ); - this->SetGeom( geom ); - } - if( wf->PropertyExists( wf_entity, "pose" )) { stg_pose_t pose = GetPose(); pose.x = wf->ReadTupleLength(wf_entity, "pose", 0, pose.x ); pose.y = wf->ReadTupleLength(wf_entity, "pose", 1, pose.y ); - pose.z = 0.0; - pose.a = wf->ReadTupleAngle(wf_entity, "pose", 2, pose.a ); + pose.z = wf->ReadTupleLength(wf_entity, "pose", 2, pose.z ); + pose.a = wf->ReadTupleAngle(wf_entity, "pose", 3, pose.a ); this->SetPose( pose ); } - if( wf->PropertyExists( wf_entity, "pose4" )) - { - stg_pose_t pose = GetPose(); - pose.x = wf->ReadTupleLength(wf_entity, "pose4", 0, pose.x ); - pose.y = wf->ReadTupleLength(wf_entity, "pose4", 1, pose.y ); - pose.z = wf->ReadTupleLength(wf_entity, "pose4", 2, pose.z ); - pose.a = wf->ReadTupleAngle( wf_entity, "pose4", 3, pose.a ); - - this->SetPose( pose ); - } - if( wf->PropertyExists( wf_entity, "velocity" )) { stg_velocity_t vel = GetVelocity(); vel.x = wf->ReadTupleLength(wf_entity, "velocity", 0, vel.x ); vel.y = wf->ReadTupleLength(wf_entity, "velocity", 1, vel.y ); + vel.z = wf->ReadTupleLength(wf_entity, "velocity", 2, vel.z ); vel.a = wf->ReadTupleAngle(wf_entity, "velocity", 3, vel.a ); this->SetVelocity( vel ); @@ -110,15 +83,6 @@ world->StartUpdatingModel( this ); } - if( wf->PropertyExists( wf_entity, "velocity4" )) - { - stg_velocity_t vel = GetVelocity(); - vel.x = wf->ReadTupleLength(wf_entity, "velocity4", 0, vel.x ); - vel.y = wf->ReadTupleLength(wf_entity, "velocity4", 1, vel.y ); - vel.z = wf->ReadTupleLength(wf_entity, "velocity4", 2, vel.z ); - vel.a = wf->ReadTupleAngle(wf_entity, "velocity4", 3, vel.a ); - this->SetVelocity( vel ); - } if( wf->PropertyExists( wf_entity, "boundary" )) { @@ -376,15 +340,28 @@ this->pose.y, this->pose.a ); - // right now we only save poses - wf->WriteTupleLength( wf_entity, "pose", 0, this->pose.x); - wf->WriteTupleLength( wf_entity, "pose", 1, this->pose.y); - wf->WriteTupleAngle( wf_entity, "pose", 2, this->pose.a); + if( wf->PropertyExists( wf_entity, "pose" ) ) + { + wf->WriteTupleLength( wf_entity, "pose", 0, this->pose.x); + wf->WriteTupleLength( wf_entity, "pose", 1, this->pose.y); + wf->WriteTupleLength( wf_entity, "pose", 2, this->pose.z); + wf->WriteTupleAngle( wf_entity, "pose", 3, this->pose.a); + } + + if( wf->PropertyExists( wf_entity, "size" ) ) + { + wf->WriteTupleLength( wf_entity, "size", 0, this->geom.size.x); + wf->WriteTupleLength( wf_entity, "size", 1, this->geom.size.y); + wf->WriteTupleLength( wf_entity, "size", 2, this->geom.size.z); + } - wf->WriteTupleLength( wf_entity, "pose4", 0, this->pose.x); - wf->WriteTupleLength( wf_entity, "pose4", 1, this->pose.y); - wf->WriteTupleLength( wf_entity, "pose4", 2, this->pose.z); - wf->WriteTupleAngle( wf_entity, "pose4", 3, this->pose.a); + if( wf->PropertyExists( wf_entity, "origin" ) ) + { + wf->WriteTupleLength( wf_entity, "origin", 0, this->geom.pose.x); + wf->WriteTupleLength( wf_entity, "origin", 1, this->geom.pose.y); + wf->WriteTupleLength( wf_entity, "origin", 2, this->geom.pose.z); + wf->WriteTupleAngle( wf_entity, "origin", 3, this->geom.pose.a); + } // call any type-specific save callbacks this->CallCallbacks( &this->save_hook ); Modified: code/stage/trunk/libstage/worldfile.cc =================================================================== --- code/stage/trunk/libstage/worldfile.cc 2008-07-05 01:33:02 UTC (rev 6774) +++ code/stage/trunk/libstage/worldfile.cc 2008-07-06 03:19:58 UTC (rev 6775) @@ -1500,9 +1500,15 @@ // Write a float void Worldfile::WriteFloat(int entity, const char *name, double value) { - char default_str[64]; - snprintf(default_str, sizeof(default_str), "%.3f", value); - WriteString(entity, name, default_str); + if( fabs(value) < 0.001 ) // nearly 0 + WriteString(entity, name, "0" ); // compact zeros make the file + // more readable + else + { + char default_str[64]; + snprintf(default_str, sizeof(default_str), "%.3f", value); + WriteString(entity, name, default_str); + } } @@ -1531,9 +1537,17 @@ // Write a length (includes units conversion) void Worldfile::WriteLength(int entity, const char *name, double value) { - char default_str[64]; - snprintf(default_str, sizeof(default_str), "%.3f", value / this->unit_length); - WriteString(entity, name, default_str); + value /= this->unit_length; + + if( fabs(value) < 0.001 ) // nearly 0 + WriteString(entity, name, "0" ); // compact zeros make the file + // more readable + else + { + char default_str[64]; + snprintf(default_str, sizeof(default_str), "%.3f", value ); + WriteString(entity, name, default_str); + } } @@ -1687,9 +1701,14 @@ void Worldfile::WriteTupleFloat(int entity, const char *name, int index, double value) { - char default_str[64]; - snprintf(default_str, sizeof(default_str), "%.3f", value); - WriteTupleString(entity, name, index, default_str); + if( fabs(value) < 0.001 ) // nearly 0 + WriteTupleString(entity, name, index, "0" ); + else + { + char default_str[64]; + snprintf(default_str, sizeof(default_str), "%.3f", value); + WriteTupleString(entity, name, index, default_str); + } } @@ -1710,12 +1729,18 @@ void Worldfile::WriteTupleLength(int entity, const char *name, int index, double value) { - char default_str[64]; - snprintf(default_str, sizeof(default_str), "%.3f", value / this->unit_length); - WriteTupleString(entity, name, index, default_str); + value /= this->unit_length; + + if( fabs(value) < 0.001 ) // nearly 0 + WriteTupleString(entity, name, index, "0" ); + else + { + char default_str[64]; + snprintf(default_str, sizeof(default_str), "%.3f", value ); + WriteTupleString(entity, name, index, default_str); + } } - /////////////////////////////////////////////////////////////////////////// // Read an angle from a tuple (includes unit conversion) double Worldfile::ReadTupleAngle(int entity, const char *name, @@ -1733,9 +1758,16 @@ void Worldfile::WriteTupleAngle(int entity, const char *name, int index, double value) { - char default_str[64]; - snprintf(default_str, sizeof(default_str), "%.3f", value / this->unit_angle); - WriteTupleString(entity, name, index, default_str); + value /= this->unit_angle; + + if( fabs(value) < 0.001 ) // nearly 0 + WriteTupleString(entity, name, index, "0" ); + else + { + char default_str[64]; + snprintf(default_str, sizeof(default_str), "%.3f", value ); + WriteTupleString(entity, name, index, default_str); + } } Modified: code/stage/trunk/libstage/worldgui.cc =================================================================== --- code/stage/trunk/libstage/worldgui.cc 2008-07-05 01:33:02 UTC (rev 6774) +++ code/stage/trunk/libstage/worldgui.cc 2008-07-06 03:19:58 UTC (rev 6775) @@ -324,7 +324,7 @@ if( paused == true ) - status_stream << " --PAUSED--"; + status_stream << " [ PAUSED ]"; return status_stream.str(); Modified: code/stage/trunk/worlds/everything.world =================================================================== --- code/stage/trunk/worlds/everything.world 2008-07-05 01:33:02 UTC (rev 6774) +++ code/stage/trunk/worlds/everything.world 2008-07-06 03:19:58 UTC (rev 6775) @@ -13,7 +13,6 @@ include "map.inc" include "sick.inc" - gui_disable 0 window( @@ -26,9 +25,9 @@ bitmap "bitmaps/hospital_section.png" #bitmap "bitmaps/hospital.png" map_resolution 0.02 - size3d [40 18 0.5] + size [40 18 0.6] - #size [160 60] + #size [160 60 0.6] name "hospital" color "gray50" gui_outline 1 @@ -37,7 +36,7 @@ # a block for gripping define puck model( - size [ 0.08 0.08 ] + size [ 0.08 0.08 0.1 ] gripper_return 1 gui_movemask 3 gui_nose 0 @@ -45,23 +44,18 @@ ) -puck( pose [-9.114 2.467 -105.501 ] color "red" ) -puck( pose [-9.045 2.624 -37.717 ] color "purple" ) -puck( pose [-8.959 2.752 -101.643 ] color "orange" ) +puck( pose [-9.114 2.467 0 -105.501 ] color "red" ) +puck( pose [-9.045 2.624 0 -37.717 ] color "purple" ) +puck( pose [-8.959 2.752 0 -101.643 ] color "orange" ) -ranger( alwayson 1 ) - - sicklaser( pose [0.030 0.000 0.000 ] alwayson 1 ) - - # extend the pioneer2dx definition from pioneer.inc # define trickedoutpioneer pioneer2dx ( ranger( alwayson 1 ) - sicklaser( pose [0.030 0.000 0.000 ] alwayson 1 ) + sicklaser( pose [0.030 0.000 0 0.000 ] alwayson 1 ) fiducial( range_max 8 range_max_id 5 ) @@ -84,9 +78,9 @@ trickedoutpioneer ( name "robot1" - pose [-10.071 3.186 -2.333] + pose [-10.071 3.186 0 -2.333] - #gripper( pose [0.23 0.000 0.000] color "gray" ) + #gripper( pose [0.23 0.000 0 0.000] color "gray" ) #speech() ) @@ -105,42 +99,42 @@ fiducial_return 18 color "blue" name "p2" - pose [-6.009 2.481 165.780] + pose [-6.009 2.481 0 165.780] ) trickedoutpioneer ( color "green" name "p3" - pose [-6.492 2.156 160.219] + pose [-6.492 2.156 0 160.219] ) trickedoutpioneer ( color "cyan" name "p4" - pose [-7.641 3.989 -127.216] + pose [-7.641 3.989 0 -127.216] ) trickedoutpioneer ( color "yellow" name "p5" - pose [-6.759 3.634 -110.414] + pose [-6.759 3.634 0 -110.414] ) trickedoutpioneer ( color "magenta" name "p6" - pose [-6.232 3.440 -135.449] + pose [-6.232 3.440 0 -135.449] ) # a silly object to look at define silly position ( - size3d [0.3 0.3 0.5] + size [1 1 0.5] fiducial_return 22 laser_return 2 gui_outline 1 @@ -150,7 +144,7 @@ silly( name "invader" - pose3d [-6.754 0.791 0.3 0] + pose [-6.754 0.791 0 0] color "green" bitmap "bitmaps/space_invader.png" ) @@ -158,12 +152,12 @@ silly( name "ghost" - pose3d [-6.060 0.794 0.6 0] + pose [-6.060 0.794 0 0] color "blue" bitmap "bitmaps/ghost.png" ) roomba( name "roomba1" - pose [-9.000 0.500 0.000] + pose [-9.000 0.500 0 0.000] ) Modified: code/stage/trunk/worlds/fasr.world =================================================================== --- code/stage/trunk/worlds/fasr.world 2008-07-05 01:33:02 UTC (rev 6774) +++ code/stage/trunk/worlds/fasr.world 2008-07-06 03:19:58 UTC (rev 6775) @@ -21,9 +21,9 @@ # configure the GUI window window ( - size [ 833.000 605.000 ] - center [0.000 0.000] - rotate [ -45.500 4.000 ] + size [ 601.000 605.000 ] + center [ 0 0 ] + rotate [ 0 0 ] scale 32.344 show_data 0 @@ -34,15 +34,15 @@ floorplan ( name "cave" - size3 [16 16 0.6] - pose [0.000 0.000 0.000] + size [16.000 16.000 0.600] + pose [0 0 0 0] bitmap "bitmaps/cave.png" ) zone ( color "green" - pose [ -7.000 -7.000 0.000 ] + pose [ -7.000 -7.000 0 0 ] name "source" ctrl "source" ) @@ -50,43 +50,39 @@ zone ( color "red" - pose [ 7.000 7.000 0.000 ] + pose [ 7.000 7.000 0 0 ] name "sink" ctrl "sink" ) define autorob pioneer2dx ( - color "red" - - sicklaser( pose [ 0.040 0.000 0.000 ] samples 30 range_max 5 laser_return 2 - - camera( pose [ 0.000 0.000 0.000 ] width 100 height 100 horizfov 70 vertfov 40 yaw 0 ) - ) + sicklaser( pose [ 0.040 0 0.220 0 ] samples 30 range_max 5 laser_return 2 ) ctrl "fasr" -# say "Autolab" + #camera( pose [ 0 0 0 0 ] width 100 height 100 horizfov 70 vertfov 40 yaw 0 ) + #say "Autolab" ) -autorob( pose [3.273 4.908 1.930] ) -#autorob( pose [6.635 6.458 -52.629] ) -#autorob( pose [6.385 5.805 -87.082] ) -#autorob( pose [7.004 5.327 170.536] ) -#autorob( pose [5.770 6.492 -10.539] ) -#autorob( pose [7.493 4.852 -156.719] ) -#autorob( pose [5.078 6.853 -37.549] ) -#autorob( pose [6.147 7.399 4.964] ) -#autorob( pose [4.058 5.283 125.796] ) -#autorob( pose [7.487 6.926 -40.634] ) +autorob( pose [3.273 4.908 0 1.930] ) +autorob( pose [6.635 6.458 0 -52.629] ) +autorob( pose [6.385 5.805 0 -87.082] ) +autorob( pose [7.004 5.327 0 170.536] ) +autorob( pose [5.770 6.492 0 -10.539] ) +autorob( pose [7.493 4.852 0 -156.719] ) +autorob( pose [5.078 6.853 0 -37.549] ) +autorob( pose [6.147 7.399 0 4.964] ) +autorob( pose [4.058 5.283 0 125.796] ) +autorob( pose [7.487 6.926 0 -40.634] ) -#autorob( pose [4.530 7.367 -113.456] ) -#autorob( pose [6.071 5.138 -1.177] ) -#autorob( pose [6.591 4.622 -68.007] ) -#autorob( pose [5.454 7.540 135.162] ) -#autorob( pose [4.707 5.855 -3.588] ) -#autorob( pose [6.714 7.447 -73.332] ) -#autorob( pose [5.582 5.724 -48.161] ) -#autorob( pose [3.958 6.851 -102.651] ) -#autorob( pose [5.127 5.109 23.582] ) -#autorob( pose [7.534 5.825 -70.230] ) +autorob( pose [4.530 7.367 0 -113.456] ) +autorob( pose [6.071 5.138 0 -1.177] ) +autorob( pose [6.591 4.622 0 -68.007] ) +autorob( pose [5.454 7.540 0 135.162] ) +autorob( pose [4.707 5.855 0 -3.588] ) +autorob( pose [6.714 7.447 0 -73.332] ) +autorob( pose [5.582 5.724 0 -48.161] ) +autorob( pose [3.958 6.851 0 -102.651] ) +autorob( pose [5.127 5.109 0 23.582] ) +autorob( pose [7.534 5.825 0 -70.230] ) Modified: code/stage/trunk/worlds/map.inc =================================================================== --- code/stage/trunk/worlds/map.inc 2008-07-05 01:33:02 UTC (rev 6774) +++ code/stage/trunk/worlds/map.inc 2008-07-06 03:19:58 UTC (rev 6775) @@ -1,6 +1,6 @@ # map.inc - useful setup for a floorplan bitmap # Authors: Richard Vaughan -# $id$ +# $Id$ define floorplan model ( @@ -22,7 +22,7 @@ define zone model ( color "orange" - size3 [ 2 2 0.02 ] + size [ 2 2 0.02 ] obstacle_return 0 laser_return 0 ranger_return 0 Modified: code/stage/trunk/worlds/pioneer.inc =================================================================== --- code/stage/trunk/worlds/pioneer.inc 2008-07-05 01:33:02 UTC (rev 6774) +++ code/stage/trunk/worlds/pioneer.inc 2008-07-06 03:19:58 UTC (rev 6775) @@ -37,10 +37,10 @@ define pioneer2dx position ( # actual size - size3 [0.44 0.38 0.22] # sizes from MobileRobots' web site + 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 - origin3 [-0.04 0 0 0] + origin [-0.04 0 0 0] # draw a nose on the robot so we can see which way it points gui_nose 1 @@ -51,7 +51,7 @@ # use the sonar array defined above with a small vertical offset to # drop the sensors into the robot body - #p2dx_sonar( pose4 [0.04 0 -0.03 0] ) + #p2dx_sonar( pose [0.04 0 -0.03 0] ) # differential steering model drive "diff" @@ -192,7 +192,7 @@ define amigobot position ( - size [.330 .280 0.25] + size [0.330 0.280 0.25] origin [0 0 0 0] # what should this value be? send email to [EMAIL PROTECTED] amigo_sonar() ) Modified: code/stage/trunk/worlds/roomba.inc =================================================================== --- code/stage/trunk/worlds/roomba.inc 2008-07-05 01:33:02 UTC (rev 6774) +++ code/stage/trunk/worlds/roomba.inc 2008-07-06 03:19:58 UTC (rev 6775) @@ -1,7 +1,7 @@ define roomba position ( - size [0.33 0.33] + size [0.33 0.33 0.1] # this polygon approximates the circular shape of a Roomba polygons 1 @@ -29,4 +29,6 @@ # bpose[0] [0.12 0.12 45] # bpose[1] [0.12 -0.12 -45] # ) + + color "gray90" ) Modified: code/stage/trunk/worlds/sick.inc =================================================================== --- code/stage/trunk/worlds/sick.inc 2008-07-05 01:33:02 UTC (rev 6774) +++ code/stage/trunk/worlds/sick.inc 2008-07-06 03:19:58 UTC (rev 6775) @@ -13,8 +13,7 @@ # generic model properties color "blue" - size3 [ 0.156 0.155 0.19 ] # dimensions from LMS200 data sheet - pose [ 0 0 0 ] + size [ 0.156 0.155 0.19 ] # dimensions from LMS200 data sheet ) define fancysicklaser sicklaser Modified: code/stage/trunk/worlds/simple.world =================================================================== --- code/stage/trunk/worlds/simple.world 2008-07-05 01:33:02 UTC (rev 6774) +++ code/stage/trunk/worlds/simple.world 2008-07-06 03:19:58 UTC (rev 6775) @@ -28,14 +28,14 @@ floorplan ( name "cave" - size3 [16 16 1.5] + size [16 16 1.5] bitmap "bitmaps/cave.png" ) pioneer2dx ( - pose [ -6.5 -6.5 45 ] - sicklaser( )#pose [ 0.040 0.000 0.000 ] ) + pose [ -6.5 -6.5 0 45 ] + sicklaser( pose [ 0.04 0 0 0 ] ) # can refer to the robot by this name name "r0" Modified: code/stage/trunk/worlds/swarmbenchmark/cave.world =================================================================== --- code/stage/trunk/worlds/swarmbenchmark/cave.world 2008-07-05 01:33:02 UTC (rev 6774) +++ code/stage/trunk/worlds/swarmbenchmark/cave.world 2008-07-06 03:19:58 UTC (rev 6775) @@ -16,7 +16,7 @@ ( size [ 701.000 694.000 ] center [0.068 -0.129] - rotate [ 0.000 0.000 ] + rotate [ 0 0 ] scale 38.592 interval 10 ) @@ -24,8 +24,8 @@ floorplan ( name "cave" - size3 [16 16 1.5] - pose [0.000 0.000 0.000] + size [16.000 16.000 1.500] + pose [0 0 0 0] bitmap "../bitmaps/cave.png" ) @@ -37,7 +37,7 @@ # alternative laser with more complex polygons # fancysicklaser( pose [ 0.040 0.000 0.000 ] samples 180 ) - ranger( pose4 [ 0 0 -0.05 0 ] ) + ranger( pose [ 0 0 0.170 0 ] ) ctrl "expand" ) @@ -54,114 +54,114 @@ define goldrob rob( color "gold" ) define darkredrob rob( color "DarkRed" ) -redrob( pose [-5.285 4.915 150.459] ) -redrob( pose [-4.432 5.655 -85.494] ) -redrob( pose [-5.518 4.157 -10.236] ) -redrob( pose [-6.007 5.008 144.441] ) -redrob( pose [-5.599 3.365 -172.038] ) -redrob( pose [-6.852 3.655 4.679] ) -redrob( pose [-7.483 4.049 -12.199] ) -redrob( pose [-4.393 4.938 114.269] ) -redrob( pose [-6.277 4.252 -97.494] ) -redrob( pose [-5.202 5.566 -89.743] ) +redrob( pose [-5.285 4.915 0 150.459] ) +redrob( pose [-4.432 5.655 0 -85.494] ) +redrob( pose [-5.518 4.157 0 -10.236] ) +redrob( pose [-6.007 5.008 0 144.441] ) +redrob( pose [-5.599 3.365 0 -172.038] ) +redrob( pose [-6.852 3.655 0 4.679] ) +redrob( pose [-7.483 4.049 0 -12.199] ) +redrob( pose [-4.393 4.938 0 114.269] ) +redrob( pose [-6.277 4.252 0 -97.494] ) +redrob( pose [-5.202 5.566 0 -89.743] ) -bluerob( pose [-7.014 6.409 -103.088] ) -bluerob( pose [-6.139 5.649 -29.509] ) -bluerob( pose [-6.315 6.277 -35.740] ) -bluerob( pose [-7.527 6.162 -18.380] ) -bluerob( pose [-6.897 5.544 -2.394] ) -bluerob( pose [-7.535 6.860 11.282] ) -bluerob( pose [-7.332 5.061 -0.348] ) -bluerob( pose [-6.810 4.727 -41.884] ) -bluerob( pose [-7.415 7.485 -14.803] ) -bluerob( pose [-6.722 7.120 -70.950] ) +bluerob( pose [-7.014 6.409 0 -103.088] ) +bluerob( pose [-6.139 5.649 0 -29.509] ) +bluerob( pose [-6.315 6.277 0 -35.740] ) +bluerob( pose [-7.527 6.162 0 -18.380] ) +bluerob( pose [-6.897 5.544 0 -2.394] ) +bluerob( pose [-7.535 6.860 0 11.282] ) +bluerob( pose [-7.332 5.061 0 -0.348] ) +bluerob( pose [-6.810 4.727 0 -41.884] ) +bluerob( pose [-7.415 7.485 0 -14.803] ) +bluerob( pose [-6.722 7.120 0 -70.950] ) -greenrob( pose [-2.686 6.660 -20.602] ) -greenrob( pose [-3.274 5.174 63.058] ) -greenrob( pose [-2.477 6.075 -93.720] ) -greenrob( pose [-3.473 5.829 -57.467] ) -greenrob( pose [-2.462 7.492 -65.482] ) -greenrob( pose [-1.836 6.835 -59.739] ) -greenrob( pose [-1.654 6.043 -171.672] ) -greenrob( pose [-0.519 7.392 -67.052] ) -greenrob( pose [-0.563 6.815 -106.072] ) -greenrob( pose [-1.404 7.436 -110.338] ) +greenrob( pose [-2.686 6.660 0 -20.602] ) +greenrob( pose [-3.274 5.174 0 63.058] ) +greenrob( pose [-2.477 6.075 0 -93.720] ) +greenrob( pose [-3.473 5.829 0 -57.467] ) +greenrob( pose [-2.462 7.492 0 -65.482] ) +greenrob( pose [-1.836 6.835 0 -59.739] ) +greenrob( pose [-1.654 6.043 0 -171.672] ) +greenrob( pose [-0.519 7.392 0 -67.052] ) +greenrob( pose [-0.563 6.815 0 -106.072] ) +greenrob( pose [-1.404 7.436 0 -110.338] ) -magentarob( pose [1.731 7.249 -92.107] ) -magentarob( pose [2.586 6.521 -100.329] ) -magentarob( pose [3.001 5.447 -46.977] ) -magentarob( pose [3.611 7.214 -116.841] ) -magentarob( pose [2.625 7.473 -48.982] ) -magentarob( pose [3.660 6.559 -74.307] ) -magentarob( pose [3.434 5.808 -83.857] ) -magentarob( pose [0.624 7.277 -40.753] ) -magentarob( pose [2.017 6.083 -52.575] ) -magentarob( pose [0.561 6.752 4.367] ) +magentarob( pose [1.731 7.249 0 -92.107] ) +magentarob( pose [2.586 6.521 0 -100.329] ) +magentarob( pose [3.001 5.447 0 -46.977] ) +magentarob( pose [3.611 7.214 0 -116.841] ) +magentarob( pose [2.625 7.473 0 -48.982] ) +magentarob( pose [3.660 6.559 0 -74.307] ) +magentarob( pose [3.434 5.808 0 -83.857] ) +magentarob( pose [0.624 7.277 0 -40.753] ) +magentarob( pose [2.017 6.083 0 -52.575] ) +magentarob( pose [0.561 6.752 0 4.367] ) -yellowrob( pose [-7.548 3.117 12.515] ) -yellowrob( pose [-6.811 2.501 83.166] ) -yellowrob( pose [-7.475 2.119 -0.137] ) -yellowrob( pose [-7.052 1.708 -48.147] ) -yellowrob( pose [-6.352 3.226 -146.472] ) -yellowrob( pose [-6.323 1.862 -155.344] ) -yellowrob( pose [-5.966 2.552 -75.391] ) -yellowrob( pose [-5.358 1.495 -128.137] ) -yellowrob( pose [-5.279 2.419 32.326] ) -yellowrob( pose [-4.698 1.671 -113.009] ) +yellowrob( pose [-7.548 3.117 0 12.515] ) +yellowrob( pose [-6.811 2.501 0 83.166] ) +yellowrob( pose [-7.475 2.119 0 -0.137] ) +yellowrob( pose [-7.052 1.708 0 -48.147] ) +yellowrob( pose [-6.352 3.226 0 -146.472] ) +yellowrob( pose [-6.323 1.862 0 -155.344] ) +yellowrob( pose [-5.966 2.552 0 -75.391] ) +yellowrob( pose [-5.358 1.495 0 -128.137] ) +yellowrob( pose [-5.279 2.419 0 32.326] ) +yellowrob( pose [-4.698 1.671 0 -113.009] ) -goldrob( pose [5.834 7.276 -74.706] ) -goldrob( pose [7.335 7.494 -146.899] ) -goldrob( pose [6.407 5.942 -91.539] ) -goldrob( pose [7.258 6.175 -116.576] ) -goldrob( pose [5.541 6.778 -92.857] ) -goldrob( pose [6.564 6.902 -120.722] ) -goldrob( pose [4.799 7.285 -75.638] ) -goldrob( pose [5.271 6.005 -74.373] ) -goldrob( pose [4.769 6.595 -86.730] ) -goldrob( pose [4.340 5.941 -65.977] ) +goldrob( pose [5.834 7.276 0 -74.706] ) +goldrob( pose [7.335 7.494 0 -146.899] ) +goldrob( pose [6.407 5.942 0 -91.539] ) +goldrob( pose [7.258 6.175 0 -116.576] ) +goldrob( pose [5.541 6.778 0 -92.857] ) +goldrob( pose [6.564 6.902 0 -120.722] ) +goldrob( pose [4.799 7.285 0 -75.638] ) +goldrob( pose [5.271 6.005 0 -74.373] ) +goldrob( pose [4.769 6.595 0 -86.730] ) +goldrob( pose [4.340 5.941 0 -65.977] ) -darkredrob( pose [-7.630 0.425 -15.747] ) -darkredrob( pose [-7.571 1.112 1.397] ) -darkredrob( pose [-6.158 1.168 32.866] ) -darkredrob( pose [-4.509 0.635 4.689] ) -darkredrob( pose [-7.549 -0.241 1.423] ) -darkredrob( pose [-6.728 0.180 -22.542] ) -darkredrob( pose [-6.824 0.826 -11.285] ) -darkredrob( pose [-6.015 0.257 -2.367] ) -darkredrob( pose [-5.195 0.771 -64.592] ) -darkredrob( pose [-5.483 -0.245 70.044] ) +darkredrob( pose [-7.630 0.425 0 -15.747] ) +darkredrob( pose [-7.571 1.112 0 1.397] ) +darkredrob( pose [-6.158 1.168 0 32.866] ) +darkredrob( pose [-4.509 0.635 0 4.689] ) +darkredrob( pose [-7.549 -0.240 0 1.000 1.423] ) +darkredrob( pose [-6.728 0.180 0 -22.542] ) +darkredrob( pose [-6.824 0.826 0 -11.285] ) +darkredrob( pose [-6.015 0.257 0 -2.367] ) +darkredrob( pose [-5.195 0.771 0 -64.592] ) +darkredrob( pose [-5.483 -0.245 0 70.044] ) -cyanrob( pose [-2.544 4.684 -134.461] ) -cyanrob( pose [-0.366 3.260 -44.509] ) -cyanrob( pose [-1.760 4.277 -118.276] ) -cyanrob( pose [-2.211 5.401 -160.089] ) -cyanrob( pose [-2.281 3.871 17.255] ) -cyanrob( pose [-1.440 3.502 -67.215] ) -cyanrob( pose [-2.532 2.902 -6.938] ) -cyanrob( pose [-1.919 2.877 -13.437] ) -cyanrob( pose [-1.725 1.970 -17.763] ) -cyanrob( pose [-1.483 5.050 8.818] ) +cyanrob( pose [-2.544 4.684 0 -134.461] ) +cyanrob( pose [-0.366 3.260 0 -44.509] ) +cyanrob( pose [-1.760 4.277 0 -118.276] ) +cyanrob( pose [-2.211 5.401 0 -160.089] ) +cyanrob( pose [-2.281 3.871 0 17.255] ) +cyanrob( pose [-1.440 3.502 0 -67.215] ) +cyanrob( pose [-2.532 2.902 0 -6.938] ) +cyanrob( pose [-1.919 2.877 0 -13.437] ) +cyanrob( pose [-1.725 1.970 0 -17.763] ) +cyanrob( pose [-1.483 5.050 0 8.818] ) -orangerob( pose [-7.652 -2.012 -0.754] ) -orangerob( pose [-6.934 -2.155 -40.701] ) -orangerob( pose [-6.798 -1.520 -93.732] ) -orangerob( pose [-7.525 -0.994 -9.450] ) -orangerob( pose [-6.679 -0.670 -70.140] ) -orangerob( pose [-7.611 -3.107 -51.626] ) -orangerob( pose [-6.656 -3.665 -70.493] ) -orangerob( pose [-6.139 -3.326 -90.309] ) -orangerob( pose [-6.163 -1.853 -115.649] ) -orangerob( pose [-6.026 -0.817 -11.811] ) +orangerob( pose [-7.652 -2.012 0 -0.754] ) +orangerob( pose [-6.934 -2.155 0 -40.701] ) +orangerob( pose [-6.798 -1.520 0 -93.732] ) +orangerob( pose [-7.525 -0.994 0 -9.450] ) +orangerob( pose [-6.679 -0.670 0 -70.140] ) +orangerob( pose [-7.611 -3.107 0 -51.626] ) +orangerob( pose [-6.656 -3.665 0 -70.493] ) +orangerob( pose [-6.139 -3.326 0 -90.309] ) +orangerob( pose [-6.163 -1.853 0 -115.649] ) +orangerob( pose [-6.026 -0.817 0 -11.811] ) -purplerob( pose [-3.863 1.615 -84.575] ) -purplerob( pose [-2.826 1.856 -44.148] ) -purplerob( pose [-3.889 1.094 -50.194] ) -purplerob( pose [-3.124 1.034 -72.759] ) -purplerob( pose [-3.878 0.244 -74.604] ) -purplerob( pose [-2.846 0.345 -36.704] ) -purplerob( pose [-3.651 -0.504 -8.212] ) -purplerob( pose [-2.736 -0.851 -45.703] ) -purplerob( pose [-2.477 1.234 -50.431] ) -purplerob( pose [-4.471 -0.104 26.367] ) +purplerob( pose [-3.863 1.615 0 -84.575] ) +purplerob( pose [-2.826 1.856 0 -44.148] ) +purplerob( pose [-3.889 1.094 0 -50.194] ) +purplerob( pose [-3.124 1.034 0 -72.759] ) +purplerob( pose [-3.878 0.244 0 -74.604] ) +purplerob( pose [-2.846 0.345 0 -36.704] ) +purplerob( pose [-3.651 -0.504 0 -8.212] ) +purplerob( pose [-2.736 -0.851 0 -45.703] ) +purplerob( pose [-2.477 1.234 0 -50.431] ) +purplerob( pose [-4.471 -0.104 0 26.367] ) 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