Revision: 6819
          http://playerstage.svn.sourceforge.net/playerstage/?rev=6819&view=rev
Author:   rtv
Date:     2008-07-08 12:05:52 -0700 (Tue, 08 Jul 2008)

Log Message:
-----------
preparing tests

Modified Paths:
--------------
    code/stage/trunk/libstage/CMakeLists.txt
    code/stage/trunk/libstage/stage.hh
    code/stage/trunk/libstage/test.cc
    code/stage/trunk/worlds/fasr.world

Removed Paths:
-------------
    code/stage/trunk/libstage/stest.cc

Modified: code/stage/trunk/libstage/CMakeLists.txt
===================================================================
--- code/stage/trunk/libstage/CMakeLists.txt    2008-07-08 18:28:03 UTC (rev 
6818)
+++ code/stage/trunk/libstage/CMakeLists.txt    2008-07-08 19:05:52 UTC (rev 
6819)
@@ -61,15 +61,11 @@
                       OUTPUT_NAME stage 
 )
 
-target_link_libraries( stagebinary
-                      stage
-) 
+target_link_libraries( stagebinary stage ) 
 
-add_executable( test test.cc )
-target_link_libraries( test stage )
+add_executable( stagetest test.cc )
+target_link_libraries( stagetest stage )
 
-add_executable( stest stest.cc )
-target_link_libraries( stest stage )
 
 INSTALL(TARGETS stagebinary stage
        RUNTIME DESTINATION bin 
@@ -79,4 +75,4 @@
 INSTALL(FILES stage.hh option.hh worldfile.hh
         DESTINATION include/${PROJECT_NAME}-${V_MAJOR}.${V_MINOR})
 
-ADD_TEST( test1 ${EXECUTABLE_OUTPUT_PATH}stage ../worlds/fasr.world)
+ADD_TEST( test1 ${EXECUTABLE_OUTPUT_PATH}stagetest )

Modified: code/stage/trunk/libstage/stage.hh
===================================================================
--- code/stage/trunk/libstage/stage.hh  2008-07-08 18:28:03 UTC (rev 6818)
+++ code/stage/trunk/libstage/stage.hh  2008-07-08 19:05:52 UTC (rev 6819)
@@ -37,14 +37,7 @@
   library
  */
 
-/**
-  \defgroup libstage libstage: the Stage Robot Simulation Library
 
-  Here is where I describe libstage for the developer.
-
- */
-/[EMAIL PROTECTED]/
-
 #include <unistd.h>
 #include <stdint.h> // for portable int types eg. uint32_t
 #include <assert.h>
@@ -2620,6 +2613,4 @@
 
 }; // end namespace stg
 
-/[EMAIL PROTECTED]/
-
 #endif

Deleted: code/stage/trunk/libstage/stest.cc
===================================================================
--- code/stage/trunk/libstage/stest.cc  2008-07-08 18:28:03 UTC (rev 6818)
+++ code/stage/trunk/libstage/stest.cc  2008-07-08 19:05:52 UTC (rev 6819)
@@ -1,161 +0,0 @@
-/////////////////////////////////
-// File: stest.c
-// Desc: Stage library test program
-// Created: 2004.9.15
-// Author: Richard Vaughan <[EMAIL PROTECTED]>
-// CVS: $Id: stest.cc,v 1.3 2008-02-01 03:11:02 rtv Exp $
-// License: GPL
-/////////////////////////////////
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "stage.hh"
-using namespace Stg;
-
-//#include "config.h"
-
-double minfrontdistance = 0.750;
-double speed = 0.400;
-double turnrate = M_PI/3.0;
-
-typedef struct
-{
-       StgModelLaser* laser;
-       StgModelPosition* position;
-       StgModelRanger* ranger;
-  //StgModelFiducial* fiducial;
-  //StgModelBlobfinder* blobfinder;
-} robot_t;
-
-#define VSPEED 0.4 // meters per second
-#define WGAIN 1.0 // turn speed gain
-#define SAFE_DIST 0/8 // meters
-#define SAFE_ANGLE 0.3 // radians
-
-int main( int argc, char* argv[] )
-{ 
-       //printf( "%s %s benchmarker\n", PACKAGE, VERSION );
-
-       if( argc < 3 )
-       {
-               puts( "Usage: stest <worldfile> <number of robots>" );
-               exit(0);
-       }
-
-       const int POPSIZE = atoi(argv[2] );
-
-       // initialize libstage
-       Stg::Init( &argc, &argv );
-       //StgWorld world;
-       StgWorldGui world(800, 700, "Stage Benchmark Program");
-
-       world.Load( argv[1] );
-
-       char namebuf[256];
-       robot_t* robots = new robot_t[POPSIZE];
-
-       for( int i=0; i<POPSIZE; i++ )
-       {
-               const char* base = "r";
-               sprintf( namebuf, "%s%d", base, i );
-               robots[i].position = (StgModelPosition*)world.GetModel( namebuf 
);
-               assert(robots[i].position);
-               robots[i].position->Subscribe();
-
-       //      robots[i].laser = (StgModelLaser*)
-//             robots[i].position->GetUnsubscribedModelOfType( 
MODEL_TYPE_LASER );      
-//             assert(robots[i].laser);
-               //robots[i].laser->Subscribe();
-
-               //        robots[i].fiducial = (StgModelFiducial*)
-               //       robots[i].position->GetUnsubscribedModelOfType( 
"fiducial" );   
-               //        assert(robots[i].fiducial);
-               //        robots[i].fiducial->Subscribe();
-
-               robots[i].ranger = (StgModelRanger*)
-                       robots[i].position->GetUnsubscribedModelOfType( 
MODEL_TYPE_RANGER );
-               assert(robots[i].ranger);
-               robots[i].ranger->Subscribe();
-
-               //        robots[i].blobfinder = (StgModelBlobfinder*)
-               //       robots[i].position->GetUnsubscribedModelOfType( 
"blobfinder" );
-               //        assert(robots[i].blobfinder);
-               //        robots[i].blobfinder->Subscribe();
-       }
-
-       // start the clock
-       //world.Start();readltime       //puts( "done" );
-
-       while( 1 )
-               if( world.Update() )
-                       //   if( world.Update() )
-                       for( int i=0; i<POPSIZE; i++ )
-                       {
-
-                               //continue;
-
-                               StgModelRanger* rgr = robots[i].ranger;
-
-                               if( rgr->samples == NULL )
-                                       continue;
-
-                               // compute the vector sum of the sonar ranges   
      
-                               double dx=0, dy=0;
-
-                               for( unsigned int s=0; s< rgr->sensor_count; 
s++ )
-                               {
-                                       double srange = rgr->samples[s];
-
-                                       dx += srange * cos( 
rgr->sensors[s].pose.a );
-                                       dy += srange * sin( 
rgr->sensors[s].pose.a );
-                               }
-
-                               if( dy == 0 )
-                                       continue;
-
-                               if( dx == 0 )
-                                       continue;
-
-                               assert( dy != 0 );
-                               assert( dx != 0 );
-
-                               double resultant_angle = atan2( dy, dx );
-                               double forward_speed = 0.0;
-                               double side_speed = 0.0;           
-                               double turn_speed = WGAIN * resultant_angle;
-
-                               int forward = rgr->sensor_count/2 -1 ;
-                               // if the front is clear, drive forwards
-                               if( (rgr->samples[forward-1] > SAFE_DIST/5.0) &&
-                                               (rgr->samples[forward  ] > 
SAFE_DIST) &&
-                                               (rgr->samples[forward+1] > 
SAFE_DIST/5.0) && 
-                                               (fabs( resultant_angle ) < 
SAFE_ANGLE) )
-                               {
-                                       forward_speed = VSPEED;
-                               }
-
-                               //      // send a command to the robot
-                               //      stg_velocity_t vel;
-                               //      bzero(&vel,sizeof(vel));
-                               //         vel.x = forward_speed;
-                               //      vel.y = side_speed;
-                               //      vel.z = 0;
-                               //      vel.a = turn_speed;
-
-                               //printf( "robot %s [%.2f %.2f %.2f %.2f]\n",
-                               //robots[i].position->Token(), vel.x, vel.y, 
vel.z, vel.a );
-
-                               //  uint32_t bcount=0;
-                               //stg_blobfinder_blob_t* blobs = 
robots[i].blobfinder->GetBlobs( &bcount );
-
-                               //printf( "robot %s sees %u blobs\n", 
robots[i].blobfinder->Token(), bcount );         
-
-                               robots[i].position->SetSpeed( forward_speed, 
side_speed, turn_speed );
-                       }
-
-
-       delete[] robots;
-       exit( 0 );
-}

Modified: code/stage/trunk/libstage/test.cc
===================================================================
--- code/stage/trunk/libstage/test.cc   2008-07-08 18:28:03 UTC (rev 6818)
+++ code/stage/trunk/libstage/test.cc   2008-07-08 19:05:52 UTC (rev 6819)
@@ -214,6 +214,8 @@
 //      }
   
 
-       while(true)
-         world.Update();
+  for( unsigned long i=0; i<1000; i++ )
+        world.Update();
+
+  return 0; // success
 }

Modified: code/stage/trunk/worlds/fasr.world
===================================================================
--- code/stage/trunk/worlds/fasr.world  2008-07-08 18:28:03 UTC (rev 6818)
+++ code/stage/trunk/worlds/fasr.world  2008-07-08 19:05:52 UTC (rev 6819)
@@ -7,7 +7,7 @@
 include "sick.inc"
 
 interval_sim 100  # simulation timestep in milliseconds
-interval_real 10  # real-time interval between simulation updates in 
milliseconds 
+interval_real 0  # real-time interval between simulation updates in 
milliseconds 
 paused 1
 
 # configure the GUI window
@@ -54,7 +54,7 @@
 
 define autorob pioneer2dx
 (
- sicklaser( pose [ 0.040 0 0 0 ] samples 180 range_max 5 laser_return 2 )
+ sicklaser( pose [ 0.040 0 0 0 ] samples 32 range_max 5 laser_return 2 )
  ctrl "fasr"
 
  #camera( pose [ 0 0 0 0 ] width 100 height 100 horizfov 70 vertfov 40 yaw 0 )


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

Reply via email to