Git Product home page Git Product logo

lidar_appearance_calibration's Introduction

Overview

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

Dependency List

This package was tested 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 in planar surfaces. You can use the below function or CloudCompare software to filter redundant points:
    • 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 using RANSAC
    • 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 (same colors mean that data are associated)
    • 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

Reference

To use the code, pleace cite this paper:

@inproceedings{jiao2019novel,
  title={A novel dual-lidar calibration algorithm using planar surfaces},
  author={Jiao, Jianhao and Liao, Qinghai and Zhu, Yilong and Liu, Tianyu and Yu, Yang and Fan, Rui and Wang, Lujia and Liu, Ming},
  booktitle={2019 IEEE Intelligent Vehicles Symposium (IV)},
  pages={1499--1504},
  year={2019},
  organization={IEEE}
}

lidar_appearance_calibration's People

Contributors

gogojjh avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.