Skip to content

ataparlar/loam-mapper

Repository files navigation

LOAM Mapper for Autoware Labs

In Autoware Labs, LOAM Based Localization will be used. For this purpose, we need to create a tool for generating LOAM feature point cloud maps. This tool is created for that reason.

loam_mapper_edge_and_surface_features

Here are the videos shows how the tool works after running.

Used data for development

We are using the below data for development

  • Ground truth pose data which contains the post-processed precise time, position and orientation data.
  • PCAP file that contains LiDAR packets supported with PPS signal and GPRMC message.

You can find the data in the link below:

The Program

The program has 2 stages. Basic mapping part and LOAM mapping part.

Basic Mapping Part

In basic mapping part, points are extracted from the PCAP files with precise time information. In that way, we can match all the LiDAR, point data with the corresponding ground truth position via time.

After matching, all the LiDAR points are transformed into the corresponding position with LiDAR-IMU calibrated matrix.

Corresponding Issue in Autoware: autowarefoundation/autoware.universe#6836

You should split the PCAP file given in the data folder in order to get rid of errors caused by RAM overfilling.

editcap -c 100000 ytu_map_2_08_04_23.pcap pcaps/ytu_campus.pcap

LOAM Mapping Part

This will be filled after LOAM mapping part is done.

Corresponding issues in Autoware:

Dependencies

The program is using below libraries:

Usage

Setting the Environment

This is a ROS2 package. So, the installation instructions are the same with all packages. We are using the below commands for using.

mkdir -p loam_mapping_ws/src
cd loam_mapping_ws/src
git clone https://github.com/ataparlar/loam-mapper
cd ../
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release

Running the LOAM Mapper

source loam_mapping_ws/install/setup.bash
ros2 launch loam_mapper loam_mapper.launch.py

Parameters

Param Description
pcap_dir_path The folder path contains the PCAPs.
pose_txt_path Path of the ground truth poses.
pcd_export_directory Export directory for PCD files.
map_origin_x X-coordinate of the origin of the map.
map_origin_y Y-coordinate of the origin of the map.
map_origin_z Z-coordinate of the origin of the map.
imu2lidar_roll LiDAR-IMU calibration X angle.
imu2lidar_pitch LiDAR-IMU calibration Y angle.
imu2lidar_yaw LiDAR-IMU calibration Z angle.
enable_ned2enu Decider parameter for enabling NED to ENU transform for LiDAR-IMU calibration values.
voxel_resolution Voxel resolution param for downsampling. (lower means denser point cloud)
save_pcd Decider parameter for saving point cloud as pcd.

Paper

Part of the code is adapted from LIO-SAM (IROS-2020).

@inproceedings{liosam2020shan,
  title={LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping},
  author={Shan, Tixiao and Englot, Brendan and Meyers, Drew and Wang, Wei and Ratti, Carlo and Rus Daniela},
  booktitle={IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
  pages={5135-5142},
  year={2020},
  organization={IEEE}
}

Part of the code is adapted from LeGO-LOAM.

@inproceedings{legoloam2018shan,
  title={LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain},
  author={Shan, Tixiao and Englot, Brendan},
  booktitle={IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
  pages={4758-4765},
  year={2018},
  organization={IEEE}
}

Acknowledgement

  • loam_mapper is based on the feature extraction part of LIO-SAM (Shan, Tixiao and Englot, Brendan and Meyers, Drew and Wang, Wei and Ratti, Carlo and Rus Daniela. LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages