Active View Planning for Visual SLAM in Outdoor Environments Based on Continuous Information Modeling
IGLOV is a approach by actively and smoothly controlling a gimbal camera equipped on the robot to realize robust and accurate SLAM in unknown outdoor environments. The main works include three-fold:
- Feature distribution-weighted Fisher information to represent the localization uncertainty of environments.
- A continuous information modeling method to map the environmental information, like localization uncertainty, into multiple polynomial functions.
- An information gradient-based local view (IGLOV) planner plans the optimal camera views in real-time for obtaining maximal environmental information.
Authors: Zhihao Wang, Haoyao Chen from the Networked RObotics and Sytems Lab, Shiwu Zhang, and Yunjiang Lou.
If you use IGLOV for your academic research, please cite the following paper [pdf].
@ARTICLE{10129820,
author={Wang, Zhihao and Chen, Haoyao and Zhang, Shiwu and Lou, Yunjiang},
journal={IEEE/ASME Transactions on Mechatronics},
title={Active View Planning for Visual SLAM in Outdoor Environments Based on Continuous Information Modeling},
year={2023},
volume={},
number={},
pages={1-12},
doi={10.1109/TMECH.2023.3272910}}
Video links: Youtube or Bilibili.
Tested on Ubuntu 16.04 and 18.04.
- Install ROS packages
sudo apt-get install ros-(rosversion)−octomap−rosros−(rosversion)-octomap-ros ros-(rosversion)-octomap-msgs ros-(rosversion)−yocs−cmd−vel−muxros−(rosversion)-yocs-cmd-vel-mux ros-(rosversion)-pcl-ros
cd {YOUR_PATH}
git clone https://github.com/HITSZ-NRSL/IGLOV.git
cd IGLOV
catkin build
- Add Gazebo model path
export GAZEBO_MODEL_PATH=YOURPATHYOUR_PATH/IGLOV/src/plt1000_base/plt_gazebo/models:$GAZEBO_MODEL_PATH
Gazebo
cd {YOUR_PATH}/IGLOV
roslaunch plt_gazebo gazebo_realsense.launch
SLAM
cd {YOUR_PATH}/IGLOV
roslaunch orb_slam2_ros orb_slam2_d435_rgbd_realsense.launch
View Planning
cd {YOUR_PATH}/IGLOV
roslaunch view_planning view_planning.launch
Robot Base
cd {YOUR_PATH}/IGLOV/src/plt1000_base/plt_control/src
python robot_keyboard_teleop.py
Then press the key 'r'(lowercase), the robot base will follow the preset trajectory.
SLAM in IGLOV is based on ORB-SLAM2.
The source code is released under GPLv2 license.