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(mission_planner): add the interface to reroute while driving #3184

Conversation

isamu-takagi
Copy link
Contributor

@isamu-takagi isamu-takagi commented Mar 28, 2023

Description

Add interfaces for rerouting while driving autowarefoundation/autoware#3406.

Related links

#3221
TIER IV INTERNAL LINK.

Tests performed

Tested that the vehicle can reach the road shoulder goal in planning simulator.

Notes for reviewers

Need following PRs to build.

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.

Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp>
Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp>
@github-actions github-actions bot added component:common Common packages from the autoware-common repository. (auto-assigned) type:documentation Creating or refining documentation. (auto-assigned) component:planning Route planning, decision-making, and navigation. (auto-assigned) labels Mar 28, 2023
@isamu-takagi isamu-takagi marked this pull request as ready for review March 28, 2023 03:19
@isamu-takagi isamu-takagi self-assigned this Mar 28, 2023
@isamu-takagi isamu-takagi changed the title Feat/driving route change feat(ission_planner): add the interface to reroute while driving Mar 28, 2023
@isamu-takagi isamu-takagi changed the title feat(ission_planner): add the interface to reroute while driving feat(mission_planner): add the interface to reroute while driving Mar 28, 2023
@codecov
Copy link

codecov bot commented Mar 28, 2023

Codecov Report

Patch coverage has no change and project coverage change: -0.01 ⚠️

Comparison is base (f5770cc) 12.31% compared to head (8987a54) 12.31%.

❗ Current head 8987a54 differs from pull request most recent head 3a1a446. Consider uploading reports for the commit 3a1a446 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3184      +/-   ##
==========================================
- Coverage   12.31%   12.31%   -0.01%     
==========================================
  Files        1340     1340              
  Lines       93513    93526      +13     
  Branches    26777    26777              
==========================================
  Hits        11519    11519              
- Misses      69832    69845      +13     
  Partials    12162    12162              
Flag Coverage Δ *Carryforward flag
differential 15.47% <0.00%> (?)
total 12.31% <ø> (+<0.01%) ⬆️ Carriedforward from e3edaca

*This pull request uses carry forward flags. Click here to find out more.

Impacted Files Coverage Δ
...on_planner/src/mission_planner/arrival_checker.cpp 0.00% <ø> (ø)
...on_planner/src/mission_planner/mission_planner.cpp 0.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

Copy link
Contributor

@purewater0901 purewater0901 left a comment

Choose a reason for hiding this comment

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

LGTM

Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp>
Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp>
Copy link
Contributor

@kosuke55 kosuke55 left a comment

Choose a reason for hiding this comment

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

thanks! LGTM

@isamu-takagi
Copy link
Contributor Author

@yabuta @tkhmy @kenji-miyake
Could you please review the interface additions to the component_interface_specs package?

struct ChangeRoute
{
using Service = autoware_planning_msgs::srv::SetRoute;
static constexpr char name[] = "/planning/mission_planning/change_route";
Copy link
Contributor

Choose a reason for hiding this comment

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

@isamu-takagi cc @mitsudome-r @yukkysaito
Could you please clarify why we need the change APIs in addition to the existing set APIs? If it's already documented, just writing the link is fine!

Copy link
Contributor Author

@isamu-takagi isamu-takagi Mar 30, 2023

Choose a reason for hiding this comment

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

This PR was created for MRM pull over (#3221). Since the route change by MRM pull over is done while driving, it is necessary to keep the route for some distance. The change route interface diverts this so that it can be used in normal operations as well. Therefore, the interface is separated to call a different process than the set route.

Copy link
Contributor

Choose a reason for hiding this comment

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

Thank you, I understand.
But I feel it's a little different from what I guess from the word reroute.
Also, I think it can be completed within the Planning component, so I'm not sure whether we need to add new component interfaces for this.

I'll wait for comments from other architects.
(I forgot to mention @xmfcx, sorry.)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@kenji-miyake I made a block diagram. This is the interface between ADAPI and planning.
routing-change

Copy link
Contributor

Choose a reason for hiding this comment

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

@isamu-takagi Thank you, but when and why do users call this change API? 🤔

Copy link
Contributor Author

@isamu-takagi isamu-takagi Apr 5, 2023

Choose a reason for hiding this comment

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

@kenji-miyake For example, when users want to change the goal while driving, or when splitting a route to create a circular route.

Copy link
Contributor

Choose a reason for hiding this comment

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

Hmm, I'm sorry I don't understand the use cases well... 🥺
I'll leave the review to @mitsudome-r and @yukkysaito.

Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp>
Signed-off-by: Takagi, Isamu <isamu.takagi@tier4.jp>
struct SetMrm
{
using Service = autoware_planning_msgs::srv::SetPoseWithUuidStamped;
static constexpr char name[] = "~/srv/set_mrm";
Copy link
Member

@mitsudome-r mitsudome-r Apr 6, 2023

Choose a reason for hiding this comment

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

MRM is abbreviation of "minimum risk maneuver" so I prefer the name to be "~/srv/set_mrm_goal" or "~/srv/set_emergency_goal"

@isamu-takagi
Copy link
Contributor Author

@isamu-takagi isamu-takagi deleted the feat/driving-route-change branch November 22, 2023 02:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:common Common packages from the autoware-common repository. (auto-assigned) component:planning Route planning, decision-making, and navigation. (auto-assigned) type:documentation Creating or refining documentation. (auto-assigned)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants