This is a forked repository of A-LOAM.
In this we add extra script and configuration files to quickly run the experiments on NTU VIRAL dataset.
-
After you have cloned and compiled the package, please cd to the launch folder by running
roscd aloam/launch
. -
Modify the script
runall_ntuviral.sh
to declare the output directory via the variableEPOC_DIR
, and the path to the dataset via theDATASET_LOCATION
variable. Note that the bag files should be organized like in the figure below:
-
Run
bash runall_ntuviral.sh
to automatically launch the algorithm with the bag files one by one. -
The log files will be created in .csv format and you can use matlab or python to calculate the localization error against the ground truth on these logs. An example of the analysis can be found in the
A-LOAM/analysis/ntuviral_aloam
folder. Just run the MATLAB scriptcheckall_parallel.m
and the results will be printed out.
If you use the NTU VIRAL dataset in your work, please cite our work using the BibTex code at the dataset's website. Please also cite A-LOAM's publication below.
A-LOAM is an Advanced implementation of LOAM (J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time), which uses Eigen and Ceres Solver to simplify code structure. This code is modified from LOAM and LOAM_NOTED. This code is clean and simple without complicated mathematical derivation and redundant operations. It is a good learning material for SLAM beginners.
Modifier: Tong Qin, Shaozu Cao
Ubuntu 64-bit 16.04 or 18.04. ROS Kinetic or Melodic. ROS Installation
Follow Ceres Installation.
Follow PCL Installation.
Clone the repository and catkin_make:
cd ~/catkin_ws/src
git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash
Download NSH indoor outdoor to YOUR_DATASET_FOLDER.
roslaunch aloam aloam_VLP_16.launch
rosbag play YOUR_DATASET_FOLDER/nsh_indoor_outdoor.bag
Download KITTI Odometry dataset to YOUR_DATASET_FOLDER and set the dataset_folder
and sequence_number
parameters in kitti_helper.launch
file. Note you also convert KITTI dataset to bag file for easy use by setting proper parameters in kitti_helper.launch
.
roslaunch aloam aloam_HDL_64.launch
roslaunch aloam kitti_helper.launch
To further facilitate the building process, we add docker in our code. Docker environment is like a sandbox, thus makes our code environment-independent. To run with docker, first make sure ros and docker are installed on your machine. Then add your account to docker
group by sudo usermod -aG docker $YOUR_USER_NAME
. Relaunch the terminal or logout and re-login if you get Permission denied
error, type:
cd ~/catkin_ws/src/A-LOAM/docker
make build
The build process may take a while depends on your machine. After that, run ./run.sh 16
or ./run.sh 64
to launch A-LOAM, then you should be able to see the result.
Thanks for LOAM(J. Zhang and S. Singh. LOAM: Lidar Odometry and Mapping in Real-time) and LOAM_NOTED.