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(autoware_planning_test_manager): porting autoware_planning_test_manager package from autoware.universe #203

Conversation

NorahXiong
Copy link
Contributor

@NorahXiong NorahXiong commented Feb 19, 2025

Description

We are porting autoware_planning_test_manager to autoware.core, and this PR adds the package to core.

Following modification were added:

  • reset version in package.xml and remove CHANGELOG.rst
  • modify include file directory structure to match with Autoware Coding Guideline

Related links

Parent Issue:

How was this PR tested?

The whole project is built correctly locally.
The github CICD errors are related to dependence to autoware.universe.
The launch failed locally and will be re-executed after the dependency resolved.

Update: Planning simulator works well in the following code version:

Version Information

  • === ./core/autoware-github-actions (git) ===

    • main
    • commit a59cae0e24e46c8f04ddb0a1c5b9b9ddbb2fcd5b (HEAD -> main, origin/main, origin/HEAD)
  • === ./core/autoware.core (git) ===

    • porting/autoware_planning_test_manager
    • commit 097421b (HEAD -> porting/autoware_planning_test_manager, origin/porting/autoware_planning_test_manager)
  • === ./core/autoware_adapi_msgs (git) ===

    • main
    • commit 7c2e79e3b50eeec857a4e5c9e6bfe343245de5b4 (HEAD -> main, tag: 1.7.0, origin/main, origin/HEAD)
  • === ./core/autoware_cmake (git) ===

    • main
    • commit cff8b194d0c2d3b7a58a3cc405de254e49da1560 (HEAD -> main, origin/main, origin/HEAD)
  • === ./core/autoware_internal_msgs (git) ===

    • main
    • commit 04484399dc98fb4b12f292128aea687a7b13d53e (HEAD -> main, tag: 1.6.0, origin/main, origin/HEAD)
  • === ./core/autoware_lanelet2_extension (git) ===

    • main
    • commit c84775e2d13e559e12ca6998b8405a45bedb45dc (HEAD -> main, origin/main, origin/HEAD)
  • === ./core/autoware_msgs (git) ===

    • main
    • commit 2a54c182c5a166eb8a55a2dfadc9c144232b1bf2 (HEAD -> main, tag: 1.4.0, origin/main, origin/HEAD)
  • === ./core/autoware_utils (git) ===

    • main
    • commit 2a2ffa0f3aa554accf8d6e353063772d81ebde5a (HEAD -> main, tag: 1.2.0, origin/main, origin/HEAD)
  • === ./core/external/autoware_auto_msgs (git) ===

    • tier4/main
    • commit 624aae9feb142eb2a4e16069ed06bf4050ccc3ea (HEAD -> tier4/main, origin/tier4/main, origin/HEAD)
  • === ./launcher/autoware_launch (git) ===

    • main
    • commit 740164dec75097149cde7e9f4ceb3cef1766e447 (HEAD -> main, origin/main, origin/HEAD)
  • === ./middleware/external/heaphook (git) ===

    • main
    • commit 856418ff7963d94972fe489da64fbbf36c54ac82 (HEAD -> main, origin/main, origin/HEAD)
  • === ./param/autoware_individual_params (git) ===

    • main
    • commit 70000825155182d9261ce0980076b0e2c6dc3f51 (HEAD -> main, origin/main, origin/HEAD)
  • === ./sensor_component/external/nebula (git) ===

    • (头指针在 v0.2.1 分离)
    • commit f43a28d1a8a51aca5efcae9186139767154bc44f (HEAD, tag: v0.2.1)
  • === ./sensor_component/external/sensor_component_description (git) ===

    • main
    • commit 079820003a1c969df7fa02ca092e532c66ab809e (HEAD -> main, origin/main, origin/HEAD)
  • === ./sensor_component/external/tamagawa_imu_driver (git) ===

    • ros2
    • commit de4bf6be79aa2968cf2f62e0ebe1ff8a5797e6ad (HEAD -> ros2, origin/ros2, origin/HEAD)
  • === ./sensor_component/ros2_socketcan (git) ===

    • main
    • commit e39a814180b03f00a5692b6951a5d4e9f0463486 (HEAD -> main, origin/main, origin/HEAD)
  • === ./sensor_component/transport_drivers (git) ===

    • main
    • commit 39ebd8afe1bb9760a6cd6272e428468480f6de90 (HEAD -> main, origin/main, origin/HEAD)
  • === ./sensor_kit/awsim_labs_sensor_kit_launch (git) ===

    • main
    • commit 0408a820fc93bee269b16cdb7ee13e5d0b3e8625 (HEAD -> main, origin/main, origin/HEAD)
  • === ./sensor_kit/external/awsim_sensor_kit_launch (git) ===

    • main
    • commit 9a2bec455ae3c4616b5e52bf7062ceeced82fbbf (HEAD -> main, origin/main, origin/HEAD)
  • === ./sensor_kit/sample_sensor_kit_launch (git) ===

    • main
    • commit 561034ec56328329ade3a52e1ebbed5db70cdc06 (HEAD -> main, origin/main, origin/HEAD)
  • === ./sensor_kit/single_lidar_sensor_kit_launch (git) ===

    • main
    • commit bfbf37b50481e9173c5888f9739f4eabaa45d10e (HEAD -> main, origin/main, origin/HEAD)
  • === ./universe/autoware.universe (git) ===

    • porting/autoware_planning_test_manager
    • commit e306a315dafee7d4f5897f137a5abb513af3d20e (HEAD -> porting/autoware_planning_test_manager)
  • === ./universe/external/eagleye (git) ===

    • autoware-main
    • commit c1919448336e86a8dd9c94a337032c05fcf6c381 (HEAD -> autoware-main, origin/autoware-main)
  • === ./universe/external/glog (git) ===

    • v0.6.0_t4-ros
    • commit ea36766fdc2ac8e8c8e3ac988ae69acd6d09bb30 (HEAD -> v0.6.0_t4-ros, origin/v0.6.0_t4-ros)
  • === ./universe/external/llh_converter (git) ===

    • ros2
    • commit 07ad112b4f6b83eccd3a5f777bbe40ff01c67382 (HEAD -> ros2, origin/ros2)
  • === ./universe/external/morai_msgs (git) ===

    • (头指针在 e2e75fc 分离)
    • commit e2e75fc1603a9798773e467a679edf68b448e705 (HEAD)
  • === ./universe/external/muSSP (git) ===

    • tier4/main
    • commit c79e98fd5e658f4f90c06d93472faa977bc873b9 (HEAD -> tier4/main, origin/tier4/main, origin/HEAD)
  • === ./universe/external/pointcloud_to_laserscan (git) ===

    • tier4/main
    • commit d969ec699f84fad827fbadfa3001c9c657482fbe (HEAD -> tier4/main, origin/tier4/main, origin/HEAD)
  • === ./universe/external/rtklib_ros_bridge (git) ===

    • ros2-v0.1.0
    • commit ef094407bba4f475a8032972e0c60cbb939b51b8 (HEAD -> ros2-v0.1.0, origin/ros2-v0.1.0)
  • === ./universe/external/tier4_ad_api_adaptor (git) ===

    • tier4/universe
    • commit 278e32d1bc3f14cb79e27c6ef8131db82504769d (HEAD -> tier4/universe, tag: 0.41.0, origin/tier4/universe, origin/sync-micro-bus, origin/HEAD)
  • === ./universe/external/tier4_autoware_msgs (git) ===

    • tier4/universe
    • commit e6d504b0bf4fc80d994a92fc7a783bdca11ac8d0 (HEAD -> tier4/universe, tag: v0.41.0, origin/tier4/universe, origin/HEAD)
  • === ./universe/external/trt_batched_nms (git) ===

    • main
    • commit 1a9df130b4a5d96c25019b5793abbfde42d237ac (HEAD -> main, origin/main, origin/HEAD)
  • === ./vehicle/awsim_labs_vehicle_launch (git) ===

    • main
    • commit be791b9b257ef6a440c635f95438310abf876d95 (HEAD -> main, origin/main, origin/HEAD)
  • === ./vehicle/external/pacmod_interface (git) ===

    • main
    • commit 1c033a21ce0c41cd4fb878b95d3e1620de79e95a (HEAD -> main, origin/main, origin/HEAD)
  • === ./vehicle/sample_vehicle_launch (git) ===

    • main
    • commit cd852aed85aaf033a0747050cf4300967e89c1ae (HEAD -> main, origin/main, origin/HEAD)

Notes for reviewers

This PR should be handled together with

This PR depends on

This PR depends on autoware_component_interface_utils(not ported from universe yet). Update: The header file referenced in this package is not used. So the reference of autoware_component_interface_utils is deleted.

Interface changes

None.

Effects on system behavior

None.

Copy link

github-actions bot commented Feb 19, 2025

Thank you for contributing to the Autoware project!

🚧 If your pull request is in progress, switch it to draft mode.

Please ensure:

@NorahXiong NorahXiong added run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) component:planning Route planning, decision-making, and navigation. (auto-assigned) labels Feb 19, 2025
@NorahXiong NorahXiong force-pushed the porting/autoware_planning_test_manager branch 2 times, most recently from 03ed558 to d608d6b Compare February 21, 2025 05:19
@xmfcx xmfcx force-pushed the porting/autoware_planning_test_manager branch from c50cde5 to b0b3345 Compare February 25, 2025 04:54
Copy link

codecov bot commented Feb 25, 2025

Codecov Report

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

Project coverage is 0.00%. Comparing base (4cb18f5) to head (bc5f54c).
Report is 55 commits behind head on main.

Files with missing lines Patch % Lines
...est_manager/src/autoware_planning_test_manager.cpp 0.00% 52 Missing ⚠️
...ng_test_manager/autoware_planning_test_manager.hpp 0.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #203       +/-   ##
==========================================
- Coverage   78.75%   0.00%   -78.76%     
==========================================
  Files          11      70       +59     
  Lines         193    8475     +8282     
  Branches       73     782      +709     
