[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
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
New motion planning module to modify the velocity profile of the ego trajectory
Main motivation: use the final
Trajectoryshape for calculation rather than the approximatePath.Desired features
Updated motion planning architecture
Running after the
obstacle_avoidance_plannerallows using the final shape of theTrajectoryfor 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_lanedynamic_obstacle_stopobstacle_velocity_limiterOpen questions
I think this new node makes sense to enable more accurate collision detection, but it blurs the difference between
behaviorandmotionvelocity planning. Thus the questions are:behavior_velocity_plannermodules to the motion planning side ?behaviorandmotionplanning ?Previous considerations
Fixing the path shape before the
behavior_velocity_plannerWe could keep the
behavior_velocity_planneras it is but improve its inputPathto be more accurate.This would require doing some potentially heavy optimization in the
behavior_path_plannerso this approach was skipped.Directly moving the
behavior_velocity_plannerto 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_plannerInstead 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_laneonly cares about the current ego lane, and theobstacle_velocity_limiteronly 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_plannerdirectly 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