Project for summenr intern @ THU Autonomous Driving Lab. I'm still working on it.
My environment is Ubuntu 18.04, ROS Melodic,OpenCV 3.3.1, Eigen 3.3.1
cd ~/catkin_ws/src
git clone https://github.com/rwn17/GPS-aided-VINS-Mono-for-autunomous-driving.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash
Download UrbanNav Dataset. I only test it on UrbanNav-HK-Data20200314 sequence, more tests and some modifications will be made in a couple of weeks.
roslaunch vins_estimator ubannav.launch
roslaunch vins_estimator vins_rviz.launch
rosbag play YOUR_PATH_TO_DATASET
PS: I made a typo on ubannav.launch,but I'm too lazy to correct it :)
Firstly, I incoperate the global_fusion pkg from VINS-Fusion into VINS-Mono and publish the optimized path to TOPIC:/global_optimize_node/global_path, rviz could subscribe this topic and show the path with yellow line. I will improve the loss function of VINS-Fuision this weekend.
Secondly, I use original benchmark_publisher pkg to subscribe the novatel/inspvax and publish the ground truth path. Rviz will subscribe the topic and show the ground truth path with red line.
I have already incorperate this two topic in the urbannav.launch file. So if everything goes right, you could see three lines on Rviz.
More improvemens using GPS signal to help VINS will be make in a couple of weeks, which includes robust initialization, filter for GPS signal,loss function improvements and robust system failure detection & reinitialization based on autonmous driving scenario. Good luck to myself:)
This project is mainly based on VINS-Fusion and VINS-Mono. I use ceres solver for non-linear optimization and DBoW2 for loop detection, and a generic camera model.
The source code is released under GPLv3 license.