Skip to content

Commit 328ffa9

Browse files
feat(costmap_generator, control_validator, scenario_selector, surround_obstacle_checker, vehicle_cmd_gate): add processing time pub. (#9065)
* feat(costmap_generator, control_validator, scenario_selector, surround_obstacle_checker, vehicle_cmd_gate): Add: processing_time_pub Signed-off-by: Kazunori-Nakajima <kazunori.nakajima@tier4.jp> * fix: pre-commit Signed-off-by: Kasunori-Nakajima <kazunori.nakajima@tier4.jp> * feat(costmap_generator): fix: No output when not Active. Signed-off-by: Kasunori-Nakajima <kazunori.nakajima@tier4.jp> * fix: clang-format Signed-off-by: Kasunori-Nakajima <kazunori.nakajima@tier4.jp> * Re: fix: clang-format Signed-off-by: Kasunori-Nakajima <kazunori.nakajima@tier4.jp> --------- Signed-off-by: Kazunori-Nakajima <kazunori.nakajima@tier4.jp> Signed-off-by: Kasunori-Nakajima <kazunori.nakajima@tier4.jp>
1 parent bb825f0 commit 328ffa9

File tree

11 files changed

+100
-0
lines changed

11 files changed

+100
-0
lines changed

control/autoware_control_validator/include/autoware/control_validator/control_validator.hpp

+5
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,14 @@
2020
#include "autoware_vehicle_info_utils/vehicle_info.hpp"
2121
#include "diagnostic_updater/diagnostic_updater.hpp"
2222

23+
#include <autoware/universe_utils/system/stop_watch.hpp>
2324
#include <autoware_control_validator/msg/control_validator_status.hpp>
2425
#include <rclcpp/rclcpp.hpp>
2526

2627
#include <autoware_planning_msgs/msg/trajectory.hpp>
2728
#include <diagnostic_msgs/msg/diagnostic_array.hpp>
2829
#include <nav_msgs/msg/odometry.hpp>
30+
#include <tier4_debug_msgs/msg/float64_stamped.hpp>
2931

3032
#include <cstdint>
3133
#include <memory>
@@ -143,6 +145,7 @@ class ControlValidator : public rclcpp::Node
143145
universe_utils::InterProcessPollingSubscriber<Trajectory>::SharedPtr sub_reference_traj_;
144146
rclcpp::Publisher<ControlValidatorStatus>::SharedPtr pub_status_;
145147
rclcpp::Publisher<visualization_msgs::msg::MarkerArray>::SharedPtr pub_markers_;
148+
rclcpp::Publisher<tier4_debug_msgs::msg::Float64Stamped>::SharedPtr pub_processing_time_;
146149

147150
// system parameters
148151
int64_t diag_error_count_threshold_ = 0;
@@ -167,6 +170,8 @@ class ControlValidator : public rclcpp::Node
167170

168171
Odometry::ConstSharedPtr current_kinematics_;
169172

173+
autoware::universe_utils::StopWatch<std::chrono::milliseconds> stop_watch;
174+
170175
std::shared_ptr<ControlValidatorDebugMarkerPublisher> debug_pose_publisher_;
171176
};
172177
} // namespace autoware::control_validator

control/autoware_control_validator/src/control_validator.cpp

+11
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@ ControlValidator::ControlValidator(const rclcpp::NodeOptions & options)
4747

4848
pub_markers_ = create_publisher<visualization_msgs::msg::MarkerArray>("~/output/markers", 1);
4949

50+
pub_processing_time_ =
51+
this->create_publisher<tier4_debug_msgs::msg::Float64Stamped>("~/debug/processing_time_ms", 1);
52+
5053
debug_pose_publisher_ = std::make_shared<ControlValidatorDebugMarkerPublisher>(this);
5154

5255
setup_parameters();
@@ -134,6 +137,8 @@ bool ControlValidator::is_data_ready()
134137

135138
void ControlValidator::on_predicted_trajectory(const Trajectory::ConstSharedPtr msg)
136139
{
140+
stop_watch.tic();
141+
137142
current_predicted_trajectory_ = msg;
138143
current_reference_trajectory_ = sub_reference_traj_->takeData();
139144
current_kinematics_ = sub_kinematics_->takeData();
@@ -162,6 +167,12 @@ void ControlValidator::publish_debug_info()
162167
debug_pose_publisher_->push_warning_msg(front_pose, "INVALID CONTROL");
163168
}
164169
debug_pose_publisher_->publish();
170+
171+
// Publish ProcessingTime
172+
tier4_debug_msgs::msg::Float64Stamped processing_time_msg;
173+
processing_time_msg.stamp = get_clock()->now();
174+
processing_time_msg.data = stop_watch.toc();
175+
pub_processing_time_->publish(processing_time_msg);
165176
}
166177

167178
void ControlValidator::validate(

control/autoware_vehicle_cmd_gate/src/vehicle_cmd_gate.cpp

+22
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ VehicleCmdGate::VehicleCmdGate(const rclcpp::NodeOptions & node_options)
7777
engage_pub_ = create_publisher<EngageMsg>("output/engage", durable_qos);
7878
pub_external_emergency_ = create_publisher<Emergency>("output/external_emergency", durable_qos);
7979
operation_mode_pub_ = create_publisher<OperationModeState>("output/operation_mode", durable_qos);
80+
processing_time_pub_ =
81+
this->create_publisher<tier4_debug_msgs::msg::Float64Stamped>("~/debug/processing_time_ms", 1);
8082

8183
is_filter_activated_pub_ =
8284
create_publisher<IsFilterActivated>("~/is_filter_activated", durable_qos);
@@ -375,6 +377,8 @@ T VehicleCmdGate::getContinuousTopic(
375377

376378
void VehicleCmdGate::onTimer()
377379
{
380+
stop_watch.tic();
381+
378382
// Subscriber for auto
379383
const auto msg_auto_command_turn_indicator = auto_turn_indicator_cmd_sub_.takeData();
380384
if (msg_auto_command_turn_indicator)
@@ -573,12 +577,18 @@ void VehicleCmdGate::publishControlCommands(const Commands & commands)
573577
vehicle_cmd_emergency.emergency = (use_emergency_handling_ && is_system_emergency_);
574578
vehicle_cmd_emergency.stamp = filtered_control.stamp;
575579

580+
// ProcessingTime
581+
tier4_debug_msgs::msg::Float64Stamped processing_time_msg;
582+
processing_time_msg.stamp = get_clock()->now();
583+
processing_time_msg.data = stop_watch.toc();
584+
576585
// Publish commands
577586
vehicle_cmd_emergency_pub_->publish(vehicle_cmd_emergency);
578587
control_cmd_pub_->publish(filtered_control);
579588
published_time_publisher_->publish_if_subscribed(control_cmd_pub_, filtered_control.stamp);
580589
adapi_pause_->publish();
581590
moderate_stop_interface_->publish();
591+
processing_time_pub_->publish(processing_time_msg);
582592

583593
// Save ControlCmd to steering angle when disengaged
584594
prev_control_cmd_ = filtered_control;
@@ -616,12 +626,18 @@ void VehicleCmdGate::publishEmergencyStopControlCommands()
616626
vehicle_cmd_emergency.stamp = stamp;
617627
vehicle_cmd_emergency.emergency = true;
618628

629+
// ProcessingTime
630+
tier4_debug_msgs::msg::Float64Stamped processing_time_msg;
631+
processing_time_msg.stamp = get_clock()->now();
632+
processing_time_msg.data = stop_watch.toc();
633+
619634
// Publish topics
620635
vehicle_cmd_emergency_pub_->publish(vehicle_cmd_emergency);
621636
control_cmd_pub_->publish(control_cmd);
622637
turn_indicator_cmd_pub_->publish(turn_indicator);
623638
hazard_light_cmd_pub_->publish(hazard_light);
624639
gear_cmd_pub_->publish(gear);
640+
processing_time_pub_->publish(processing_time_msg);
625641
}
626642

627643
void VehicleCmdGate::publishStatus()
@@ -638,12 +654,18 @@ void VehicleCmdGate::publishStatus()
638654
external_emergency.stamp = stamp;
639655
external_emergency.emergency = is_external_emergency_stop_;
640656

657+
// ProcessingTime
658+
tier4_debug_msgs::msg::Float64Stamped processing_time_msg;
659+
processing_time_msg.stamp = get_clock()->now();
660+
processing_time_msg.data = stop_watch.toc();
661+
641662
gate_mode_pub_->publish(current_gate_mode_);
642663
engage_pub_->publish(autoware_engage);
643664
pub_external_emergency_->publish(external_emergency);
644665
operation_mode_pub_->publish(current_operation_mode_);
645666
adapi_pause_->publish();
646667
moderate_stop_interface_->publish();
668+
processing_time_pub_->publish(processing_time_msg);
647669
}
648670

649671
Control VehicleCmdGate::filterControlCommand(const Control & in)

control/autoware_vehicle_cmd_gate/src/vehicle_cmd_gate.hpp

+6
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
#include <autoware/motion_utils/vehicle/vehicle_state_checker.hpp>
2424
#include <autoware/universe_utils/ros/polling_subscriber.hpp>
2525
#include <autoware/universe_utils/ros/published_time_publisher.hpp>
26+
#include <autoware/universe_utils/system/stop_watch.hpp>
2627
#include <autoware_vehicle_cmd_gate/msg/is_filter_activated.hpp>
2728
#include <autoware_vehicle_info_utils/vehicle_info_utils.hpp>
2829
#include <diagnostic_updater/diagnostic_updater.hpp>
@@ -41,6 +42,7 @@
4142
#include <std_srvs/srv/trigger.hpp>
4243
#include <tier4_control_msgs/msg/gate_mode.hpp>
4344
#include <tier4_debug_msgs/msg/bool_stamped.hpp>
45+
#include <tier4_debug_msgs/msg/float64_stamped.hpp>
4446
#include <tier4_external_api_msgs/msg/emergency.hpp>
4547
#include <tier4_external_api_msgs/msg/heartbeat.hpp>
4648
#include <tier4_external_api_msgs/srv/engage.hpp>
@@ -114,6 +116,7 @@ class VehicleCmdGate : public rclcpp::Node
114116
rclcpp::Publisher<MarkerArray>::SharedPtr filter_activated_marker_pub_;
115117
rclcpp::Publisher<MarkerArray>::SharedPtr filter_activated_marker_raw_pub_;
116118
rclcpp::Publisher<BoolStamped>::SharedPtr filter_activated_flag_pub_;
119+
rclcpp::Publisher<tier4_debug_msgs::msg::Float64Stamped>::SharedPtr processing_time_pub_;
117120
// Parameter callback
118121
OnSetParametersCallbackHandle::SharedPtr set_param_res_;
119122
rcl_interfaces::msg::SetParametersResult onParameter(
@@ -268,6 +271,9 @@ class VehicleCmdGate : public rclcpp::Node
268271
std::unique_ptr<VehicleStopChecker> vehicle_stop_checker_;
269272
double stop_check_duration_;
270273

274+
// processing time
275+
autoware::universe_utils::StopWatch<std::chrono::milliseconds> stop_watch;
276+
271277
// debug
272278
MarkerArray createMarkerArray(const IsFilterActivated & filter_activated);
273279
void publishMarkers(const IsFilterActivated & filter_activated);

planning/autoware_costmap_generator/include/autoware_costmap_generator/costmap_generator.hpp

+7
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@
4949
#include "autoware_costmap_generator/points_to_costmap.hpp"
5050
#include "costmap_generator_node_parameters.hpp"
5151

52+
#include <autoware/universe_utils/ros/processing_time_publisher.hpp>
53+
#include <autoware/universe_utils/system/stop_watch.hpp>
5254
#include <autoware/universe_utils/system/time_keeper.hpp>
5355
#include <autoware_lanelet2_extension/utility/message_conversion.hpp>
5456
#include <grid_map_ros/GridMapRosConverter.hpp>
@@ -58,6 +60,7 @@
5860
#include <autoware_map_msgs/msg/lanelet_map_bin.hpp>
5961
#include <autoware_perception_msgs/msg/predicted_objects.hpp>
6062
#include <tf2_geometry_msgs/tf2_geometry_msgs.hpp>
63+
#include <tier4_debug_msgs/msg/float64_stamped.hpp>
6164
#include <tier4_planning_msgs/msg/scenario.hpp>
6265

6366
#include <grid_map_msgs/msg/grid_map.h>
@@ -91,6 +94,7 @@ class CostmapGenerator : public rclcpp::Node
9194
rclcpp::Publisher<grid_map_msgs::msg::GridMap>::SharedPtr pub_costmap_;
9295
rclcpp::Publisher<nav_msgs::msg::OccupancyGrid>::SharedPtr pub_occupancy_grid_;
9396
rclcpp::Publisher<autoware::universe_utils::ProcessingTimeDetail>::SharedPtr pub_processing_time_;
97+
rclcpp::Publisher<tier4_debug_msgs::msg::Float64Stamped>::SharedPtr pub_processing_time_ms_;
9498

9599
rclcpp::Subscription<sensor_msgs::msg::PointCloud2>::SharedPtr sub_points_;
96100
rclcpp::Subscription<autoware_perception_msgs::msg::PredictedObjects>::SharedPtr sub_objects_;
@@ -175,6 +179,9 @@ class CostmapGenerator : public rclcpp::Node
175179

176180
/// \brief calculate cost for final output
177181
grid_map::Matrix generateCombinedCostmap();
182+
183+
/// \brief measure processing time
184+
autoware::universe_utils::StopWatch<std::chrono::milliseconds> stop_watch;
178185
};
179186
} // namespace autoware::costmap_generator
180187

planning/autoware_costmap_generator/nodes/autoware_costmap_generator/costmap_generator_node.cpp

+14
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,8 @@ CostmapGenerator::CostmapGenerator(const rclcpp::NodeOptions & node_options)
192192
pub_processing_time_ =
193193
create_publisher<autoware::universe_utils::ProcessingTimeDetail>("processing_time", 1);
194194
time_keeper_ = std::make_shared<autoware::universe_utils::TimeKeeper>(pub_processing_time_);
195+
pub_processing_time_ms_ =
196+
this->create_publisher<tier4_debug_msgs::msg::Float64Stamped>("~/debug/processing_time_ms", 1);
195197

196198
// Timer
197199
const auto period_ns = rclcpp::Rate(param_->update_rate).period();
@@ -277,7 +279,13 @@ void CostmapGenerator::onScenario(const tier4_planning_msgs::msg::Scenario::Cons
277279
void CostmapGenerator::onTimer()
278280
{
279281
autoware::universe_utils::ScopedTimeTrack scoped_time_track(__func__, *time_keeper_);
282+
stop_watch.tic();
280283
if (!isActive()) {
284+
// Publish ProcessingTime
285+
tier4_debug_msgs::msg::Float64Stamped processing_time_msg;
286+
processing_time_msg.stamp = get_clock()->now();
287+
processing_time_msg.data = stop_watch.toc();
288+
pub_processing_time_ms_->publish(processing_time_msg);
281289
return;
282290
}
283291

@@ -467,6 +475,12 @@ void CostmapGenerator::publishCostmap(const grid_map::GridMap & costmap)
467475
auto out_gridmap_msg = grid_map::GridMapRosConverter::toMessage(costmap);
468476
out_gridmap_msg->header = header;
469477
pub_costmap_->publish(*out_gridmap_msg);
478+
479+
// Publish ProcessingTime
480+
tier4_debug_msgs::msg::Float64Stamped processing_time_msg;
481+
processing_time_msg.stamp = get_clock()->now();
482+
processing_time_msg.data = stop_watch.toc();
483+
pub_processing_time_ms_->publish(processing_time_msg);
470484
}
471485
} // namespace autoware::costmap_generator
472486

planning/autoware_scenario_selector/include/autoware/scenario_selector/node.hpp

+6
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#include <geometry_msgs/msg/twist_stamped.hpp>
2626
#include <nav_msgs/msg/odometry.hpp>
2727
#include <std_msgs/msg/bool.hpp>
28+
#include <tier4_debug_msgs/msg/float64_stamped.hpp>
2829
#include <tier4_planning_msgs/msg/scenario.hpp>
2930

3031
#include <lanelet2_core/LaneletMap.h>
@@ -37,6 +38,7 @@
3738
#endif
3839
#include <autoware/route_handler/route_handler.hpp>
3940
#include <autoware/universe_utils/ros/polling_subscriber.hpp>
41+
#include <autoware/universe_utils/system/stop_watch.hpp>
4042

4143
#include <tf2_ros/buffer.h>
4244
#include <tf2_ros/transform_listener.h>
@@ -95,6 +97,7 @@ class ScenarioSelectorNode : public rclcpp::Node
9597
rclcpp::Subscription<autoware_planning_msgs::msg::Trajectory>::SharedPtr sub_parking_trajectory_;
9698
rclcpp::Publisher<autoware_planning_msgs::msg::Trajectory>::SharedPtr pub_trajectory_;
9799
rclcpp::Publisher<tier4_planning_msgs::msg::Scenario>::SharedPtr pub_scenario_;
100+
rclcpp::Publisher<tier4_debug_msgs::msg::Float64Stamped>::SharedPtr pub_processing_time_;
98101

