Skip to content

gogojjh/lidar_appearance_calibration

Repository files navigation

Overview

This a ros package for multi lidar calibration improved qh's previous appearance-based work. Several method are to be implemented:

Dependency List

Test on Ubuntu 16.04, ROS Kinetic

Usage

  1. Create a yaml file cfg.yaml into a fold, please follow ../data/example/top_tail/cfg.yaml to write
  2. Preproces raw pointcloud to keep points with only planes. You can use the below function or CloudCompare software like this:
    rosrun lidar_appearance_calibration calib_preprocess ../data/example/raw/ref.pcd ../data/example/raw/data.pcd ../data/example/raw/ref_filter.pcd ../data/example/raw/data_filter.pcd
  3. Extract planes from pointcloud
    rosrun lidar_appearance_calibration calib_plane_extraction pcd ../data/example/top_front/cfg.yaml
    rostopic pub /contact/icp std_msgs/String "data: ''" rviz -d ../rviz/plane_extraction
  4. Visualize and check the extracted plane order
    rosrun pcl_ros pcd_to_pointcloud ../data/example/top_front/plane/ref_planes.pcd 1

    rosrun pcl_ros pcd_to_pointcloud ../data/example/top_front/plane/data_planes.pcd 1

    rviz -d ../rviz/plane_extraction
  5. Implement ICP to minimize Plane-to-Plane error
    • Auto initialization
      rosrun lidar_appearance_calibration calib_icp ../data/example/top_front/ref_cfg.yaml ../data/example/top_front/data_cfg.yaml a
    • Manual initialization
      rosrun lidar_appearance_calibration calib_icp ../data/example/top_front/ref_cfg.yaml ../data/example/top_front/data_cfg.yaml m
    • Call the program
      rostopic pub /contact/save_plane std_msgs/String "data: ''"
  6. Visualize the calibration result
    pcl_viewer ../data/example/top_front/merged_opt.pcd

Result

  1. Plane extraction

  2. Pointcloud fusion

  3. Calibration resut


LQH's previous work

  1. ICP(point-plane minimizer, libpointmatcher)
  2. plane fitting optimization(single shot)
  3. auxiliary objects(plane, stick)

JJH's current work (20190103 - now)

  1. Automatic plane selection and correspondence matching
    • RANSAC
    • Order normal
  2. Find rotation between three pairs of normals
  3. Minimize point-to-plane error

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published