feat(nebula_sample): add sample sensor package as template#382
feat(nebula_sample): add sample sensor package as template#382drwnz wants to merge 68 commits intotier4:mainfrom
Conversation
Signed-off-by: David Wong <david.wong@tier4.jp>
Signed-off-by: David Wong <david.wong@tier4.jp>
Signed-off-by: David Wong <david.wong@tier4.jp>
There was a problem hiding this comment.
Pull request overview
This PR adds a vendor-agnostic nebula_sample package template to accelerate integration of new sensors into the Nebula LiDAR driver framework. It provides a complete working example with stub implementations that compile successfully and can serve as a copy-and-modify starting point for developers.
- Implements four-package modular structure (common, decoders, hw_interfaces, ROS wrapper)
- Includes comprehensive integration guide with step-by-step instructions
- Provides stub implementations that demonstrate the required architecture
Reviewed changes
Copilot reviewed 20 out of 20 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/nebula_sample/nebula_sample_common/* | Common configuration structures and dependencies |
| src/nebula_sample/nebula_sample_decoders/* | Decoder interface and driver with stub packet parsing |
| src/nebula_sample/nebula_sample_hw_interfaces/* | Hardware interface for sensor communication setup |
| src/nebula_sample/nebula_sample/* | ROS 2 wrapper node with point cloud publisher and launch file |
| src/nebula_sample/README.md | Package overview and quick-start documentation |
| src/nebula_sample/INTEGRATION_GUIDE.md | Detailed step-by-step integration instructions |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/nebula_sample/nebula_sample_common/include/nebula_sample_common/sample_common.hpp
Outdated
Show resolved
Hide resolved
mojomex
left a comment
There was a problem hiding this comment.
Thanks! I think it's already close to what we want!
I left some smaller feedback about overly Hesai-specific examples and style.
Maybe comments in the code to make the role of each of the function stubs more understandable would be nice.
As for the integration guide, I think it would need to contain sections about what building blocks Nebula provides (UDP socket handling, diagnostic helpers, etc.), and also about the required behavior on startup, reconfiguration, connection loss, etc.
I alos think that the guide shall be moved to the docs and rendered with Mkdocs to have everything in one place.
Signed-off-by: David Wong <david.wong@tier4.jp>
Signed-off-by: David Wong <david.wong@tier4.jp>
Signed-off-by: David Wong <david.wong@tier4.jp>
2144e77 to
d61f787
Compare
…dor-neutral guidance Signed-off-by: David Wong <david.wong@tier4.jp>
Signed-off-by: David Wong <david.wong@tier4.jp>
Codecov Report❌ Patch coverage is ❌ Your patch check has failed because the patch coverage (0.00%) is below the target coverage (90.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #382 +/- ##
==========================================
+ Coverage 36.75% 37.12% +0.36%
==========================================
Files 138 145 +7
Lines 11207 11387 +180
Branches 5961 6020 +59
==========================================
+ Hits 4119 4227 +108
- Misses 6301 6342 +41
- Partials 787 818 +31
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
Signed-off-by: David Wong <david.wong@tier4.jp>
… and titles Signed-off-by: David Wong <david.wong@tier4.jp>
Signed-off-by: David Wong <david.wong@tier4.jp>
Thanks for the review! I moved the integration guide to https://github.com/tier4/nebula/blob/3f235db56c121c587c7dec41f272ae7001fbdc05/docs/integration_guide.md and added a lot more information to it. |
cde75c4 to
3f235db
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 25 out of 25 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…mode Signed-off-by: David Wong <david.wong@tier4.jp>
Signed-off-by: David Wong <david.wong@tier4.jp>
Signed-off-by: David Wong <david.wong@tier4.jp>
Signed-off-by: David Wong <david@lifecyclist.co.nz>
mojomex
left a comment
There was a problem hiding this comment.
Addressed review threads with commit references (see inline).
Signed-off-by: Max SCHMELLER <max.schmeller@tier4.jp>
Signed-off-by: Max SCHMELLER <max.schmeller@tier4.jp>
Signed-off-by: Max SCHMELLER <max.schmeller@tier4.jp>
Signed-off-by: Max SCHMELLER <max.schmeller@tier4.jp>
Signed-off-by: Max SCHMELLER <max.schmeller@tier4.jp>
Signed-off-by: Max SCHMELLER <max.schmeller@tier4.jp>
|
@codex Please review.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e2c3c95d92
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
src/nebula_core/nebula_core_ros/examples/point_types_usage_example.cpp
Outdated
Show resolved
Hide resolved
Signed-off-by: Max SCHMELLER <max.schmeller@tier4.jp>
…nd decoder interfaces Signed-off-by: Max SCHMELLER <max.schmeller@tier4.jp>
…nd order of operations Signed-off-by: Max SCHMELLER <max.schmeller@tier4.jp>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b08432e38d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
src/nebula_sample/nebula_sample/include/nebula_sample/sample_ros_wrapper.hpp
Show resolved
Hide resolved
Signed-off-by: Max SCHMELLER <max.schmeller@tier4.jp>
…leHwInterface Signed-off-by: Max SCHMELLER <max.schmeller@tier4.jp>
Signed-off-by: Max SCHMELLER <max.schmeller@tier4.jp>
…pleRosWrapper Signed-off-by: Max SCHMELLER <max.schmeller@tier4.jp>
Signed-off-by: David Wong <david.wong@tier4.jp>
PR Type
Related Links
Description
Add a new
nebula_samplepackage that serves as a vendor-agnostic template for integrating new sensors into Nebula.Goals
This package achieves three main objectives:
Package Structure
The sample sensor consists of four packages:
nebula_sample_common- Common definitions and configuration structuresnebula_sample_decoders- Packet decoder and driver implementationnebula_sample_hw_interfaces- Hardware interface for sensor communicationnebula_sample- ROS 2 wrapper and launch filesKey Features
Documentation
Pre-Review Checklist for the PR Author
Checklist for the PR Reviewer
Post-Review Checklist for the PR Author