atlas-jj / ORB-SLAM-free-space-carving

Implementation and annotation of Free Space Carving algorithm (CARV) using ORB-SLAM map points and camera poses.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ORB-SLAM-free-space-carving

Implementation and annotation of Free Space Carving algorithm (CARV) using ORB-SLAM map points and camera poses.

  • If you find the codes are useful, please cite CARV, Shida's paper and my paper. Citations are REALLY valuable, for a PhD student.
  • However, if you prefer not to cite due to various reasons (e.g., not enough space in your paper), I totally agree.
  • CARV using line features: semi-dense CARV

What is it?

  • It's basically a real-time method for 3D surface reconstruction.
  • It can be used to have a coarse geometric estimation of the unknown remote environment.

How to use?

set env variables

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:your-folder/Examples/ROS echo $ROS_PACKAGE_PATH$

compile base lib:

  1. ORB-SLAM library:chmod +x build.sh
  2. ./build.sh

compile ROS:

1 chmod +x build_ros.sh 2 ./build_ros.sh

if errors indicate: no rule to make target... delete build folder and build again.

source bash to run with ros

source your-folder/Examples/ROS/ORB_CARV_Pub/build/devel/setup.bash cd your-folder

run

  1. set env if you networking with other computers: export ROS_MASTER_URI=http://your-ip:11311 export ROS_HOSTNAME=your-ip
  2. roscore
  3. run your camera node, e.g., usb-cam launch file. For compressed image: rosrun image_transport republish compressed in:=/touch/usb_cam/image_raw raw out:=/chris/image
  4. rosrun ORB_CARV_Pub Mono Vocabulary/ORBvoc.txt chris_logic_HD720.yaml /camera/image_raw:=/usb_cam/image_raw

Codes Explained

  • src/Modeler : implementation of CARV algorithm
  • src : add map points to CARV model, and display in Pangolin. Modified based on original ORB-SLAM2

More details can be found in src/README.md

About

Implementation and annotation of Free Space Carving algorithm (CARV) using ORB-SLAM map points and camera poses.

License:Apache License 2.0


Languages

Language:Makefile 59.5%Language:C++ 37.9%Language:CMake 1.8%Language:C 0.8%Language:Shell 0.0%