On Tue, May 21, 2013 at 4:45 PM, 1241 <siamak1241@gmail.com> wrote:
Hello Dear all,

I am new in player/stage. I've written a simple program for moving the robot
to specified location. but unfortunately the robot doesn't move. I send that
part of my program for you. I would be grateful if you would guide me about
the problem. If you want I can send the complete program.
Thank you so much

I noticed that you only included a Stage worldfile and some libplayerc++ C++ code.  Are you actually running Player with a .cfg file which invokes Stage and the stageplugin?

If you are, then you may have another problem.  The client program you included issues commands and immediately exits.  When your client program exits, the stageplugin will shut down, and any commands that were issued will no longer be honored.  You need to keep your client program alive until your robot gets to your desired position.  You may also try adding "alwayson 1" to the stage driver block in your Player config file.  This will keep the stage plugin running, i don't know off the top of my head if it will continue to try to get to its destination.

Finally, is there any reason your're calling SetSpeed() and then GoTo()?  SetSpeed will issue velocity commands of 10m/s forward and 10rad/sec in yaw, and then calling GoTo will override that and issue its own velocity commands to get your robot to the specified position (in most implementations.)  If you want to issue a GoTo with a specific velocity, you should use the GoTo(pos, vel) form[1].  Also, if you want your robot to travel that fast, make sure you specify appropriate velocity bounds when defining your Stage model [2].


[1] http://playerstage.sourceforge.net/doc/Player-svn/player/classPlayerCc_1_1Position2dProxy.html#a2d84ba78b1077995c46bd37e35d0c481
[2] http://rtv.github.io/Stage/group__model__position.html