WARNING: This server is unstable and will be retired in the next days.
If you want to keep this forum available, please request immediately a migration
on the Nabble Support forum.
Forums that don't receive any migration request will be deleted forever.
No I am not report about the odometry i'm reporting another problem...
if you turn on itself the robot for 200 times never stop it while it is working
in stage if the start is 0 after 200 turn is 0 and if is 1.5657 the final value is 1.5657
in the real world the starts value is 0 the ultimate value is about 30.00...roomba always increase that value so the theta is not the angle of the robot but only the distance that it make in the rotation...
Rich Mattes-2 wrote:
> -----Original Message-----
> From: Simone Gaiera [mailto:email@example.com]
> Sent: Thursday, July 28, 2011 2:33 PM
> To: firstname.lastname@example.org
> Subject: Re: [Playerstage-users] Problem with setting robot's position
> the problem is even worse...
> now with - degree the robot starts in 0 and decrease always the value -
> -0.04 -0.06 so with degree -10 we have -degree from the robot so
> ideally I
> think is correct.
> whith degree it do the same but whe have +0.01 +0.04 +0.07...
> the problem is that when start is 0 when it turn 90 degree the value is
> about 0.8 but in stage the value is dtor(-90) that is -1.57
> when the robot return in the initial its value is 1.2 and not dtor(90)
> when he turned in 90 degree again its value is 1.8 and so on...
> I'm sayng only that is too different from stage...
So you're saying when you turn the robot 90 degrees, Stage reflects the 90
degrees correctly, but the Roomba may report a different number?
Errors like this are pretty normal as far as encoder-based wheel odometry
goes. There are several sources of error, such as wheel slip, resolution of
the encoders, etc. Generally, you'll need to correct wheel odometry with
some outside source (IMU, compass, laser scanner, etc) to get very accurate
position estimates. The real world is much more noisy than a simulator like
That being said, it's definitely possible that the Roomba is reporting
inaccurate angle values. The position displacement readings coming out of
the Roomba seem very wrong; it wouldn't be surprising if that is also the
case for the angular measurements. Most other Roomba communication
implementations I found read the Roomba 500's encoder counts directly, and
do their own conversions to linear and angular displacement. The Player
driver doesn't support this yet; it was written to interface with older
roombas, which don't support reading the encoders directly, and only
minimally modified to work with the 500 series. It's definitely possible to
add encoder support to the driver should one feel so inclined.