Skip to main content

Entry #3: Finding The Way

Omocube can now get itself from one place to another. Before navigation, Omocube could already move its motors, but only through simple commands like forward, backward, turn left, and turn right, with no obstacle avoidance or path planning. In order do to that, Omocube has to know what is around it, and what it can and can't get past, while the space continues to change around it.

How it works​

As Omocube moves, its depth camera continuously builds a 3D map of its surroundings. From that map, it decides which parts of the floor are safe to cross. Flat ground is fine and small bumps are ignored, but anything too tall to step over or too steep a drop is considered an obstacle to go around. Overhangs it can fit under, however, do not count as obstacles. People and anything else that moves are also handled separately, since they won't be in the same place a moment later.

Omocube's camera feed: a dark-framed office door with a large window, beside a stool and trash bins.
Camera view
The 3D map Omocube has built of the same space: a grid of small cubes standing in for walls and furniture, with the floor it can cross shown in white.
Map

The map is stored on Omocube, the same as everything else it experiences. Its map is built from its live view and is kept fresh and updated, so it never plans a route around things that have since moved.

Getting unstuck​

Navigation changes decisions into planned movement. Omocube can be asked to go somewhere or follow someone, and it works out the route itself. If it gets stuck along the way, it notices and routes a different path, tries backing up, or rotates in place.