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

planning/control component is dependent on the packages outside of planning/control component #8805

Open
3 of 7 tasks
youtalk opened this issue Sep 8, 2024 · 6 comments
Open
3 of 7 tasks
Assignees
Labels
component:control Vehicle control algorithms and mechanisms. (auto-assigned) component:map Map creation, storage, and loading. (auto-assigned) component:planning Route planning, decision-making, and navigation. (auto-assigned) component:sensing Data acquisition from sensors, drivers, preprocessing. (auto-assigned)

Comments

@youtalk
Copy link
Member

youtalk commented Sep 8, 2024

Checklist

  • I've read the contribution guidelines.
  • I've searched other issues and no duplicate issues were found.
  • I've agreed with the maintainers that I can plan this task.

Description

autowarefoundation/autoware#5194 found that the planning/control component is dependent on the following packages outside of the planning/control component.

  • map/map_loader
  • map/autoware_map_projection_loader
  • sensing/autoware_pcl_extensions
  • sensing/autoware_pointcloud_preprocessor

Since the dependencies will no longer follow a parent-child relationship, the components become tightly coupled.

Purpose

Ensure that there are no dependency packages spanning across components. Connections between components should depend only on the core packages or the autoware.universe/common packages.

Possible approaches

Ensure that there are no dependency packages spanning across components. Connections between components should depend only on the core packages or the autoware.universe/common packages.

Definition of done

The planning/control packages will no longer directly depend on the following packages.

  • map/map_loader
  • map/autoware_map_projection_loader
  • sensing/autoware_pcl_extensions
  • sensing/autoware_pointcloud_preprocessor
@youtalk youtalk added component:sensing Data acquisition from sensors, drivers, preprocessing. (auto-assigned) component:planning Route planning, decision-making, and navigation. (auto-assigned) component:control Vehicle control algorithms and mechanisms. (auto-assigned) component:map Map creation, storage, and loading. (auto-assigned) labels Sep 8, 2024
@takayuki5168 takayuki5168 self-assigned this Sep 18, 2024
@takayuki5168
Copy link
Contributor

@youtalk
Thank you for the issues, and sorry to be late.
Could you give me the command to show the list of the packages outside of the planning/control component which the planning/control component is dependent on?

@youtalk
Copy link
Member Author

youtalk commented Oct 11, 2024

@takayuki5168 I only checked by CI builds.
I made a reproducible PR autowarefoundation/autoware#5331 and the latest result was https://github.com/autowarefoundation/autoware/actions/runs/11287273469/job/31392958946?pr=5331#step:5:988.

 > [rosdep-universe-planning-control-depend 3/4] RUN rosdep keys --ignore-src --from-paths src     | xargs rosdep resolve --rosdistro humble     | grep -v '^#'     | sed 's/ \+/\n/g'    | sort     > /rosdep-universe-planning-control-depend-packages.txt     && cat /rosdep-universe-planning-control-depend-packages.txt:
1.349 ERROR: no rosdep rule for 'autoware_map_projection_loader'
1.349 ERROR: no rosdep rule for 'autoware_pointcloud_preprocessor'
1.349 ERROR: no rosdep rule for 'map_loader'

@mitsudome-r
Copy link
Member

If we are going to include tier4_control_launch and tier4_planning_launch, I had to add the following dependencies as well:

  • autoware_control_evaluator
  • autoware_evaluator_utils
  • autoware_planning_evaluator
  • autoware_external_cmd_converter
  • autoware_raw_vehicle_cmd_converter

Copy link

stale bot commented Dec 29, 2024

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

@stale stale bot added the status:stale Inactive or outdated issues. (auto-assigned) label Dec 29, 2024
@takayuki5168
Copy link
Contributor

@youtalk
#9855
By the above PR, the planning and control packages do not now depend on the following packages.

  • map/map_loader
  • map/autoware_map_projection_loader

@youtalk
Copy link
Member Author

youtalk commented Jan 9, 2025

@takayuki5168 Great work! Thank you for sharing. To also remove autoware_pointcloud_preprocessor dependency, please discuss later.

@stale stale bot removed the status:stale Inactive or outdated issues. (auto-assigned) label Jan 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:control Vehicle control algorithms and mechanisms. (auto-assigned) component:map Map creation, storage, and loading. (auto-assigned) component:planning Route planning, decision-making, and navigation. (auto-assigned) component:sensing Data acquisition from sensors, drivers, preprocessing. (auto-assigned)
Projects
Status: To Triage
Development

No branches or pull requests

3 participants