You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
behavior_velocity_planner is a planner that adjust velocity based on the traffic rules.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
When each module plans velocity, it considers based on base_link(center of rear-wheel axis) pose.
So for example, in order to stop at a stop line with the vehicles' front on the stop line, it calculates base_link position from the distance between base_link to front and modifies path velocity from the base_link position.
Input topics
Name
Type
Description
~input/path_with_lane_id
tier4_planning_msgs::msg::PathWithLaneId
path with lane_id
~input/vector_map
autoware_map_msgs::msg::LaneletMapBin
vector map
~input/vehicle_odometry
nav_msgs::msg::Odometry
vehicle velocity
~input/dynamic_objects
autoware_perception_msgs::msg::PredictedObjects
dynamic objects
~input/no_ground_pointcloud
sensor_msgs::msg::PointCloud2
obstacle pointcloud
~/input/compare_map_filtered_pointcloud
sensor_msgs::msg::PointCloud2
obstacle pointcloud filtered by compare map. Note that this is used only when the detection method of run out module is Points.
(to be a global parameter) max acceleration of the vehicle
system_delay
double
(to be a global parameter) delay time until output control command
delay_response_time
double
(to be a global parameter) delay time of the vehicle's response to control commands
Traffic Light Handling in sim/real
The handling of traffic light information varies depending on the usage. In the below table, the traffic signal topic element for the corresponding lane is denoted as info, and if info is not available, it is denoted as null.
module \ case
info is null
info is not null
intersection_occlusion(is_simulation = *)
info is the latest non-null information
GO(occlusion is ignored)
intersection_occlusion uses the latest non UNKNOWN observation in the queue up to present.
If info is GREEN or UNKNOWN, occlusion is cared
If info is RED or YELLOW, occlusion is ignored(GO)
NOTE: Currently timeout is not considered
traffic_light(sim, is_simulation = true)
info is current information
GO
traffic_light uses the perceived traffic light information at present directly.
If info is timeout, STOP whatever the color is
If info is not timeout, then act according to the color. If info is UNKNOWN, STOP
{: rowspan=2}
traffic_light(real, is_simulation = false)
info is current information
STOP
⁠ {: style="padding:0"}
crosswalk with Traffic Light(is_simulation = *)
info is current information
default
If disable_yield_for_new_stopped_object is true, each sub scene_module ignore newly detected pedestrians after module instantiation.
If ignore_with_traffic_light is true, occlusion detection is skipped.