Ground filtering for non-planar environments
Motivation and scope
A common task for robots is to extract a 2D planar map (to be used for motion planning and navigation) from a full 3D map of an environment. In other words: before starting to navigate, the robot first needs to separate flat and drivable floor from obstacles. Some off-the-shelf methods from popular libraries have difficulties to fully separate floor from obstacles when the floor is not fully flat, which is a common case both indoors and outdoors.
Implement one or several ground extraction metods and compare to the output of octomap. Additional tasks may include implementing “traversability maps” that show which parts of the map are more vs less traversible, for different kinds of robots.
Good programming skills, preferrably in C++. Being comfortable with 3D geometry processing is also an advantage.
Develop experience with 3D perception and the Robot Operating System (ROS), and interact with ongoing research projects on industrial mobile robots.