Phoebe’s Nemesis: Office Chair

A project log for Phoebe TurtleBot

DIY variant of ROS TurtleBot for <$250 capable of simultaneous location and mapping (SLAM)

RogerRoger 09/24/2018 at 02:053 Comments

A little real-world experience with Phoebe has revealed several problems with my first rough draft chassis design. The second problem on the list is Phoebe’s LIDAR height: It sits too high to detect certain obstacles like an office chair. In the picture below, Phoebe has entered a perilous situation without realizing it. The LIDAR’s height meant Phoebe only sees the chair’s center post, thinking it is a safe distance away, blissfully ignorant of chair legs that have completely blocked its path.

Phoebe Faces Office Chair

Here is the RViz plot of the situation, representing Phoebe’s perspective. A red arrow indicates Phoebe’s position and direction. Light gray represents cells in the map occupancy grid thought to be open space, and black are cells that are occupied by an obstacle. Office chair’s center post is represented by two black squares at the tip of the red arrow, and the chair’s legs are absent because Phoebe never saw them with LIDAR.

Phoebe and Office Chair Post

This presents obvious problems in collision avoidance as Phoebe can’t avoid chair legs that it can’t see. Mounting height for Phoebe’s LIDAR has to be lowered in order to detect office chair legs.

Now that I’ve seen this problem firsthand, I realize it would also be an issue for TurtleBot 3 Burger. It has a compact footprint, and its parts are built upwards. This meant it couldn’t see office chair legs, either. But that’s OK as long as the robot is constrained to environments where walls are vertical and tall, like the maze seen in TurtleBot 3 Navigation demo. Phoebe would work well in such constrained environments too, but I’m not interested in constrained environments. I want Phoebe to roam my house.

Which leads us to Waffle Pi, the other TurtleBot 3 model. it has a larger footprint than the Burger, but it is a squat shape allowing LIDAR to be mounted lower and still have a clear view all around the top of the robot.

So I need to raise the bottom of Phoebe for ground clearance, and also lower the top for LIDAR mount. If the LIDAR can be low enough to look just over the top of the wheels, that should be good enough to see an office chair’s legs. Will I find a way to fit all of Phoebe’s components into this reduced height range? That’s the challenge at hand.

(Cross-posted to


Humpelstilzchen wrote 09/24/2018 at 17:51 point

Obviously by lowering the 2d sensor you might end up with the opposite problem, the robot might miss obstacles that are higher then the sensor, but too low for the robot to pass.

I had similar problems which was why I complemented my main sensor with sonar sensors. They have a conical field of view which allows them to see a bit up and down. They can also see when the laser gets blind (mirrors, windows).

  Are you sure? yes | no

Roger wrote 09/24/2018 at 18:28 point

Quite true! Lowering the LIDAR merely trades one set of problems for another as a planar laser scanner is unable to see obstacles above or below its plane. For the "below" problem, I expect I'll add some physical bumper sensors, but I haven't figured out how to address the "above" problem. I might end up following your example with sonar sensors.

It made me feel a tiny bit better to know the actual Neato robot vacuum shares the same problem, damaging itself while going under a couch:

  Are you sure? yes | no

Humpelstilzchen wrote 09/24/2018 at 19:33 point

I have one Neato, navigation is precise enough for the bot to fit under a chair, entering between two of its legs. But not precise enough to cleanly exit again, ending up pushing the chair which is quite a show. Looking forward to read the result.

I like your precise wording btw (planar/plane).

  Are you sure? yes | no