[ros-users] Avoiding Collisions between robots

Brian Gerkey gerkey at willowgarage.com
Tue Dec 28 16:54:57 UTC 2010


On Tue, Dec 28, 2010 at 7:23 AM, David Portugal <davidbsp at iol.pt> wrote:
> Actually I didn't think about the laser's position on the simulations.
> It is, in fact, mounted on top of each robot. Therefore, one laser
> does not see the body of other robots due to their heights.

>        hokuyo( pose [0 0 0.1 0] )

Changing the Z value from 0.1 to 0.0 should do the trick.

Note that the result will be different from many real laser-equipped
robots.  To get the same effect in the real world, you'd need to build
some kind of enclosing turret around the laser that would be an
obstacle to other robots' lasers. But you don't want the turret to
obscure the view of the laser that it's enclosing, so there has to be
an open slit around most of the laser (270 degrees in the case of a
Hokuyo).  Then a laser is more likely to see another robot's laser
than its turret.  And when two lasers see each other directly, they
often get "dazzled," and the data are discarded.

We have exactly this problem with PR2s: when two robots approach
head-on, each sees only the other's laser (it protrudes above the
base), and sees it unreliably (because of dazzling).

I point all this out because we should justify assumptions made in
simulations.  Laser-based obstacle avoidance among a group of
homogeneous robots is problematic (heterogeneous robots might be
easier, if, for example, the lasers are all placed at different
heights), which Stage illustrated pretty well.  Fortunately, the
problem might go away with the use of a different sensor, such as a
Kinect; we're looking into this as a way for PR2s to navigate safely
around each other.

	brian.



More information about the ros-users mailing list