« Return to Thread: Problem with setting robot's position

Re: Problem with setting robot's position

by Simone Gaiera :: Rate this Message:

| View in Thread

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:simogaie88@gmail.com]
> Sent: Thursday, July 28, 2011 2:33 PM
> To: playerstage-users@lists.sourceforge.net
> 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.01
> -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)
> and
> 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
Stage.

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.

Rich


------------------------------------------------------------------------------
Got Input?   Slashdot Needs You.
Take our quick survey online.  Come on, we don't ask for help often.
Plus, you'll get a chance to win $100 to spend on ThinkGeek.
http://p.sf.net/sfu/slashdot-survey
_______________________________________________
Playerstage-users mailing list
Playerstage-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/playerstage-users

 « Return to Thread: Problem with setting robot's position