bench_ws
A catkin workspace to benchmark different state estimation algorithms, namely:
as well as:
- Kalibr (to calibrate your own sensors, namely cameras and IMUs)
- rpg_trajectory_evaluation (state-estimation evaluation scripts)
Build
The build process is fairly automated, this repo assumes you are running on a linux machine with Ubuntu 18.04 installed. Then to use this repo you would issue the following commands,
make deps
make submodules
make build
which installs dependencies, pull the git submoduels and builds this workspace.
Run on EuRoC dataset
First obtain the EuRoC dataset. The launch files provided by this
project by default assumes you have a directory called /data/euroc_mav/rosbags
and that it contains the rosbags as follows:
MH_01.bag
MH_02.bag
MH_03.bag
MH_04.bag
MH_05.bag
V1_01.bag
V1_02.bag
V1_03.bag
V2_01.bag
V2_02.bag
V2_03.bag
Note how the easy
, medium
and difficult
suffix tags are removed.
To run any of the supported state-estimation algorithm on a EuRoC dataset use
one of the following roslaunch files in the bench
package.
benchmark_euroc-msckf_vio.launch
benchmark_euroc-orbslam3-mono.launch
benchmark_euroc-orbslam3-stereo.launch
benchmark_euroc-orbslam3-stereo_imu.launch
benchmark_euroc-vins_fusion.launch
benchmark_euroc-vins_mono.launch
Most of these launch files have the following launch argments:
rosbag_input_path: Path to ROS bag to run the algorithm against
rosbag_outfile: Filename to save the estimation in a ROS bag
rosbag_output_path: Full path to where the estimation is saved to
config_file:: Config / calibration file for the specific algorithm
see individual launch files for default and more options. These roslaunch file
arguments can be over-ridden in the commandline while performing a roslaunch
so that you don't have to directly change the launch file yourself, for
example:
roslanch bench benchmark_euroc-msckf_vio.launch \
config_file:=<some new config file> \
rosbag_input_path:=<some new ros bag>
LICENCE
MIT