/iris

Primary LanguageC++BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Modifications are underway.

Iris

  • Visual localization in pre-build pointcloud maps.
  • ORB_SLAM2 can be used.
  • OpenVSLAM and VINS-mono can be used. Modifications are underway.

Video

Submodule

original repository (xdspacelab)

Dependency

If you are using ROS, you only need to install g2o and DBoW2.

see also: openvslam. Modifications are underway.

How to Build

mkdir -p catkin_ws/src
cd catkin_ws/src
git clone --recursive https://github.com/linjohnss/iris.git
cd ..
catkin_make

How to Run with Sample Data

Download sample data

  1. visual feature file: orb_vocab.dbow from URL
  2. pointcloud map : kitti_00.pcd from URL
  3. rosbag : kitti_00_stereo.bag from URL

Run with sample data

Stereo camera sample

roscd iris/../../../
# download sample data to here (orb_voceb.dbow, kitti_00.pcd, kitti_00_stereo.bag)
ls # > build devel install src orb_vocab.dbow kitti_00.pcd kitti_00_stereo.bag
roslaunch iris stereo_kitti00.launch
roslaunch iris rviz.launch # (on another terminal)
rosbag play kitti_00_stereo.bag # (on another terminal)

If the estimated position is misaligned, it can be corrected using 2D Pose Estimate in rviz.

Monocular camera sample

roscd iris/../../../
# download sample data to here (orb_voceb.dbow, kitti_00.pcd, kitti_00_stereo.bag)
ls # > build devel install src orb_vocab.dbow kitti_00.pcd kitti_00_stereo.bag
roslaunch iris mono_kitti00.launch
roslaunch iris rviz.launch # (on another terminal)
rosbag play kitti_00_stereo.bag # (on another terminal)

If the estimated position is misaligned, it can be corrected using 2D Pose Estimate in rviz.

ORBSLAM2

roslaunch iris mono_kitti00_orbslam2.launch
roslaunch iris stereo_kitti00_orbslam2.launch

How to Run with Your Data

All you need to prepare

  1. pointcloud map file (*.pcd)
  2. rosbag (*.bag)
  3. Config file for iris such as config/sample_iris_config.yaml
  4. (only if you use OpenVSLAM) Config file for vSLAM such as config/sample_openvslam_config.yaml

Run

roslaunch iris openvslam.launch iris_config_path:=... 
rosbag play yours.bag # (on another terminal)

License

Iris is provided under the BSD 3-Clause License. Modifications are underway.

The following files are derived from third-party libraries.

  • iris/src/optimize/types_gicp.hpp : part of g2o (BSD)
  • iris/src/optimize/types_gicp.cpp : part of g2o (BSD)
  • iris/src/pcl_/correspondence_estimator.hpp : part of pcl (BSD)
  • iris/src/pcl_/correspondence_estimator.cpp : part of pcl (BSD)
  • iris/src/pcl_/normal_estimator.hpp : part of pcl (BSD)
  • iris/src/pcl_/normal_estimator.cpp : part of pcl (BSD)

Reference

  • T. Caselitz, B. Steder, M. Ruhnke, and W. Burgard, “Monocular camera localization in 3d lidar maps,” in 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2016, pp. 1926–1931.

http://www.lifelong-navigation.eu/files/caselitz16iros.pdf