feat: wait until autonomous mode is enabled #74
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
The current automatic_goal_sender is set to call the
/api/operation_mode/change_to_autonomous
service as soon as/api/routing/state
becomesRouteState::SET
. However, in this state, Planning may still be in preparation, and autonomous_mode may not be ready. In such situations, the automatic_goal_sender process crashes as shown in the message below. I have modified the code to wait for autonomous_mode to be ready before calling the change_to_autonomous service.Related links
none
Tests performed
I verified with the Planning_simulator that the automatic_goal_sender operates correctly in situations where Planning takes time to prepare.
$ros2 launch autoware_launch planning_simulator.launch.xml vehicle_id:=default vehicle_model:=[VEHICLE_MODEL] sensor_model:=[SENSOR_MODEL] map_path:=[MAP_PATH]
$ros2 launch tier4_automatic_goal_rviz_plugin automatic_goal_sender.launch.xml goals_list_file_path:=[GOAL_LIST_PATH] goals_achieved_dir_path:=[PATH]
Notes for reviewers
none
Interface changes
none
Effects on system behavior
none ( This is a feature not used in regular autonomous driving. )
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.
Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.
After all checkboxes are checked, anyone who has write access can merge the PR.