Skip to content

Support for Hesai FT120 #410

@mgiardino-be

Description

@mgiardino-be

For our project, we got a couple of Hesai FT120 solid state LIDAR. As this sensor is not yet supported, we integrated it into Nebula, following the documentations guidelines.

After rebasing our local branch over recent commit 222ac51, resulting changes should be in the "large contributions" camp (total diff file is more than 1600 lines).
Main changes are:

  • definition of new packet for the FT120 sensor (header, block and tail);
  • management of the sensor calibration file (it is a binary file format, that contains azimuth and elevation angles for each pixel of the sensor; a new subclass of HesaiCalibrationConfigurationBase was added);
  • a dedicated child class of AngleCorrector to manage the computations and storage of lookup tables for sin/cos;
  • a new child class of HesaiScanDecoder to manage the decoding (this was developed last November, so maybe it maintains the structure of the decoder before the last refactors);
  • minor additions to manage the new sensor.

There are a couple of dirty hacks (the second template parameter of the dedicated AngleCorrector is used to provide the total sensor column count; different standard parameter for rotating sensors must be declared but are not used, e.g. rotation_speed), and we don't have tests (we see the sensor output in Rviz, and for us is good enough; and we don't have idea how to build the tests).

Image

Should I open a PR?

Thank you for the great work!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions