Precision of Create odometry?

View: New views
4 Messages — Rating Filter:   Alert me  

Precision of Create odometry?

by Mac Mason-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello list!

   I've been using the Create driver, and (as far as I can tell) it
returns yaw odometry in units of whole degrees. Is that a limitation of
the Create, or the driver? Is there something fancy that needs doing to
improve things?

Thanks!

   --Mac

--
Julian "Mac" Mason      mac@...      www.cs.duke.edu/~mac


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Playerstage-users mailing list
Playerstage-users@...
https://lists.sourceforge.net/lists/listinfo/playerstage-users

Re: Precision of Create odometry?

by Mac Mason-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Nov 7, 2009, at 11:44 PM, Mac Mason wrote:
> Hello list!
>
>   I've been using the Create driver, and (as far as I can tell) it
> returns yaw odometry in units of whole degrees. Is that a limitation  
> of
> the Create, or the driver? Is there something fancy that needs doing  
> to
> improve things?

I've answered my own question, so here it is for posterity. The Create's
serial interface provides angle-since-last-turn in units of whole
degrees. The internal counters are doing something smarter (if you've
got one lying around, try several extremely small turns in a row), but
there's no way to access those data. To add insult to injury, there's no
way to directly access the wheel encoders, so we can't construct the
data manually, either.

   --Mac

--
Julian "Mac" Mason      mac@...      www.cs.duke.edu/~mac


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Playerstage-users mailing list
Playerstage-users@...
https://lists.sourceforge.net/lists/listinfo/playerstage-users

Re: Precision of Create odometry?

by Jonathan Paxman :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I've answered my own question, so here it is for posterity. The Create's
serial interface provides angle-since-last-turn in units of whole
degrees. The internal counters are doing something smarter (if you've
got one lying around, try several extremely small turns in a row), but
there's no way to access those data. To add insult to injury, there's no
way to directly access the wheel encoders, so we can't construct the
data manually, either.

The resolution is actually approximately 0.44 degree.

This is according to the Roomba SCI specification:

Angle
Packet subset: 2
Range: -32768 – 32767
Data type: 2 bytes, signed
The angle that Roomba has turned through since the angle was
last requested. The angle is expressed as the difference in
the distance traveled by Roomba’s two wheels in millimeters,
specifically the right wheel distance minus the left wheel
distance, divided by two. This makes counter-clockwise angles
positive and clockwise angles negative. This can be used to
directly calculate the angle that Roomba has turned through
since the last request. Since the distance between Roomba’s
wheels is 258mm, the equations for calculating the angles in
familiar units are:
Angle in radians = (2 * difference) / 258
Angle in degrees = (360 * difference) / (258 * Pi).
If the value is not polled frequently enough, it will be capped at
its minimum or maximum.

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Playerstage-users mailing list
Playerstage-users@...
https://lists.sourceforge.net/lists/listinfo/playerstage-users

Re: Precision of Create odometry?

by Mac Mason-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Nov 11, 2009, at 9:04 PM, Jonathan Paxman wrote:

> The resolution is actually approximately 0.44 degree.
>
> This is according to the Roomba SCI specification:
>
> Angle
> Packet subset: 2
> Range: -32768 – 32767
> Data type: 2 bytes, signed
>
> The angle that Roomba has turned through since the angle was last
> requested. The angle is expressed as the difference in the distance
> traveled by Roomba’s two wheels in millimeters, specifically the right
> wheel distance minus the left wheel distance, divided by two. This
> makes counter-clockwise angles positive and clockwise angles negative.
> This can be used to directly calculate the angle that Roomba has
> turned through since the last request. Since the distance between
> Roomba’s wheels is 258mm, the equations for calculating the angles in
> familiar units are:
>
> Angle in radians = (2 * difference) / 258
> Angle in degrees = (360 * difference) / (258 * Pi).
> If the value is not polled frequently enough, it will be capped at
> its minimum or maximum.

Interesting. That contradicts the description of the Angle command in
the Create Open Interface document [0] (page 19), which reads:

> The angle in degrees that iRobot Create has turned since the angle was
> last requested is sent as a signed 16-bit value, high byte first.
> Counter-clockwise angles are positive and clockwise angles are negative.
> If the value is not polled frequently enough, it is capped at its
> minimum or maximum.
> Range: -32768 – 32767

Both Player's Create driver and ERDOS report in whole degrees. I guess
iRobot decided hobbyists don't need good odometry data...

[0] http://www.irobot.com/filelibrary/create/Create%20Open%20Interface_v2.pdf

--
Julian "Mac" Mason      mac@...      www.cs.duke.edu/~mac


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Playerstage-users mailing list
Playerstage-users@...
https://lists.sourceforge.net/lists/listinfo/playerstage-users