Skip to content

KTH OBLAM Assignment 3 on Loop Closure and Pose Graph Optimization for OBLAM CourseY

Notifications You must be signed in to change notification settings

Kin-Zhang/oblam_pgo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OBLAM Assignment: Loop Closure and Pose-Graph Optimization

The course materials and instructions can be found at KTH Canvas .

Please download pointcloud data here, Then declare the path to the data in the launch file run_pgo.launch.

Installation

Dependencies

The software was developed on the following dependancies, Test System: Ubuntu 20.04, ROS Noetic full-desktop

Printer logger (glog, gflag are also dependencies on Ceres)

# maybe need sudo if you are running it in your desktop
curl -sL https://raw.githubusercontent.com/Kin-Zhang/Kin-Zhang/main/Dockerfiles/installGlog_ownenv.sh | bash

Solver: Ceres 2.1.0 (do checkout the branch 2.1.0 after git clone)

git clone https://ceres-solver.googlesource.com/ceres-solver
cd ceres-solver && git fetch --all --tags
git checkout tags/2.1.0
mkdir build && cd build
cmake .. && make -j$(nproc)
sudo make install

Build

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 -p oblam/src
cd oblam/src
git clone https://github.com/brytsknguyen/oblam_pgo
cd ../..; catkin build

Run

After finished the assignment part, run the launch

source devel/setup.zsh
roslaunch oblam_pgo run_pgo.launch

Results

Demo

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.

Demo effects here

mcd ntu daytime 04 mcd ntu daytime 01

Kin's results

Video Here:

export.mp4

The ATE for ablation study:

Config ATE
No loop closure 1.8518
loop closure only on prior 1.8518
loop closure only on relative pose 1.8573
loop closure on both of them 0.7235

image

About

KTH OBLAM Assignment 3 on Loop Closure and Pose Graph Optimization for OBLAM CourseY

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 96.8%
  • CMake 3.2%