-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: support Aeva Aeries II #169
base: main
Are you sure you want to change the base?
Conversation
a8c9ee5
to
4829c22
Compare
4829c22
to
282c6aa
Compare
🟢 Evaluation🟢 Pointcloud Output
*: red: strongest, magenta: second strongest. 🟢 PerformanceThe pointcloud is published consistently at around 10 Hz: 🟢 Hardware Monitor
***: 🟢 PTP & SynchronizationPTP has been tested with all provided mechanisms (1588v2, gPTP, automotive) and works with all of them using the vendor-provided configurations. Pointcloud timestamps take around 1-2 min to converge.
🟢 Error Handling & RecoveryCurrently, Nebula does not attempt to recover from communication errors and instead exits, instead of continuing in a possibly corrupted state.
All of these errors only occur during startup. No crashes / errors were observed during runtime. 🟢 ParametersAll parameters from the sensor's manifest that have more than one possible value have been added to Nebula. No attempt was made to convert them to the common naming scheme used in the other drivers (e.g. Validation:
|
@drwnz All issues from yesterday have been addressed and I could not find any bugs or unexpected behavior since. I think this is ready to merge. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #169 +/- ##
==========================================
- Coverage 26.10% 24.05% -2.05%
==========================================
Files 100 125 +25
Lines 9218 10012 +794
Branches 2215 2309 +94
==========================================
+ Hits 2406 2408 +2
- Misses 6423 7215 +792
Partials 389 389
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
@@ -0,0 +1,10 @@ | |||
<?xml version="1.0"?> | |||
<launch> | |||
<arg name="sensor_model" description="Aeries2"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
description or default?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
b3ffe46
to
e2da3f4
Compare
1a92701
to
9a9bc9f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(quick read through review, will go through in more detail)
auto mode_name = util::get_if_exists<std::string>(tree, {"dsp_control", "second_peak_type"}); | ||
|
||
if (!mode_name) return {}; | ||
if (mode_name == "strongest") return ReturnMode::DUAL_STRONGEST_SECONDSTRONGEST; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: although no performance benefit in this case, a switch
looks nicer (IMO)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
C++ doesn't allow switch statements for strings 🥲 I agree though
|
||
POINT_CLOUD_REGISTER_POINT_STRUCT( // NOLINT | ||
nebula::drivers::aeva::PointXYZVIRCAEDT, | ||
(float, x, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yikes is this how pre-commit wanted the line break? :P
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, tried to coax it to do it differently but it's stubborn.
nebula_decoders/include/nebula_decoders/nebula_decoders_aeva/aeva_aeries2_decoder.hpp
Outdated
Show resolved
Hide resolved
const aeva::Aeries2Config & config, const std::shared_ptr<loggers::Logger> & logger) | ||
{ | ||
return std::make_shared<ReconfigParser>( | ||
std::make_shared<TcpStream>(config.sensor_ip, 41007), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If it is plausible that the port numbers change with updated sensor models, should these be constexpr in a relevant header file?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed! Addressed in f5bd7fc.
..._hw_interfaces/include/nebula_hw_interfaces/nebula_hw_interfaces_aeva/connections/health.hpp
Outdated
Show resolved
Hide resolved
…, higher timeouts
Co-authored-by: David Wong <[email protected]>
… in FW14 anymore Signed-off-by: Max SCHMELLER <[email protected]>
Signed-off-by: Max SCHMELLER <[email protected]>
Signed-off-by: Max SCHMELLER <[email protected]>
Signed-off-by: Max SCHMELLER <[email protected]>
Signed-off-by: Max SCHMELLER <[email protected]>
1a6f4bd
to
0cae323
Compare
Signed-off-by: Max SCHMELLER <[email protected]>
Signed-off-by: Max SCHMELLER <[email protected]>
Signed-off-by: Max SCHMELLER <[email protected]>
Signed-off-by: Max SCHMELLER <[email protected]>
Signed-off-by: Max SCHMELLER <[email protected]>
Signed-off-by: Max SCHMELLER <[email protected]>
… sensor_model in launch file Signed-off-by: Max SCHMELLER <[email protected]>
Signed-off-by: Max SCHMELLER <[email protected]>
@mojomex |
PR Type
Description
Add support for Aeva Aeries II:
/diagnostics
Review Procedure
rviz2
)launch_hw:=true
, subscribed to whenlaunch_hw:=false
rqt
's Plugins->Robot Tools->Runtime Monitor)Remarks
This is a fairly minimal implementation for now.
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