tier4 / nebula

A universal LiDAR and radar driver for ROS 2, supporting Hesai, Velodyne, Robosense and Continental sensors.
https://tier4.github.io/nebula/
Apache License 2.0
55 stars 54 forks source link

refactor(hesai): per-sensor diagnostic struct definitions #208

Closed ike-kazu closed 3 weeks ago

ike-kazu commented 1 month ago

PR Type

Related Links

Description

Hesai LiDAR TCP errors are occurred. To fix it, TCP Structs and other processes are fixed in this pr.

Review Procedure

Remarks

Pre-Review Checklist for the PR Author

PR Author should check the checkboxes below when creating the PR.

Checklist for the PR Reviewer

Reviewers should check the checkboxes below before approval.

Post-Review Checklist for the PR Author

PR Author should check the checkboxes below before merging.

CI Checks

mojomex commented 1 month ago

@ike-kazu Thank you! I'll test with real sensors this week, after which we can merge.

mojomex commented 1 month ago

Evaluation

I have reduced the remaining log spam to a minimum and implemented the missing QT128 support. I also added sensor-specific parsing of HesaiInventory. Due to the datasheets available to me not being quite up-to-date, some of the sensors still cannot be parsed correctly and some of the diagnostics (listed below the first table) are still incorrect.

The sensors we currently use in-house (Pandar40P, XT32, AT128, QT128, OT128) are all working as expected apart for some minor issues listed below.

No PandarQT64 was available for testing.

Summary

Criterion Pandar40P Pandar64 XT32 AT128 QT128 OT128
All structs parsed warning-free? :green_circle: :red_circle: :red_circle: :green_circle: :green_circle: :red_circle:
All diagnostics correct? :green_circle: :red_circle: :red_circle: :green_circle: :green_circle: :green_circle:
PTP diagnostics correct? :green_circle: :red_circle: :green_circle: :green_circle: :green_circle: :green_circle:
Nebula running without errors? :green_circle: :green_circle: :green_circle: :green_circle: :green_circle: :green_circle:

Diagnostics Output

Model PTP off PTP on
Pandar40P Screenshot from 2024-10-30 15-16-43 Screenshot from 2024-10-30 15-17-18
Pandar64 Screenshot from 2024-10-30 15-12-02 Screenshot from 2024-10-30 15-15-19
XT32 Screenshot from 2024-10-30 15-08-40 Screenshot from 2024-10-30 15-09-15
AT128 Screenshot from 2024-10-30 15-18-41 Screenshot from 2024-10-30 15-19-13
QT128 Screenshot from 2024-10-30 16-36-25 Screenshot from 2024-10-30 16-37-05
OT128 Screenshot from 2024-10-30 15-20-50 Screenshot from 2024-10-30 15-21-11
codecov[bot] commented 3 weeks ago

Codecov Report

Attention: Patch coverage is 0% with 305 lines in your changes missing coverage. Please review.

Project coverage is 26.12%. Comparing base (a908f61) to head (83a226a). Report is 5 commits behind head on main.

Files with missing lines Patch % Lines
.../nebula_hw_interfaces_hesai/hesai_cmd_response.hpp 0.00% 184 Missing :warning:
nebula_ros/src/hesai/hw_monitor_wrapper.cpp 0.00% 63 Missing :warning:
.../nebula_hesai_hw_interfaces/hesai_hw_interface.cpp 0.00% 54 Missing :warning:
nebula_ros/src/hesai/hesai_ros_wrapper.cpp 0.00% 2 Missing :warning:
.../include/nebula_common/util/string_conversions.hpp 0.00% 1 Missing :warning:
nebula_ros/src/hesai/hw_interface_wrapper.cpp 0.00% 1 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #208 +/- ## ========================================== - Coverage 26.16% 26.12% -0.04% ========================================== Files 99 100 +1 Lines 9198 9212 +14 Branches 2215 2216 +1 ========================================== Hits 2407 2407 - Misses 6401 6416 +15 + Partials 390 389 -1 ``` | [Flag](https://app.codecov.io/gh/tier4/nebula/pull/208/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=tier4) | Coverage Δ | | |---|---|---| | [differential](https://app.codecov.io/gh/tier4/nebula/pull/208/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=tier4) | `26.12% <0.00%> (?)` | | | [total](https://app.codecov.io/gh/tier4/nebula/pull/208/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=tier4) | `?` | | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=tier4#carryforward-flags-in-the-pull-request-comment) to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.