On Sat, 5 Oct 2002, Minh Tran wrote:
> I'm trying to write two client applications. One keeps asking for user input and moves the robot accordingly. While the other continually polls Player for odometry readings. I run the first application and I can see the robot moving within Stage which is good. But when I run the 2nd application, it keeps reporting the x, y, theta data as zero and it's not changing either.
> The Player manual implies that this is possible so if you could tell me what I'm doing wrong, it would be appreciated. I don't have the exact source with me since it's on the linux partition but here's the algorithm I'm following.
> First application
> - create instance of PositionProxy
> - get all access
> - set the speed
> - start the motor
> - keep asking for user input
> Second application
> - create instance of Position proxy
> - get read access
> - keep printing out the x, y , theta after calls to Read() on the PlayerClient instance
what you're suggesting should be easy to do with Player, so we should
definitely try to figure out what's going wrong.
i've just repeated your experiment (though obviously not with exactly the
same code) with Player/Stage 1.2.3 (the latest release) and i get different
results. that is, my second client, which just logs the current position
data, indeed gets changing values as the robot moves around.
here are some questions that might help:
- which version of the software are you using? if it's older than 1.2, i
strongly suggest that you upgrade, because we don't have much spare time
to fix bugs in old releases.
- is your second client actually connecting to the same robot as the first
- are your clients repeatedly closing and opening the position device? when
the last client closes that device, the odometry resets, just like the
Pioneer mobile robot.
if none of this helps, then please send me the stage .world file you're using
and your client code, and i'll have a look.