Perception & Mapping Algorithms
Make sense of sensor data. Find the table in a cluttered depth image, align two lidar scans, build a map from known poses, then fix a whole trajectory at once when the rover comes back to where it started.
Start the lesson0/4 steps done
What you'll learn
- Robust plane fitting with RANSAC
- Scan alignment with ICP
- Log-odds occupancy grid mapping
- Pose-graph SLAM with Gauss–Newton
Before you start
You should be comfortable with basic Python: variables, loops and functions. We'll introduce the robotics and the maths as you go. The first visit downloads the physics engine and Python, about 20 MB, and later visits load from your browser's cache.
Steps
- 1RANSACFit a plane to a depth image full of other objects by trying many tiny samples and keeping the one most points agree with.Robust fittingOutliersConsensusOpen
- 2ICPLay one lidar scan on top of another by pairing nearest points and solving for the best rotation with an SVD, over and over.Point-cloud registrationKabsch / SVDScan matchingPro
- 3Occupancy grid mappingDrive a rover through a maze you don't have the map of, and build the map from its lidar: every beam says which cells are empty and where a wall is.Log-oddsInverse sensor modelRay traversalPro
- 4Graph SLAMTurn a drifting lap of odometry into a consistent trajectory by optimising every pose at once against all the measurements.Pose graphsLoop closureGauss–NewtonPro