autoware.universe icon indicating copy to clipboard operation
autoware.universe copied to clipboard

feat(autodrive_autoware): autodrive-autoware integration

Open Tinker-Twins opened this issue 4 months ago • 9 comments

Description

The core deliverable of this project was integrating Autoware stack with AutoDRIVE Ecosystem to demonstrate the end-to-end task of mapping an unknown environment, recording a trajectory within the mapped environment, and autonomously tracking the pre-recorded trajectory to achieve the desired objective. Particularly, we demonstrate sim2real Autoware deployments using Nigel and F1TENTH, two small-scale autonomous vehicle platforms with unique qualities and capabilities. Additionally we demonstrate simulated Autoware deployments using mid-scale Hunter SE and full-scale OpenCAV within simplified as well as realistic scenarios. It is worth mentioning that this work encapsulates the first-ever off-road deployment of the Autoware stack using the mid-scale vehicle platform, thereby expanding the operational design domain (ODD) of Autoware beyond on-road autonomous navigation.

Related links

Tests performed

We have tested sim2real Autoware deployments using Nigel and F1TENTH, two small-scale autonomous vehicle platforms with unique qualities and capabilities. Additionally we have also extensively validated simulated Autoware deployments using mid-scale Hunter SE and full-scale OpenCAV within simplified as well as realistic scenarios.

Deployment videos pertaining to AutoDRIVE-Autoware Integration are available within the Autoware Playlist on AutoDRIVE Ecosystem's YouTube Channel.

Notes for reviewers

Not applicable.

Interface changes

The existing interfaces remain unchanged. New interfaces pertaining to AutoDRIVE-Autoware integration have been added.

Effects on system behavior

The existing system behavior remains unaffected. New demonstrations pertaining to AutoDRIVE-Autoware integration have been added.

Pre-review checklist for the PR author

The PR author must check the checkboxes below when creating the PR.

In-review checklist for the PR reviewers

The PR reviewers must check the checkboxes below before approval.

  • [ ] The PR follows the pull request guidelines.
  • [ ] The PR has been properly tested.
  • [ ] The PR has been reviewed by the code owners.

Post-review checklist for the PR author

The PR author must check the checkboxes below before merging.

  • [ ] There are no open discussions or they are tracked via tickets.
  • [ ] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

Tinker-Twins avatar Feb 14 '24 19:02 Tinker-Twins

Thank you.

Regarding this PR, it has a very large amount of changes, making it impossible for us to review. Would it be possible for you to divide the PR into component-level changes such as Sensing/Localization/Perception/Planning/Control? We place great importance on the MicroAutonomy architecture, and the interfaces for each component are defined in Autoware. Please also check if it conforms to these interfaces.

If it's difficult to comply with this request, please let us know. In the autoware universe, we would like to allow the free incorporation of research-level projects.

yukkysaito avatar Feb 15 '24 00:02 yukkysaito

Also, CI has not passed and conflicts are occurring. I will change it to Draft and you can change it to Ready when you are ready to review.

yukkysaito avatar Feb 15 '24 00:02 yukkysaito

Dear @yukkysaito,

Thank you for your feedback and for reviewing the pull request.

We understand your concerns regarding the size of the changes and the importance of maintaining clarity by dividing the PR into component-level changes. However, it would be difficult for us to divide the PR since it involves a large number of changes. In case it helps, following is a summary of the PR along with the most prominent updates:

PR Summary: The core crux of this PR was to integrate Autoware with AutoDRIVE Ecosystem. AutoDRIVE is an integrated digital twin ecosystem for modeling and simulating (real2sim) as well as deploying and validating (sim2real) autonomous vehicles across different scales, configurations, and operational design domains (ODDs). This PR contributes Autoware API for the AutoDRIVE Ecosystem along with detailed documentation and canned demos for deploying Autoware stack on small-scale (Nigel, F1TENTH), mid-scale (Hunter SE) as well as full-scale (OpenCAV) autonomous vehicles in simulation as well as real-world settings.

PR Updates: This PR does not change any of the existing functions of the Autoware stack. It contributes autodrive_autoware including the following:

Regarding the CI failing, we have resolved most of these conflicts and have now marked this PR as Ready. We kindly request you to review it at your convenience.

Thank you and have a nice day!

Best regards, Chinmay and Tanmay (a.k.a. Tinker Twins)

Tinker-Twins avatar Feb 20 '24 06:02 Tinker-Twins

@Tinker-Twins thank you very much for this draft PR. We'd love to learn more about your project. Are you available on Tuesday next week to join the Software WG Meeting to present your work? Check the meeting calendar for the times (import the calendar to see your local time).

idorobotics avatar Feb 20 '24 15:02 idorobotics

@idorobotics Thank you for inviting us to the upcoming Software WG Meeting. We would love to present the AutoDRIVE-Autoware integration to the Autoware community! See you on Tuesday!

Tinker-Twins avatar Feb 24 '24 05:02 Tinker-Twins

@Tinker-Twins As discussed in the Software WG, could you create a discussion thread with some diagrams explaining the changes that you would like to make (addition of packages, change in interface, etc.) just like this example ?

mitsudome-r avatar Feb 27 '24 07:02 mitsudome-r

@Tinker-Twins @mitsudome-r I've moved the autodrive_ecosystem branch from where it was (it was in somewhere along the main branch) to the f1tenth_galactic branch.

Just this change reduced the files changed tab here from 4k~ to 1k~.

@Tinker-Twins could you check your updates again and revise this PR?

Also I highly recommend you to use https://www.gitkraken.com/ to visually see what is going on and how branches are playing along with each other. It is free to use for public repositories like ours.

It makes actions like rebasing and switching between branches so easy and visual.

xmfcx avatar Feb 27 '24 19:02 xmfcx

@xmfcx and @mitsudome-r Many thanks for rebasing the autodrive_ecosystem branch. We have updated the PR by moving all our changes to the autodrive_autoware directory. This way, the other autoware.universe components are still how they were earlier.

I kindly request you review and merge this PR to the autodrive_ecosystem branch. In the meantime, we will continue to work on testing our changes with the main branch of autoware.universe using ROS 2 Humble. In the near future, we plan to create a discussion with exhaustive documentation of our changes (with some diagrams explaining the input-output architectures) as well as a separate PR with our code ported to and tested with ROS 2 Humble.

Tinker-Twins avatar Mar 01 '24 16:03 Tinker-Twins

This pull request has been automatically marked as stale because it has not had recent activity.

stale[bot] avatar May 01 '24 10:05 stale[bot]