ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

I don't know why exactly this is for PR2, but there are a couple of reasons for this behaviour in general.

For things like caster wheels, it should be easier to compute odometry and such as you don't need to take care of "backjumps" when you go out of [-pi,pi]. It is also intuitively more correct (at least in my intuition).

In addition to that, depending on the robot, a larger interval is indeed necessary to model the robot correctly as it might represent the real values of the robot. Imagine a lower arm roll joint that can from its zero position rotate +- 210 degrees (so more than 360 degrees), but it can't rotate continuously (e.g. because of cables inside that would be torn). So being at +180 the arm is in the same position as in -180 degree, but in can only turn +30 more, while being at -180 it could turn +390 degree (and vice versa in the other direction).

Although for transformations this is the same value, for things like motion planning this does make a difference, and thus it is modelled that way.

And finally there is a very pragmatic reason, that might be, that those are just the raw values the robot puts out.