How does a roomba find and follow a path to it’s dock?

192 views

I’m working on a robot that follows people for a school project and i was wondering how the roomba does it, and if maybe i could do the same thing on the robot.

Edit: i think my roomba doesn’t map out the rooms as it’s pretty old, but still finds the dock

In: 4

5 Answers

Anonymous 0 Comments

The roomba has a memory, for where the dock is, and the dock emits a signal that the roomba can detect. Then the actual docking procedure uses the other “chair leg avoidance” sensors.

Anonymous 0 Comments

I do not know this for certain, but I believe it creates an internal map of the room, using the dock as a fixed reference point. Imagine the layout of a living room from above. You can draw lines and create an x and y coordinate grid. Now make that room invisible except for a single dot on the floor. You can slowly map out the room by bumping into things and noting where on that x,y grid you are. Then you do some simple math to calculate the straight line distance back to the dot. Each bump is a new piece of data. Slowly but surely you build a map of every invisible wall and piece of furniture that is in that room. From there it’s a simply matter of using that saved map to navigate back to the dot each time.

Anonymous 0 Comments

Newer robotic vacuums (not sure specifically for roombas) have a lidar sensor on the top that maps all the rooms that it travels through. It also knows the exact position of the dock in those rooms and its own position, so after that’s done it’s just a simple pathfinding algorithm like in a video game.

For a diy robot this is obviously too complicated, unless you’re using something a bit more powerful like a Raspberry Pi and have some advanced programming knowledge. In that case, you could probably make a similar room map with a sonar or just with the good old “bump into every single wall” method.

The two easier methods would be an algorithm that determines your location by the distance traveled and turns taken (you’ll need precise motors, ideally steppers) or an IR led and directional receivers, but this will only work with line of sight, so maybe use this for the last couple of meters.

Anonymous 0 Comments

There are different models which does different things. Not only have the technology changed through generations but cheaper models does not have the most advanced technologies installed.

For final navigation most robots use directional IR light signals. You can see the IR lamps using a cell phone camera. The docking station have two IR lamps which blinks at different rates. One is aimed to the left and the other to the right. The robot have an IR receiver on the top which can see the signal from the docking station. This means that it knows if it is too far right or left or if it is in the center. This is very similar to how airplane landing navigation systems work except with IR instead of radio.

But in addition to this most robots will automatically map out the rooms using their sensors. So it knows where it is and remembers where the docking station was last seen. When it needs to return back it will try to navigate using its internal map to where the docking station. The IR signal is used when it gets close though as the robot might not be exactly where it thinks it is and the docking station might also have moved, possibly because the roomba bumped into it.

Anonymous 0 Comments

Ever have a siren on a cop car driving past you?

When it is far away, it makes noise at one frequency, and then that changes as it gets closer, and then further away. It sounds a bit difference.

This is called Doppler Shift. It is a very clear illustration of the fact that signals (sound, in this case), can change as things move around.

The Roomba uses an RF signal, similar to a radio.

So. The antenna for the roomba can hear the radio station that the docking station is broadcasting.

If it moves right to left, it sounds wrong. If it is moving AWAY from the radio station, it sounds wrong. If it is moving in the right direction, and pointing right at the docking station, it knows that it is driving in the right direction.

If it gets misaligned? Sounds wrong. Similar to dialing in a radio, or the doppler shifted siren.