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.
obstacle pointcloud filtered by compare map. Note that this is used only when the detection method of run out module is Points.
~input/traffic_signals
autoware_perception_msgs::msg::TrafficSignalArray
traffic light states
Output topics
Name
Type
Description
~output/path
autoware_auto_planning_msgs::msg::Path
path to be followed
~output/stop_reasons
tier4_planning_msgs::msg::StopReasonArray
reasons that cause the vehicle to stop
Node parameters
Parameter
Type
Description
launch_modules
vector<string>
module names to launch
forward_path_length
double
forward path length
backward_path_length
double
backward path length
max_accel
double
(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.