From: <rt...@us...> - 2009-03-13 07:36:38
|
Revision: 7473 http://playerstage.svn.sourceforge.net/playerstage/?rev=7473&view=rev Author: rtv Date: 2009-03-13 07:36:29 +0000 (Fri, 13 Mar 2009) Log Message: ----------- cleaning up Modified Paths: -------------- code/stage/trunk/webstage/webstage.cc Modified: code/stage/trunk/webstage/webstage.cc =================================================================== --- code/stage/trunk/webstage/webstage.cc 2009-03-13 07:28:32 UTC (rev 7472) +++ code/stage/trunk/webstage/webstage.cc 2009-03-13 07:36:29 UTC (rev 7473) @@ -195,12 +195,15 @@ while( true ) { World::UpdateAll(); - // TODO - push changes - - mws.Push( "monkey" ); - mws.Push( "punky" ); - mws.Push( "chunky" ); + // TODO - for all puppets.... + if( port == 8000 ) + { + mws.Push( "monkey" ); + mws.Push( "punky" ); + mws.Push( "chunky" ); + } + mws.Update(); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <as...@us...> - 2009-05-23 01:27:56
|
Revision: 7712 http://playerstage.svn.sourceforge.net/playerstage/?rev=7712&view=rev Author: asadat Date: 2009-05-23 00:33:08 +0000 (Sat, 23 May 2009) Log Message: ----------- implemented the laser and sonar messages. Modified Paths: -------------- code/stage/trunk/webstage/webstage.cc Modified: code/stage/trunk/webstage/webstage.cc =================================================================== --- code/stage/trunk/webstage/webstage.cc 2009-05-23 00:19:58 UTC (rev 7711) +++ code/stage/trunk/webstage/webstage.cc 2009-05-23 00:33:08 UTC (rev 7712) @@ -170,6 +170,177 @@ return true; } + virtual bool GetLaserData(const std::string& name, + websim::Time& t, + uint32_t& resolution, + double& fov, + websim::Pose& p, + std::vector<double>& ranges, + std::string& error){ + + + t = GetTime(); + + Model* mod = world->GetModel( name.c_str() ); + if( mod ) + { + ModelLaser* laser = (ModelLaser*)mod->GetModel("laser:0"); + + if(laser){ + uint32_t sample_count=0; + stg_laser_sample_t* scan = laser->GetSamples( &sample_count ); + assert(scan); + + stg_laser_cfg_t cfg = laser->GetConfig(); + resolution = cfg.resolution; + fov = cfg.fov; + + for(unsigned int i=0;i<sample_count;i++) + ranges.push_back(scan[i].range); + }else{ + + printf( "Warning: attempt to get laser data for unrecognized laser model of model \"%s\"\n", + name.c_str() ); + return false; + + + } + + } + else{ + printf( "Warning: attempt to get laser data for unrecognized model \"%s\"\n", + name.c_str() ); + return false; + } + + return true; + + } + virtual bool GetLaserCfgData(const std::string& name, + websim::Time& t, + uint32_t& resolution, + double& fov, + websim::Pose& p, + std::string& error) +{ + + t = GetTime(); + + Model* mod = world->GetModel( name.c_str() ); + if( mod ) + { + ModelLaser* laser = (ModelLaser*)mod->GetModel("laser:0"); + + if(laser){ + stg_laser_cfg_t cfg = laser->GetConfig(); + resolution = cfg.resolution; + fov = cfg.fov; + //There is no way to access the position of the laser + }else{ + + printf( "Warning: attempt to get laser config data for unrecognized laser model of model \"%s\"\n", + name.c_str() ); + return false; + + + } + + } + else{ + printf( "Warning: attempt to get laser config data for unrecognized model \"%s\"\n", + name.c_str() ); + return false; + } + + return true; + + } + virtual bool GetRangerData(const std::string& name, + websim::Time& t, + std::vector<double>& ranges, std::string& response){ + t = GetTime(); + + Model* mod = world->GetModel( name.c_str() ); + if( mod ) + { + ModelRanger* ranger = (ModelRanger*)mod->GetModel("ranger:0"); + + if(ranger){ + uint32_t count = ranger->sensor_count; + if(ranger->samples) + for(unsigned int i=0;i<count;i++) + ranges.push_back(ranger->samples[i]); + //std::copy(ranger->samples,ranger->samples+ranger->sensor_count,ranges.begin()); + + }else{ + + printf( "Warning: attempt to get ranger data for unrecognized ranger model of model \"%s\"\n", + name.c_str() ); + return false; + + + } + + } + else{ + printf( "Warning: attempt to get ranger data for unrecognized model \"%s\"\n", + name.c_str() ); + return false; + } + + return true; + +} + + virtual bool GetRangerCfgData(const std::string& name, + websim::Time& t, + std::vector<websim::Pose>& p, + std::string& response) + { + + + t = GetTime(); + + Model* mod = world->GetModel( name.c_str() ); + if( mod ) + { + ModelRanger* ranger = (ModelRanger*)mod->GetModel("ranger:0"); + + if(ranger){ + uint32_t count = ranger->sensor_count; + if(ranger->sensors) + for(unsigned int i=0;i<count;i++){ + websim::Pose pos; + Pose rpos; + rpos = ranger->sensors[i].pose; + pos.x = rpos.x; + pos.y = rpos.y; + pos.z = rpos.z; + pos.a = rpos.a; + p.push_back(pos); + } + + }else{ + + printf( "Warning: attempt to get ranger Cfg data for unrecognized ranger model of model \"%s\"\n", + name.c_str() ); + return false; + + + } + + } + else{ + printf( "Warning: attempt to get ranger Cfg data for unrecognized model \"%s\"\n", + name.c_str() ); + return false; + } + + return true; + + + } + virtual websim::Time GetTime() { stg_usec_t stgtime = world->SimTimeNow(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <as...@us...> - 2009-05-27 19:41:48
|
Revision: 7728 http://playerstage.svn.sourceforge.net/playerstage/?rev=7728&view=rev Author: asadat Date: 2009-05-27 19:39:57 +0000 (Wed, 27 May 2009) Log Message: ----------- a method was added to get the extent of the world and the models Modified Paths: -------------- code/stage/trunk/webstage/webstage.cc Modified: code/stage/trunk/webstage/webstage.cc =================================================================== --- code/stage/trunk/webstage/webstage.cc 2009-05-27 15:10:05 UTC (rev 7727) +++ code/stage/trunk/webstage/webstage.cc 2009-05-27 19:39:57 UTC (rev 7728) @@ -257,7 +257,9 @@ } virtual bool GetRangerData(const std::string& name, websim::Time& t, - std::vector<double>& ranges, std::string& response){ + std::vector<websim::Pose>& p, + std::vector<double>& ranges, + std::string& response){ t = GetTime(); Model* mod = world->GetModel( name.c_str() ); @@ -271,43 +273,7 @@ for(unsigned int i=0;i<count;i++) ranges.push_back(ranger->samples[i]); //std::copy(ranger->samples,ranger->samples+ranger->sensor_count,ranges.begin()); - - }else{ - - printf( "Warning: attempt to get ranger data for unrecognized ranger model of model \"%s\"\n", - name.c_str() ); - return false; - - - } - - } - else{ - printf( "Warning: attempt to get ranger data for unrecognized model \"%s\"\n", - name.c_str() ); - return false; - } - - return true; - -} - - virtual bool GetRangerCfgData(const std::string& name, - websim::Time& t, - std::vector<websim::Pose>& p, - std::string& response) - { - - - t = GetTime(); - - Model* mod = world->GetModel( name.c_str() ); - if( mod ) - { - ModelRanger* ranger = (ModelRanger*)mod->GetModel("ranger:0"); - - if(ranger){ - uint32_t count = ranger->sensor_count; + if(ranger->sensors) for(unsigned int i=0;i<count;i++){ websim::Pose pos; @@ -322,7 +288,7 @@ }else{ - printf( "Warning: attempt to get ranger Cfg data for unrecognized ranger model of model \"%s\"\n", + printf( "Warning: attempt to get ranger data for unrecognized ranger model of model \"%s\"\n", name.c_str() ); return false; @@ -331,16 +297,49 @@ } else{ - printf( "Warning: attempt to get ranger Cfg data for unrecognized model \"%s\"\n", + printf( "Warning: attempt to get ranger data for unrecognized model \"%s\"\n", name.c_str() ); return false; } - return true; + return true; +} + virtual bool GetModelExtent(const std::string& name, + double& x, + double& y, + double& z, + std::string& response) + { + if(name == "sim"){ + + stg_bounds3d_t ext = world->GetExtent(); + + x = ext.x.max - ext.x.min; + y = ext.y.max - ext.y.min; + z = ext.z.max - ext.z.min; - } + } + else + { + Model* mod = world->GetModel(name.c_str()); + if(mod){ + Geom ext = mod->GetGeom(); + + x = ext.size.x; + y = ext.size.y; + z = ext.size.z; + } + else + { + printf("Warning: attemp ti get the extent of unrecognized model \"%s\"\n", name.c_str()); + return false; + } + } + return true; + } + virtual websim::Time GetTime() { stg_usec_t stgtime = world->SimTimeNow(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <as...@us...> - 2009-05-28 00:47:37
|
Revision: 7731 http://playerstage.svn.sourceforge.net/playerstage/?rev=7731&view=rev Author: asadat Date: 2009-05-28 00:47:31 +0000 (Thu, 28 May 2009) Log Message: ----------- implemented websim CountRobots and GetSayString methods Modified Paths: -------------- code/stage/trunk/webstage/webstage.cc Modified: code/stage/trunk/webstage/webstage.cc =================================================================== --- code/stage/trunk/webstage/webstage.cc 2009-05-28 00:46:01 UTC (rev 7730) +++ code/stage/trunk/webstage/webstage.cc 2009-05-28 00:47:31 UTC (rev 7731) @@ -332,14 +332,64 @@ } else { - printf("Warning: attemp ti get the extent of unrecognized model \"%s\"\n", name.c_str()); + printf("Warning: attemp to get the extent of unrecognized model \"%s\"\n", name.c_str()); return false; } } + GetModelTree(); + return true; + } + static int CountRobots(Model * mod, int* n ){ + + if(n && mod->GetModelType() == MODEL_TYPE_POSITION) + (*n)++; + + return 0; + } + + virtual bool GetNumberOfRobots(unsigned int& n) + { + + + world->ForEachDescendant((stg_model_callback_t)CountRobots, &n); return true; + + } + + virtual bool GetModelTree() + { + +// world->ForEachDescendant((stg_model_callback_t)printname, NULL); + + return true; } + + virtual bool GetSayStrings(std::vector<std::string>& sayings) + { + unsigned int n=0; + this->GetNumberOfRobots(n); + + for(int i=0;i<n;i++){ + char temp[128]; + sprintf(temp,"position:%d",i); + Model *mod = world->GetModel(temp); + if(mod->GetSayString()) + { + + std::string str = temp; + str += " says: \" "; + str += mod->GetSayString(); + str += " \"\n "; + + sayings.push_back(str); + + } + } + return true; + } + virtual websim::Time GetTime() { stg_usec_t stgtime = world->SimTimeNow(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rt...@us...> - 2009-06-25 01:17:48
|
Revision: 7897 http://playerstage.svn.sourceforge.net/playerstage/?rev=7897&view=rev Author: rtv Date: 2009-06-25 01:17:47 +0000 (Thu, 25 Jun 2009) Log Message: ----------- tracking websim API changes Modified Paths: -------------- code/stage/trunk/webstage/webstage.cc Modified: code/stage/trunk/webstage/webstage.cc =================================================================== --- code/stage/trunk/webstage/webstage.cc 2009-06-25 01:03:24 UTC (rev 7896) +++ code/stage/trunk/webstage/webstage.cc 2009-06-25 01:17:47 UTC (rev 7897) @@ -23,7 +23,7 @@ const std::string& host, const unsigned short port ) : websim::WebSim( host, port ), world(world) - { + { } virtual ~WebStage() @@ -584,7 +584,7 @@ // initialize libstage - call this first Stg::Init( &argc, &argv ); - printf( "WebStage built on %s %s\n", PROJECT, VERSION ); + //printf( "WebStage built on %s %s\n", PROJECT, VERSION ); std::string fedfilename = ""; std::string host = "localhost"; @@ -638,10 +638,12 @@ world->Load( worldfilename ); WebStage ws( world, host, port ); - + if( usefedfile ) ws.LoadFederationFile( fedfilename ); + ws.Startup( true ); + puts( "entering main loop" ); //close program once time has completed This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <as...@us...> - 2009-07-08 19:46:22
|
Revision: 7959 http://playerstage.svn.sourceforge.net/playerstage/?rev=7959&view=rev Author: asadat Date: 2009-07-08 19:46:17 +0000 (Wed, 08 Jul 2009) Log Message: ----------- removed bearing and range from fiducial data Modified Paths: -------------- code/stage/trunk/webstage/webstage.cc Modified: code/stage/trunk/webstage/webstage.cc =================================================================== --- code/stage/trunk/webstage/webstage.cc 2009-07-08 18:29:17 UTC (rev 7958) +++ code/stage/trunk/webstage/webstage.cc 2009-07-08 19:46:17 UTC (rev 7959) @@ -271,8 +271,8 @@ websim::Fiducial fid; fid.pos.x = fids[i].range*cos(fids[i].bearing); fid.pos.y = fids[i].range*sin(fids[i].bearing); - fid.range = fids[i].range; - fid.bearing = fids[i].bearing; + //fid.range = fids[i].range; + //fid.bearing = fids[i].bearing; fid.id = fids[i].id; f.push_back(fid); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |