Skip to content

About

SLAM pose optimization tutorial in C++ using Eigen3 and Ceres.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SLAM Optimization Tutorial


Install deps

# 1. Eigen3
sudo apt install libeigen3-dev

# 2. GTSAM
git clone --branch 4.2a0 https://github.com/borglab/gtsam.git

cd gtsam
mkdir build
cd build

cmake .. \
    -DCMAKE_BUILD_TYPE=Release \
    -DGTSAM_BUILD_TESTS=OFF \
    -DGTSAM_BUILD_EXAMPLES=OFF \
    -DGTSAM_BUILD_UNSTABLE=OFF

make -j$(nproc)

sudo make install

sudo ldconfig

# 3. Ceres
sudo apt install -y libceres-dev libgoogle-glog-dev libgflags-dev libeigen3-dev libsuitesparse-dev

Build

mkdir build
cd build
cmake ..
make -j$(nproc)

Visualize

# install python deps
conda install numpy pandas matplotlib pillow

# run
python3 visualize_poses.py ../data/Ti.csv ../data/Tj.csv ../data/Tij.csv

The animation below visualizes the relative transformation between two 3D poses.

The relative transformation is applied as:

$$ T_2 = T_1 T_{12} $$

where:

  • $T_1$ — initial pose
  • $T_{12}$ — relative transformation
  • $T_2$ — predicted final pose

Refs

About

SLAM pose optimization tutorial in C++ using Eigen3 and Ceres.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages