A point cloud is a list of float32 measurements. To a motion planner, it is mathematically hollow. You cannot calculate traction against a coordinate. You cannot compensate for gravity against a disconnected return. Before a robot can drive, the map has to stop being a cloud and start being a surface.
The 2.5D world model
Most ground vehicles (a yard tug, a sweepers, a campus shuttle) move on a 2D manifold that follows the contours of the earth. They do not fly. They do not tunnel. For these robots, a full 3D volumetric map is overkill.
A 2.5D representation is a surface where every (x, y) coordinate has exactly one z-value (elevation). Instead of asking “where is the matter in this 3D volume?”, the robot asks “what is the elevation at this spot on the map?” That simplification turns a volumetric search into a surface lookup, which is fast enough to run at planning rates.
From point cloud to ground mesh
To give the robot a surface it can feel, you extract a ground mesh from the registered point cloud:
- Classify which points represent the drivable surface (asphalt, concrete, packed gravel).
- Filter out everything above the ground plane: vehicles, vegetation, buildings, people.
- Reconstruct a continuous geometric mesh over the remaining ground points.
The result is not a list of points anymore. It is a surface with faces, edges, and above all orientation.
What a mesh gives you that a point cloud cannot
Normal vectors. Each face on the mesh has a normal, a vector pointing perpendicular to the surface. The robot reads the normal to know the slope it is sitting on. That slope is a direct input to the motor controller’s feed-forward logic: how much torque to apply so the vehicle does not roll backward on an incline.
Surface continuity. A mesh fills the gaps between individual LiDAR returns. Without continuity, the planner might see a small space between two points as a hole in the universe and trigger a phantom emergency stop.
Traction estimates. By assigning material IDs to different regions of the mesh (asphalt here, steel loading plate there), the physics engine can model how the tires grip each surface.
Harbor Yard: the loading dock incline
The Harbor Yard depot is flat, level asphalt. But it transitions into a steep concrete ramp leading up to the loading dock. In a clean point cloud, this is a smooth slope. In a poorly registered one, it becomes a jagged edge.
A three-ton sweeper approaching that ramp with a bad ground mesh will stop dead. The mesh says “wall.” The LiDAR says “ramp.” The planner, trained to trust the map over the sensor when they disagree about fixed geometry, chooses the map. The vehicle sits at the bottom of the incline, immobilized by a phantom.
The fix is not better driving. It is a better mesh, one where the surface normals tell a continuous story from flat yard to inclined ramp.
Try this
[5 min] Find an incline near you: a driveway, a loading ramp, a parking garage entrance. Watch a vehicle climb it. Ask: if this vehicle were autonomous and relied on a ground mesh, what would the surface normal at the transition point need to be for the motor controller to apply the right torque? What happens if the mesh has a vertical step instead of a slope?
Found an error or have a suggestion?
Report an erratum or send feedback →