[Proposal] Move some velocity planning modules from behavior to motion planning #4704
maxime-clem
started this conversation in
Design
Replies: 1 comment 4 replies
-
@maxime-clem Hello, I am very sorry to bother you. After updating the autoware version, I found that a new motion_velocity_planner node was added, and this node also has an optional configuration parameter |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
New motion planning module to modify the velocity profile of the ego trajectory
Main motivation: use the final
Trajectory
shape for calculation rather than the approximatePath
.Desired features
Updated motion planning architecture
Running after the
obstacle_avoidance_planner
allows using the final shape of theTrajectory
for more accurate collision calculations.Internal Interface
Very similar to the
behavior_velocity_planner
. Each module is a plugin that can easily be enabled or disabled. These modules follow a same interface and uses the same input planning data (ego state, dynamic objects, map, etc).Target Modules
Here are modules that I propose to initially move to the
motion_velocity_planner
.out_of_lane
dynamic_obstacle_stop
obstacle_velocity_limiter
Open questions
I think this new node makes sense to enable more accurate collision detection, but it blurs the difference between
behavior
andmotion
velocity planning. Thus the questions are:behavior_velocity_planner
modules to the motion planning side ?behavior
andmotion
planning ?Previous considerations
Fixing the path shape before the
behavior_velocity_planner
We could keep the
behavior_velocity_planner
as it is but improve its inputPath
to be more accurate.This would require doing some potentially heavy optimization in the
behavior_path_planner
so this approach was skipped.Directly moving the
behavior_velocity_planner
to the motion planningRequires heavy interface changes and would completely break the current architecture. Since this is too big of a change this idea was skipped.
Forbid using the vector map in the proposed
motion_velocity_planner
Instead of directly using the vector map, we could use an intermediate node that provide necessary information to the
motion_velocity_planner
. For example, theout_of_lane
only cares about the current ego lane, and theobstacle_velocity_limiter
only cares about static obstacles encoded in the vector map. An intermediate node could extract these geometries from the map and send it to themotion_velocity_planner
.Then the node can still be used without having a vector map and the geometries can be provided by other nodes (e.g., perception).
This idea was skipped. Instead, the
motion_velocity_planner
directly uses the vector map but will still be able to function without it. Only some modules will require the vector map to run.Beta Was this translation helpful? Give feedback.
All reactions