The course materials and instructions can be found at KTH Canvas .
The software was developed on the following dependancies
- Ubuntu 20.04
- ROS Noetic
- Ceres 2.1.0 (do checkout the branch 2.1.0 after git clone)
- PCL libary (built-in of Ubuntu 20.04)
The code was editted on VS Code with #region folding add-on for tidier view.
Please install all dependencies first. Afterwards, create a ros workspace, clone the package to the workspace, and build by catkin build
or catkin_make
, for e.g.:
mkdir catkin_ws/src
cd catkin_ws/src
git clone https://github.com/brytsknguyen/oblam_pgo
cd ..; catkin build
Please download pointcloud data here
Declare the path to the data in the launch file run_pgo.launch.
Go to the function OptimmizePoseGraph() and create a ceres problem and solve it. If it works you should see a loop closure event like this.