Skip to content

[ROS][feat] Add Hesai converter

Julia Sanchez requested to merge ROS1/feat/AddHesaiConverter into master

Goal

Add a converter node between Hesai driver output and Lidar SLAM node

Changes

  • Add a new node for Hesai point conversion
    • Based on velodyne node
    • Remove the time of the frame from the time of the points
  • Add a launch file slam_hesai with this conversion node
  • The hesai point is added to external includes. It is taken from here

Results

Reproduce

Data

LD data from wheezy -> Hesai XT32

Build

catkin build --cmake-args -DCMAKE_BUILD_TYPE=Release

Parameters

No change

Run

roslaunch lidar_slam slam_hesai.launch

rosbag play --clock path/to/hesai_bag.bag

Output

  • Here is a resulting map built with this converter.

Checklist

  • Camel case everywhere except for ROS variables/parameters
  • Lower case for local variables and lambda functions
  • Upper case for pour members, methods and tool functions (in Utils)
  • Precise namespace when calling a function (or this->X or classe.X)
  • Align code (for multiline if and while, "&&" or "||" go in upper line to ensure alignement)
  • Space between if, while, for and parenthesis
  • Space between operators and variables: e.g. a + b
  • Space after ","
  • Mind your commit titles/desc (plurals, he/she + "s", correct tags, title should begin by a verb...)
  • Function names should start with a verb, variable names should start with a name
  • Macros should be between {}
  • Do not use negative boolean (i.e. noJoe)
  • Check minimal size of the types (double -> float -> int -> uint)
  • Check const and ref in functions arguments
  • References should be written "type& name", not "type &name"
  • Update documentation if needed
  • Add MR labels [ROS]/[ROS2]/[PV]
  • If ros/ros2, update task table here
  • Add a comment over each non trivial function in header files
  • Add a header to each new file

What remains to do

WARNING : The dual return mode of Hesai driver is not handled in the converter and can cause the SLAM to have a weird behavior (bad keypoints extraction)

Edited by Tong Fu

Merge request reports