From: Eli H. <eli...@gm...> - 2011-06-03 00:44:01
|
I hate to hound the mailing list here, but I'm at my wits end with this one. I thought I'd bring it to life one more time and see if I got any hits. If not, I'll let it die and post a solution if I can manage to find it. Thanks, Eli On Wed, Jun 1, 2011 at 10:17 PM, Eli Hooten <eli...@gm...> wrote: > Rich, > > First, thanks for your response. I used playerprint to try and get some > output from the localize device, but I get no output. playerprint appears to > work properly, but no output is generated. I also received the same error as > my previous message when simulating using Stage on the same machine as the > Player client, so I feel like it can't be a request timeout issue since I'm > on the same machine, but perhaps I misunderstand. In any case, to remove any > more confusion, I'm going to post my complete cfg file and the relevant > section of code. Perhaps the error will be obvious to someone more > experienced with Player than myself. > > cfg file contents: > > driver > ( > name "stage" > provides [ "simulation:0" ] > plugin "stageplugin" > > # load the named file into the simulator > worldfile "stage.world" > ) > > # Create a Stage driver and attach position2d and laser interfaces > # to the model "r0" > driver > ( > name "stage" > provides [ "position2d:0" "laser:0" "speech:0" "graphics2d:0" > "graphics3d:0"] > model "r0" > ) > > driver > ( > name "mapfile" > provides ["map:0"] > filename "FGH3rdFloorMapInvert.pgm" > resolution 0.05 > negate 0 > ) > > driver > ( > name "amcl" > provides ["odometry:::position2d:2" "localize:0"] > requires ["odometry:::position2d:1" "laser:0" "map:0"] > init_pose ["-12 22 0"] > ) > > driver > ( > name "wavefront" > provides ["planner:0"] > requires ["input:::position2d:2" "output:::position2d:1" "map:0"] > > safety_dist 0.00 > distance_epsilon 0.1 > angle_epsilon 5 > ) > > driver > ( > name "vfh" > requires ["position2d:0" "laser:0"] > provides ["position2d:1"] > safety_dist 0.00 > distance_epsilon 0.1 > angle_epsilon 5 > ) > > relevant code: > > PlayerClient robot(m_HostName.toStdString(),m_PortNum); > > PlannerProxy planner(&robot,0); > > Position2dProxy position(&robot,0); > > position.SetOdometry(-12,22,0); > > //this is the position proxy from AMCL driver, not p20s > > Position2dProxy amclPosition(&robot,2); > > position.SetOdometry(-12,22,0); > > LocalizeProxy localize(&robot,0); > > //set the pose hypothesis (this is the robot´s starting point) > > double xytheta[3] = {-12, 22, 0}; > > double covariance[3] = {0.5*0.5, 0.5*0.5, (3.14159/6.0)*(3.14159/6.0)}; > > localize.SetPose(xytheta,covariance); > > > This code gives the following error in Player: > > > playerc error : timed out waiting for server reply to request > localize:0:request:1 > playerc warning : warning : warning : waiting for server repserver repest > localize:0:request:0 > > LocalizeProxy::SetPose()(-1) : error setting pose > > Any thoughts with this new information? > > Thanks, > Eli > > > On Tue, May 31, 2011 at 2:26 PM, Rich Mattes <jp...@gm...> wrote: > >> Hi, >> >> It looks like AMCL should be handling those messages. How frequently do >> you >> see data messages being published (using playerprint to view the localize >> device, for instance?) Is it possible that the driver is running slow >> enough that the request times out before the driver has a chance to >> respond? >> >> Rich >> >> > -----Original Message----- >> > From: Eli Hooten [mailto:eli...@gm...] >> > Sent: Monday, May 30, 2011 3:55 PM >> > To: pla...@li... >> > Subject: [Playerstage-users] LocalizeProxy::SetPose() problems. >> > >> > All, >> > >> > I've been having issues with the LocalizeProxy in a c++ application I >> > am developing. Pseudocode is as follows: >> > >> > The following is my C++ Code: >> > >> > /***Create PlayerClient***/ >> > /.../ >> > >> > /***Create LocalizeProxy***/ >> > LocalizeProxy lp(&robot,0); >> > double[3] xytheta = {...}; >> > double[3] cov = {...}; >> > >> > //set the initial position to lp >> > lp.SetPos(xytheta, cov); >> > >> > The following is in my config file: >> > >> > driver >> > ( >> > name"p2os" >> > provides["odometry:::position2d:0"] >> > port"/dev/ttyS0" >> > ) >> > >> > # I've also setup laser (sicklms200), vfh, and wavefront drivers here >> > >> > driver >> > ( >> > name "amcl" >> > provides["odometry:::position2d:2" "localize:0"] >> > requires["odometry::position2d:1" "laser:0"] #provided by vfh and >> > sicklms200 drivers respectively >> > >> > #additional parameters, safety_dist, distance_epsilon, etc >> > ) >> > >> > Player starts up properly with no errors. But I get an error >> > "LocalizeProxy::SetPose()(-1)" error when attempting to executing the >> > LocalizeProxy::SetPose(...) portion of my code. I also get the >> > following output "playerc error: timed out waiting for server to reply >> > to request localize:0:request:1". Has anyone else encountered similar >> > problems with LocalizeProxy::SetPose()? >> > >> > I'm using Player version 3.0.2. >> > >> > Thanks, >> > Eli >> >> >> >> ------------------------------------------------------------------------------ >> Simplify data backup and recovery for your virtual environment with >> vRanger. >> Installation's a snap, and flexible recovery options mean your data is >> safe, >> secure and there when you need it. Data protection magic? >> Nope - It's vRanger. Get your free trial download today. >> http://p.sf.net/sfu/quest-sfdev2dev >> _______________________________________________ >> Playerstage-users mailing list >> Pla...@li... >> https://lists.sourceforge.net/lists/listinfo/playerstage-users >> > > |