Sunday, October 23, 2011

Getting Stuck

One of the problems which I found with the Turtlebot is its tendency to get stuck in particular places.  Obviously for mapping and localization purposes if wheel odometry is being used then this could significantly reduce the performance.  From overhead it just appears that the robot is getting stuck on the carpet, but taking a closer look something else is going on.

Here you can see that the rear roller gets stuck on the transition between floor surfaces.

In another situation there is no obvious obstacle, but there is a slight incline in the transition between carpets.  This is probably enough to cause the front spring loaded roller to reach its upper limit and for the robot to become balanced on the rollers in such a way that the drive wheels lose traction.

My original first generation Roomba didn't get stuck all that often, so by comparing it to the Create base the design changes can be seen.

The original Roomba also has a front spring loaded roller, but has no rear roller.  It also has a similar tapering of the width at the back end which potentially allows it to tilt, nose upwards, on uneven surfaces.  In the case of the Create it seems that the rear roller to a large extent prevents this tilting action.

I noticed that on the Create the rear roller is removable.  Unlike the front roller it's not spring loaded, and potentially it could be replaced with something else.  Ideally I think that the rear roller should also be spring loaded, such that if it snags on some low object it could move upwards and over it.

Removing the rear roller has the disadvantage that the Turtlebot is typically at a slightly tilted angle, and nods forwards when it comes to a stop.  Potentially this could be factored into the URDF model.  There will be more drag, making the motion less energy efficient, but testing in the same areas without the rear roller indicates that this definitely resolves the snagging problem.

Mechanical design features such as this may seem trivial, especially if your floors are completely flat, but if service robotics is ever to become mainstream it's attention to these sorts of factors which will make all the difference.

No comments: