diff --git a/launch/tier4_planning_launch/launch/planning.launch.xml b/launch/tier4_planning_launch/launch/planning.launch.xml
index e02ba883d5115..710fb20631a45 100644
--- a/launch/tier4_planning_launch/launch/planning.launch.xml
+++ b/launch/tier4_planning_launch/launch/planning.launch.xml
@@ -9,6 +9,7 @@
+
@@ -25,6 +26,7 @@
+
diff --git a/launch/tier4_planning_launch/launch/scenario_planning/lane_driving.launch.xml b/launch/tier4_planning_launch/launch/scenario_planning/lane_driving.launch.xml
index bae084f80b51e..1ec74793b741b 100644
--- a/launch/tier4_planning_launch/launch/scenario_planning/lane_driving.launch.xml
+++ b/launch/tier4_planning_launch/launch/scenario_planning/lane_driving.launch.xml
@@ -1,5 +1,6 @@
+
@@ -11,6 +12,7 @@
+
diff --git a/launch/tier4_planning_launch/launch/scenario_planning/lane_driving/behavior_planning/behavior_planning.launch.xml b/launch/tier4_planning_launch/launch/scenario_planning/lane_driving/behavior_planning/behavior_planning.launch.xml
index 04ec688de6f60..29d44f7075d05 100644
--- a/launch/tier4_planning_launch/launch/scenario_planning/lane_driving/behavior_planning/behavior_planning.launch.xml
+++ b/launch/tier4_planning_launch/launch/scenario_planning/lane_driving/behavior_planning/behavior_planning.launch.xml
@@ -5,6 +5,7 @@
+
@@ -202,6 +203,7 @@
+
@@ -243,6 +245,7 @@
+
diff --git a/launch/tier4_planning_launch/launch/scenario_planning/scenario_planning.launch.xml b/launch/tier4_planning_launch/launch/scenario_planning/scenario_planning.launch.xml
index e673d28804480..0a30204ca3c99 100644
--- a/launch/tier4_planning_launch/launch/scenario_planning/scenario_planning.launch.xml
+++ b/launch/tier4_planning_launch/launch/scenario_planning/scenario_planning.launch.xml
@@ -1,5 +1,6 @@
+
@@ -53,6 +54,7 @@
+
diff --git a/planning/behavior_velocity_planner/src/node.cpp b/planning/behavior_velocity_planner/src/node.cpp
index 1cb04a37724c5..2ece273715425 100644
--- a/planning/behavior_velocity_planner/src/node.cpp
+++ b/planning/behavior_velocity_planner/src/node.cpp
@@ -150,6 +150,9 @@ BehaviorVelocityPlannerNode::BehaviorVelocityPlannerNode(const rclcpp::NodeOptio
declare_parameter("ego_nearest_dist_threshold");
planner_data_.ego_nearest_yaw_threshold = declare_parameter("ego_nearest_yaw_threshold");
+ // is simulation or not
+ planner_data_.is_simulation = declare_parameter("is_simulation");
+
// Initialize PlannerManager
for (const auto & name : declare_parameter>("launch_modules")) {
// workaround: Since ROS 2 can't get empty list, launcher set [''] on the parameter.
@@ -327,8 +330,6 @@ void BehaviorVelocityPlannerNode::onTrafficSignals(
{
std::lock_guard lock(mutex_);
- planner_data_.has_received_signal_ = true;
-
for (const auto & signal : msg->signals) {
TrafficSignalStamped traffic_signal;
traffic_signal.stamp = msg->stamp;
diff --git a/planning/behavior_velocity_planner/test/src/test_node_interface.cpp b/planning/behavior_velocity_planner/test/src/test_node_interface.cpp
index 491df4c7a8766..eaba921ea1b1c 100644
--- a/planning/behavior_velocity_planner/test/src/test_node_interface.cpp
+++ b/planning/behavior_velocity_planner/test/src/test_node_interface.cpp
@@ -78,6 +78,7 @@ std::shared_ptr generateNode()
std::vector params;
params.emplace_back("launch_modules", module_names);
+ params.emplace_back("is_simulation", false);
node_options.parameter_overrides(params);
test_utils::updateNodeOptions(
diff --git a/planning/behavior_velocity_planner_common/include/behavior_velocity_planner_common/planner_data.hpp b/planning/behavior_velocity_planner_common/include/behavior_velocity_planner_common/planner_data.hpp
index 2b361ae8c8bec..d1f0c39c71205 100644
--- a/planning/behavior_velocity_planner_common/include/behavior_velocity_planner_common/planner_data.hpp
+++ b/planning/behavior_velocity_planner_common/include/behavior_velocity_planner_common/planner_data.hpp
@@ -82,8 +82,9 @@ struct PlannerData
std::map traffic_light_time_to_red_id_map;
tier4_v2x_msgs::msg::VirtualTrafficLightStateArray::ConstSharedPtr virtual_traffic_light_states;
- // this value becomes true once the signal message is received
- bool has_received_signal_ = false;
+ // This variable is used when the Autoware's behavior has to depend on whether it's simulation or
+ // not.
+ bool is_simulation = false;
// velocity smoother
std::shared_ptr velocity_smoother_;
diff --git a/planning/behavior_velocity_traffic_light_module/src/scene.cpp b/planning/behavior_velocity_traffic_light_module/src/scene.cpp
index 23a7c2e757795..aa6d5297b7f99 100644
--- a/planning/behavior_velocity_traffic_light_module/src/scene.cpp
+++ b/planning/behavior_velocity_traffic_light_module/src/scene.cpp
@@ -303,16 +303,15 @@ bool TrafficLightModule::isStopSignal()
{
updateTrafficSignal();
- // Pass through if no traffic signal information has been received yet
- // This is to prevent stopping on the planning simulator
- if (!planner_data_->has_received_signal_) {
- return false;
- }
-
- // Stop if there is no upcoming traffic signal information
- // This is to safely stop in cases such that traffic light recognition is not working properly or
- // the map is incorrect
+ // If there is no upcoming traffic signal information,
+ // SIMULATION: it will PASS to prevent stopping on the planning simulator
+ // or scenario simulator.
+ // REAL ENVIRONMENT: it will STOP for safety in cases such that traffic light
+ // recognition is not working properly or the map is incorrect.
if (!traffic_signal_stamp_) {
+ if (planner_data_->is_simulation) {
+ return false;
+ }
return true;
}