Skip to content
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(ars548): initial driver #123

Merged
merged 55 commits into from
Mar 28, 2024
Merged

Conversation

knzo25
Copy link
Collaborator

@knzo25 knzo25 commented Mar 5, 2024

PR Type

  • New Feature

Related Links

Description

Adds the initial hardware interface, decoder and ros2 wrapper for the continental ARS548 radar

Review Procedure

Remarks

Pre-Review Checklist for the PR Author

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

  • Assign PR to reviewer

Checklist for the PR Reviewer

Reviewers should check the checkboxes below before approval.

  • Commits are properly organized and messages are according to the guideline
  • (Optional) Unit tests have been written for new behavior
  • PR title describes the changes

Post-Review Checklist for the PR Author

PR Author should check the checkboxes below before merging.

  • All open points are addressed and tracked via issues or tickets

CI Checks

  • Build and test for PR: Required to pass before the merge.

knzo25 and others added 28 commits December 13, 2023 15:42
The initial implementation consists of a working hw_interface, decoder, and ros wrappers.
The full ros wrappers to be integrated with other coebases have not been implemented.
Since this is the first non-lidar sensor in the codebase, some structural changes were tentatively proposed.
Some refactoring is still needed

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Changed the generic naming to ARS548 since it looked like many things can not be generalized
Added documentation to the new methods
Addressed remaining TODOs

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
… for this PR

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
…_wrapper.cpp

Co-authored-by: Max Schmeller <6088931+mojomex@users.noreply.github.com>
…unused code

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
…entation

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Also fixed some typos
Both implementations provide the same results

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
…typo

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
…es for evaluation, and implemented some ROS logic to set the radar configuration and dynamic input

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
…d added visualization markers

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
…interfaces but the radar track msgs

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
…stics are now parsed in the decoder, fixed radar configuration, and implemented a temporary multi radar hw interface

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
@knzo25 knzo25 requested review from mojomex and drwnz March 5, 2024 05:27
Copy link
Collaborator

@mojomex mojomex left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Except for the few small things noted above, this looks really nice!
I'll test with a PCAP or the real sensor asap for some final checks!

Also thanks for doing proper error detection/handling for all the config and sensor comms 😄

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
@mojomex
Copy link
Collaborator

mojomex commented Mar 15, 2024

Confirmed working with real hardware (used this launch file with the sensor's IP changed accordingly) while Autoware was running (for odometry etc.).

Tested:
🟢 All topics output data, no obvious errors (NaN, inf, etc.) in output
🟢 All Rviz topics are displayed correctly
🟢 People / retro-reflectors moving in front of the sensor are shown
🟢 Output fields in the pointcloud have no obvious errors
🟢 No errors logged in console
🟢 Unit tests pass

Service calls etc. have not yet been tested because of the open conversation above.

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
@knzo25
Copy link
Collaborator Author

knzo25 commented Mar 18, 2024

@mojomex
Applied the requested changes and proposed a new way to set the parameters 🙏

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
@mojomex
Copy link
Collaborator

mojomex commented Mar 18, 2024

🟢 Code review and functionality review complete, LGTM

🟢 Service calls are looking good, too!
🟡 As there is still the bug related to mounting angles (the sensor's fault as far as we know), I'm waiting for @knzo25's feedback on whether to merge (with an added disclaimer about angle limits) or to wait.

@mojomex mojomex self-requested a review March 18, 2024 07:01
@mojomex
Copy link
Collaborator

mojomex commented Mar 21, 2024

I'm waiting for @knzo25's feedback on whether to merge (with an added disclaimer about angle limits) or to wait.

@knzo25
If I recall correctly, issues only occur in the object output if the mounting angle of the radar is > 20deg off the longitudinal axis, correct?
Would you mind adding a line to the readme warning users of that? Everything else already looks good 👍

@knzo25
Copy link
Collaborator Author

knzo25 commented Mar 26, 2024

@mojomex
I got the thumbs up from David to merge this :)
Regarding the erratic behavior, since nothing is confirmed, I prefer to fix and document it once we hear back from Continental

Copy link
Collaborator

@mojomex mojomex left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@mojomex
Copy link
Collaborator

mojomex commented Mar 28, 2024

@amc-nu It looks like all requested changes are addressed, is it okay to go ahead and merge?

@amc-nu
Copy link
Contributor

amc-nu commented Mar 28, 2024

Yes, please go ahead!
Thank you @knzo25

@knzo25 knzo25 merged commit cb3c56a into tier4:main Mar 28, 2024
6 checks passed
@knzo25 knzo25 deleted the feat/continental_drivers branch March 28, 2024 08:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants