Skip to content

CoconutSLAM is a SLAM written in bad C++ code. It is bad and the code is terrible, but it is a SLAM. Come and contribute!

License

Notifications You must be signed in to change notification settings

isaac0804/CoconutSLAM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

CoconutSLAM is a SLAM written in bad C++ code during a holiday. It is bad and the code is terrible, but it is a SLAM.

General

  • Shi-Tomasi corner detection
  • Orb compute descriptors
  • BFMatcher match points
  • extract R, t from Essential matrix
  • triangulate based on R, t
  • a thread for pangolin

Results

Kitti Dataset

Library

  • opencv
    • image processing, feature extraction, matching features
  • pangolin
    • 3d visualisation
  • g2o coming soon
    • graph optimisation, bundle adjustment

Todo

  • refactor code in standard directories (include, src, bin...)
  • use other data structure to store points (dictionary or map?) to avoid vector + complex indexing
  • g2o optimization
  • save and load point maps
  • filter points behind camera
  • use better matching algorithms (done, HAMMING 2)
  • if it doesn't work, we use ORB and implement modifications in ORB SLAM 2
  • essential matrix is weird, why
  • triangulate isn't great
  • is there a way to estimate intrinsic matrix without additional information
  • more test set (drone, driving, indoor)

Todo (Far future)

  • generate mesh using points
  • deep learning models to regenerate 3d structure based on points
  • deep learning models to filter?

About

CoconutSLAM is a SLAM written in bad C++ code. It is bad and the code is terrible, but it is a SLAM. Come and contribute!

Topics

Resources

License

Stars

Watchers

Forks