99102
// polling subscribers
100103
universe_utils::InterProcessPollingSubscriber<
@@ -130,6 +133,9 @@ class ScenarioSelectorNode : public rclcpp::Node
130133

131134
static constexpr double lane_stopping_timeout_s = 5.0;
132135
static constexpr double empty_parking_trajectory_timeout_s = 3.0;
136+
137+
// processing time
138+
autoware::universe_utils::StopWatch<std::chrono::milliseconds> stop_watch;
133139
};
134140
} // namespace autoware::scenario_selector
135141
#endif // AUTOWARE__SCENARIO_SELECTOR__NODE_HPP_

planning/autoware_scenario_selector/src/node.cpp

+11
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,9 @@ bool ScenarioSelectorNode::isDataReady()
330330

331331
void ScenarioSelectorNode::updateData()
332332
{
333+
{
334+
stop_watch.tic();
335+
}
333336
{
334337
auto msg = sub_parking_state_->takeData();
335338
is_parking_completed_ = msg ? msg->data : is_parking_completed_;
@@ -370,6 +373,12 @@ void ScenarioSelectorNode::onTimer()
370373
}
371374

372375
pub_scenario_->publish(scenario);
376+
377+
// Publish ProcessingTime
378+
tier4_debug_msgs::msg::Float64Stamped processing_time_msg;
379+
processing_time_msg.stamp = get_clock()->now();
380+
processing_time_msg.data = stop_watch.toc();
381+
pub_processing_time_->publish(processing_time_msg);
373382
}
374383

375384
void ScenarioSelectorNode::onLaneDrivingTrajectory(
@@ -466,6 +475,8 @@ ScenarioSelectorNode::ScenarioSelectorNode(const rclcpp::NodeOptions & node_opti
466475
this, get_clock(), period_ns, std::bind(&ScenarioSelectorNode::onTimer, this));
467476
published_time_publisher_ =
468477
std::make_unique<autoware::universe_utils::PublishedTimePublisher>(this);
478+
pub_processing_time_ =
479+
this->create_publisher<tier4_debug_msgs::msg::Float64Stamped>("~/debug/processing_time_ms", 1);
469480
}
470481
} // namespace autoware::scenario_selector
471482

planning/autoware_surround_obstacle_checker/src/node.cpp

+11
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include <autoware/universe_utils/geometry/boost_polygon_utils.hpp>
1818
#include <autoware/universe_utils/geometry/geometry.hpp>
1919
#include <autoware/universe_utils/ros/update_param.hpp>
20+
#include <autoware/universe_utils/system/stop_watch.hpp>
2021
#include <autoware/universe_utils/transform/transforms.hpp>
2122

2223
#include <boost/assert.hpp>
@@ -109,6 +110,8 @@ SurroundObstacleCheckerNode::SurroundObstacleCheckerNode(const rclcpp::NodeOptio
109110
"~/output/velocity_limit_clear_command", rclcpp::QoS{1}.transient_local());
110111
pub_velocity_limit_ = this->create_publisher<VelocityLimit>(
111112
"~/output/max_velocity", rclcpp::QoS{1}.transient_local());
113+
pub_processing_time_ =
114+
this->create_publisher<tier4_debug_msgs::msg::Float64Stamped>("~/debug/processing_time_ms", 1);
112115

