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 · 3 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

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