發表文章

目前顯示的是 3月 29, 2020的文章

Run VINS-Mono and save its result as a .tum output for evo analysis

圖片
1. Install prerequisites [1] *Solution for the eigen installation problem: reinstall eigen $ git clone https://gitlab.com/libeigen/eigen.git ... ... $ sudo make install *check current eigen version: $ pkg-config --modversion eigen3 (3.2.2 or later strongly recommended, 3.1.0 or later required.) 2. Build VINS-Mono on ROS *Remember  to recompile Ceres with the same Eigen version as you plan to use in the VINS-mono project. In my case, since the Ceres was compiled once in the maplab project with different Eigen version, a problem with the Eigen version confliction was reported as following picture. Solution: assign the desired Eigen path and recompile maplab ( $ catkin build maplab) After solving the problem mentioned above, you should be good to go... cd ~/catkin_ws/src git clone https://github.com/HKUST-Aerial-Robotics/VINS-Mono.git cd ../ catkin_make source ~/catkin_ws/devel/setup.bash 3. Run VINS-Mono using EuRoC dataset $ roslaunch vins_e

Analytical tool for VIO perfromance: evo

圖片
1. Install evo in the virtual environment [1] 2. Prepare the ground-truth data  Supported trajectory formats: 'TUM' trajectory files 'KITTI' pose files 'EuRoC MAV' (.csv groundtruth and TUM trajectory file) [2] ROS bagfile with: geometry_msgs/PoseStamped, geometry_msgs/TransformStamped, geometry_msgs/PoseWithCovarianceStamped or nav_msgs/Odometry topics 3. Plot ground-truth $ workon evaluation ( start evo ) $ evo_traj euroc data.csv --save_as_tum ( euroc => tum )  * There is no necessary to substract the original offset by yourself, just add "--align" in the command. $ evo_traj tum data.tum -p (tum format) $ deactivate ( stop evo ) 4. Generate trajectory data (ex: maplab) (1) Run VIO mode (2) load map in the maplab_console (3) Export .csv file ex: $ csv_export --csv_export_path '/home/shomin/maplab_ws/bagfiles/save_folder_0' (4) Open vertices.csv , delete first column and row, and save as a new file. (5) Trans

maplab(3) - Localization mode

1. Preparing a localization map source ~/maplab_ws/devel/setup.bash  roscore& rosrun rovioli tutorial_euroc save_folder_loc_map MH_01_easy.bag --optimize_map_to_localization_map save_folder_loc_map: save path of VI map optimize_map_to_localization_map : flag for creating optimized localization map * A folder named " save_folder_loc_map_localization " will be created in this process. 2. Running ROVIOLI with localization source ~/maplab_ws/devel/setup.bash roscore& rosrun rovioli tutorial_euroc_localization save_folder_loc_map_localization save_map_with_localization MH_02_easy.bag tutorial_euroc_localization: localization script save_folder_loc_map_localization:  reference map for localization MH_02_easy.bag:  A dataset to run, where a live source can also be used. 3. Visualization during ROVIOLI with localization [2] Useful topics: # Pose graph  /vi_map_baseframe  /vi_map_landmarks  /vi_map_vertices  /vi_map_edges/viwls  #