113116
using std::chrono_literals::operator""ms;
114117
timer_ = rclcpp::create_timer(
@@ -151,6 +154,9 @@ bool SurroundObstacleCheckerNode::getUseDynamicObject() const
151154

152155
void SurroundObstacleCheckerNode::onTimer()
153156
{
157+
autoware::universe_utils::StopWatch<std::chrono::milliseconds> stop_watch;
158+
stop_watch.tic();
159+
154160
odometry_ptr_ = sub_odometry_.takeData();
155161
pointcloud_ptr_ = sub_pointcloud_.takeData();
156162
object_ptr_ = sub_dynamic_objects_.takeData();
@@ -256,6 +262,11 @@ void SurroundObstacleCheckerNode::onTimer()
256262
no_start_reason_diag = makeStopReasonDiag("obstacle", odometry_ptr_->pose.pose);
257263
}
258264

265+
tier4_debug_msgs::msg::Float64Stamped processing_time_msg;
266+
processing_time_msg.stamp = get_clock()->now();
267+
processing_time_msg.data = stop_watch.toc();
268+
pub_processing_time_->publish(processing_time_msg);
269+
259270
pub_stop_reason_->publish(no_start_reason_diag);
260271
debug_ptr_->publish();
261272
}

planning/autoware_surround_obstacle_checker/src/node.hpp

+2
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
#include <diagnostic_msgs/msg/key_value.hpp>
3030
#include <nav_msgs/msg/odometry.hpp>
3131
#include <sensor_msgs/msg/point_cloud2.hpp>
32+
#include <tier4_debug_msgs/msg/float64_stamped.hpp>
3233
#include <tier4_planning_msgs/msg/velocity_limit.hpp>
3334
#include <tier4_planning_msgs/msg/velocity_limit_clear_command.hpp>
3435
#include <visualization_msgs/msg/marker_array.hpp>
@@ -106,6 +107,7 @@ class SurroundObstacleCheckerNode : public rclcpp::Node
106107
rclcpp::Publisher<diagnostic_msgs::msg::DiagnosticStatus>::SharedPtr pub_stop_reason_;
107108
rclcpp::Publisher<VelocityLimitClearCommand>::SharedPtr pub_clear_velocity_limit_;
108109
rclcpp::Publisher<VelocityLimit>::SharedPtr pub_velocity_limit_;
110+
rclcpp::Publisher<tier4_debug_msgs::msg::Float64Stamped>::SharedPtr pub_processing_time_;
109111

110112
// parameter callback result
111113
OnSetParametersCallbackHandle::SharedPtr set_param_res_;

system/autoware_processing_time_checker/config/processing_time_checker.param.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22
ros__parameters:
33
update_rate: 10.0
44
processing_time_topic_name_list:
5+
- /control/control_validator/debug/processing_time_ms
56
- /control/trajectory_follower/controller_node_exe/lateral/debug/processing_time_ms
67
- /control/trajectory_follower/controller_node_exe/longitudinal/debug/processing_time_ms
78
- /control/trajectory_follower/lane_departure_checker_node/debug/processing_time_ms
9+
- /control/vehicle_cmd_gate/debug/processing_time_ms
810
- /perception/object_recognition/prediction/map_based_prediction/debug/processing_time_ms
911
- /perception/object_recognition/tracking/multi_object_tracker/debug/processing_time_ms
1012
- /planning/planning_validator/debug/processing_time_ms
@@ -33,5 +35,8 @@
3335
- /planning/scenario_planning/lane_driving/motion_planning/motion_velocity_planner/debug/processing_time_ms
3436
- /planning/scenario_planning/lane_driving/motion_planning/obstacle_cruise_planner/debug/processing_time_ms
3537
- /planning/scenario_planning/lane_driving/motion_planning/path_optimizer/debug/processing_time_ms
38+
- /planning/scenario_planning/lane_driving/motion_planning/surround_obstacle_checker/debug/processing_time_ms
39+
- /planning/scenario_planning/parking/costmap_generator/debug/processing_time_ms
40+
- /planning/scenario_planning/scenario_selector/debug/processing_time_ms
3641
- /planning/scenario_planning/velocity_smoother/debug/processing_time_ms
3742
- /simulation/shape_estimation/debug/processing_time_ms

0 commit comments

Comments
 (0)