==========================================
- Hits          152       0      -152     
- Misses         11    8475     +8464     
+ Partials       30       0       -30     
Flag Coverage Δ
differential 0.00% <0.00%> (?)
total ?

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@xmfcx xmfcx force-pushed the porting/autoware_planning_test_manager branch from b0b3345 to c2dee29 Compare February 26, 2025 04:55
xmfcx
xmfcx previously requested changes Feb 26, 2025
Copy link
Contributor

@xmfcx xmfcx left a comment

Choose a reason for hiding this comment

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

Added suggestions to include links and the reasoning for the extra headers.

@NorahXiong NorahXiong force-pushed the porting/autoware_planning_test_manager branch 2 times, most recently from 47c7297 to 097421b Compare February 26, 2025 05:54
@xmfcx
Copy link
Contributor

xmfcx commented Feb 26, 2025

From the PR description:

modify include file directory structure to match with Autoware Coding Guideline

In the future, for the initial porting PRs, please keep the package modifications to minimum. (Only comments, removing changelogs, version changes etc.)

And these kind of modifications should come with new PRs in this repository.

If we do moving and modifications in the same PR like this, the changes become very hard to track. And it becomes hard to check the integrity of the moved packages. And harder to review.

For this package, the change is already done and efforts are spent. But in the future please keep these in mind 🙏

@xmfcx
Copy link
Contributor

xmfcx commented Feb 26, 2025

We have detailed the porting procedure stages here:
https://docs.google.com/document/d/1kKshojZo8RuYQ-WhIqQCqTKQO3ojTb5RB77V3NjYpdU/edit?usp=sharing

Porting Procedure Stages

  1. Transfer the package from Autoware.Universe to Autoware.Core
    • In this first step, package should be moved from Autoware.Universe to Autoware.Core repository as is without making major refactoring to avoid major changes except for the following:
      • Make sure the package doesn’t depend on anything from Autoware.Universe
      • Remove CHANGELOG.rst
      • Reset the package version in package.xml to 0.0.0
      • Any other minor fix to pass Autoware.Core CI
    • In this first step DO NOT PERFORM:
      • Dependency types changes
      • Cosmetic changes
      • Internal directory structure changes
      • Adding new tests
    • All these changes should be done AFTER moving the package is done. Feel free to open up issues to track these planned changes during the MOVE PR.
  2. Refactor the package
    • Do any refactoring of the ported package to adhere to the policy stated above.
    • This can be done with multiple PRs.

cc. @NorahXiong @mitsudome-r @youtalk
Edit: Updated the steps to be more explicit.

@xmfcx xmfcx self-requested a review February 26, 2025 06:36
@xmfcx xmfcx dismissed their stale review February 26, 2025 06:37

My requests were applied.

NorahXiong and others added 5 commits February 26, 2025 14:54
…manager package from autoware.universe:

Signed-off-by: NorahXiong <norah.xiong@autocore.ai>
Signed-off-by: NorahXiong <norah.xiong@autocore.ai>
…er file and package

Signed-off-by: NorahXiong <norah.xiong@autocore.ai>
@NorahXiong NorahXiong force-pushed the porting/autoware_planning_test_manager branch from 097421b to bc5f54c Compare February 26, 2025 06:54
@xmfcx
Copy link
Contributor

xmfcx commented Feb 26, 2025

I've compared this PR to the version on the Universe side and also the package.xml dependencies are modified too.

The negative version of the following changes were made:
image

The package is still building so removing unused dependencies is good.
In the future, remove these dependencies in a separate PR.

@xmfcx
Copy link
Contributor

xmfcx commented Feb 26, 2025

I will now check out to both PRs and try to build and test entire autoware manually.

I wouldn't have to have to do this if this was a simple move PR but because it is also changing the internal directory of the package, I have to manually check this :((((((

@NorahXiong
Copy link
Contributor Author

I've compared this PR to the version on the Universe side and also the package.xml dependencies are modified too.

The negative version of the following changes were made: image

The package is still building so removing unused dependencies is good. In the future, remove these dependencies in a separate PR.

Maybe a separate commit in a single PR?

I will now check out to both PRs and try to build and test entire autoware manually.

I wouldn't have to have to do this if this was a simple move PR but because it is also changing the internal directory of the package, I have to manually check this :((((((

Sorry for adding your burden. I get the point that each change should respond to a commit.

@xmfcx
Copy link
Contributor

xmfcx commented Feb 26, 2025

Not even a commit, better do a separate PR.

For this PR, don't change anything anymore, I've already started testing. If you follow these steps for the future PRs, that's alright 👍

@xmfcx
Copy link
Contributor

xmfcx commented Feb 26, 2025

Testing with:

# to update mixin stuff
colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
colcon mixin update default

colcon test --event-handlers console_cohesion+ --mixin coverage-pytest --packages-select $(colcon list --base-paths src/universe/autoware.universe -n | awk '{printf "%s ", $1}')

colcon test --event-handlers console_cohesion+ --mixin coverage-pytest --packages-select $(colcon list --base-paths src/core/autoware.core -n | awk '{printf "%s ", $1}')

autoware_autonomous_emergency_braking autoware_surround_obstacle_checker packages had errors in the first run. Then run them separately and they passed. They are flaky 😞

But I think this and the Universe PRs can be merged. ✅

Thanks for the efforts!

@NorahXiong
Copy link
Contributor Author

Not even a commit, better do a separate PR.

For this PR, don't change anything anymore, I've already started testing. If you follow these steps for the future PRs, that's alright 👍

I don't really get this point. For example, if the package.xml dependencies are deleted in a separate PR(B), this PR(A) will fail in CICD due to the dependency problem(e.g. tier4_planning_msgs, autoware_universe_utils). However, B depends on A. So both A and B will be stuck to be merged.

@xmfcx
Copy link
Contributor

xmfcx commented Feb 26, 2025

For example, if the package.xml dependencies are deleted in a separate PR(B), this PR(A) will fail in CICD due to the dependency problem(e.g. tier4_planning_msgs, autoware_universe_utils).

In case it concerns the CI, the changes are allowed.

Any other minor fix to pass Autoware.Core CI

But should be kept to minimum. And in these cases, separating the commits would be useful.

Copy link
Contributor

@xmfcx xmfcx left a comment

Choose a reason for hiding this comment

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

@xmfcx xmfcx merged commit feed6d5 into autowarefoundation:main Feb 26, 2025
24 of 26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:planning Route planning, decision-making, and navigation. (auto-assigned) run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants