From 3e369293a07a718a33d1d0ec0f11419ac6e29592 Mon Sep 17 00:00:00 2001 From: Maximilian Schmeller Date: Tue, 31 May 2022 16:03:52 +0200 Subject: [PATCH] Fixed pickling, added hash functions to more classes, more work on E2E lat. calc. --- trace-analysis.ipynb | 165 ++++++++++++++++++++++++++++++++----------- 1 file changed, 123 insertions(+), 42 deletions(-) diff --git a/trace-analysis.ipynb b/trace-analysis.ipynb index c6cb25d..ebae1d2 100644 --- a/trace-analysis.ipynb +++ b/trace-analysis.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 31, "metadata": {}, "outputs": [], "source": [ @@ -31,38 +31,44 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 34, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "found converted file: /home/adlink/.ros/tracing/autoware-trace/converted\n", + " [100%] [Ros2Handler]\n" + ] + } + ], "source": [ + "def pkl_filename_from_file_timestamp(file_path):\n", + " if os.path.exists(file_path):\n", + " timestamp = os.path.getmtime(file_path)\n", + " pkl_filename = f\"ros_objects_{hash(timestamp)}.pkl\"\n", + " return pkl_filename, os.path.exists(pkl_filename)\n", + " return None, False\n", + "\n", "path = os.path.expanduser(\"~/.ros/tracing/autoware-trace/\")\n", "path_converted = os.path.join(path, 'converted')\n", - "if os.path.exists(path_converted):\n", - " timestamp = os.path.getmtime(path_converted)\n", - " pkl_filename = f\"ros_objects_{hash(timestamp)}.pkl\"\n", - "else:\n", - " pkl_filename = None" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "if not pkl_filename:\n", + "pkl_filename, pkl_exists = pkl_filename_from_file_timestamp(path_converted)\n", + "\n", + "if not pkl_exists:\n", " file = load_file(path)\n", " handler = Ros2Handler.process(file)\n", - " util = Ros2DataModelUtil(handler)" + " util = Ros2DataModelUtil(handler)\n", + " pkl_filename, pkl_exists = pkl_filename_from_file_timestamp(path_converted)" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 35, "metadata": {}, "outputs": [], "source": [ - "if not pkl_filename:\n", + "if False:\n", " n=1\n", " self = handler.data\n", " print('====================ROS 2 DATA MODEL===================')\n", @@ -122,7 +128,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 36, "metadata": {}, "outputs": [], "source": [ @@ -280,7 +286,7 @@ " return callback_objects[self.id]\n", "\n", " def __hash__(self):\n", - " return hash(self.id)\n", + " return hash((self.id, self.timestamp, self.subscription_handle))\n", "\n", "@dataclass\n", "class CallbackObject:\n", @@ -318,7 +324,7 @@ " return type_name, info_dict\n", "\n", " def __hash__(self):\n", - " return hash(self.id)\n", + " return hash((self.id, self.timestamp, self.callback_object))\n", "\n", "@dataclass\n", "class PublishInstance:\n", @@ -331,7 +337,7 @@ " return publishers[self.publisher_handle]\n", "\n", " def __hash__(self):\n", - " return hash((self.publisher_handle))\n", + " return hash((self.publisher_handle, self.timestamp, self.message))\n", "\n", "@dataclass\n", "class CallbackInstance:\n", @@ -344,6 +350,9 @@ " def callback_obj(self) -> 'CallbackObject':\n", " return callback_objects[self.callback_object]\n", "\n", + " def __hash__(self):\n", + " return hash((self.callback_object, self.timestamp, self.duration))\n", + "\n", "@dataclass\n", "class CallbackSymbol:\n", " id: int # callback_object\n", @@ -356,6 +365,9 @@ " assert len(cb_objs) <= 1\n", " return cb_objs[0] if cb_objs else None\n", "\n", + " def __hash__(self):\n", + " return hash((self.id, self.timestamp, self.symbol))\n", + "\n", "\n", "#######################################\n", "# Self-defined (not from ROS2DataModel)\n", @@ -371,26 +383,49 @@ " \n", " @cached_property\n", " def subscriptions(self) -> List['Subscription']:\n", - " return list(filter(lambda sub: sub.topic_name == self.name, subscriptions.values()))\n" + " return list(filter(lambda sub: sub.topic_name == self.name, subscriptions.values()))\n", + "\n", + " def __hash__(self):\n", + " return hash(self.name)\n" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 38, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Found pickled ROS objects from previous session, restoring...\n", + "Did not find pickled ROS objects, extracting...\n", + "Processed 61 nodes\n", + "Processed 264 publishers\n", + "Processed 212 subscriptions\n", + "Processed 67 timers\n", + "Processed 31 timer-node links\n", + "Processed 201 subscription objects\n", + "Processed 483 callback objects\n", + "Processed 483 callback symbols\n", + "Processed 183512 publish instances\n", + "Processed 390810 callback instances\n", + "Processed 161 topics\n", + "Caching dynamic properties...\n", + "Cached node properties\n", + "Cached publisher properties\n", + "Cached subscription properties\n", + "Cached timer properties\n", + "Cached callback object properties\n", + "Cached callback symbol properties\n", + "Cached topic properties\n", + "Pickling...\n", "Done.\n" ] } ], "source": [ "\n", - "if not pkl_filename:\n", + "if not pkl_exists:\n", " print(\"Did not find pickled ROS objects, extracting...\")\n", " #######################################\n", " # Instantiate collections\n", @@ -1238,14 +1273,15 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 40, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[Topic(name='/api/autoware/get/map/info/hash'), Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/path'), Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/markers'), Topic(name='/rosout'), Topic(name='/control/command/gear_cmd'), Topic(name='/planning/scenario_planning/status/infrastructure_commands'), Topic(name='/control/trajectory_follower/longitudinal/diagnostic'), Topic(name='/robot_description'), Topic(name='/planning/mission_planning/route_marker'), Topic(name='/control/trajectory_follower/lane_departure_checker_node/debug/deviation/yaw'), Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/running_modules'), Topic(name='/planning/scenario_planning/status/stop_reason'), Topic(name='/planning/scenario_planning/motion_velocity_smoother/debug/forward_filtered_trajectory'), Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/virtual_traffic_light'), Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/stop_line'), Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/drivable_area_boundary'), Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/avoidance_debug_message_array'), Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/ready_module'), Topic(name='/control/command/emergency_cmd'), Topic(name='/planning/scenario_planning/motion_velocity_smoother/debug/backward_filtered_trajectory'), Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/mpt_ref_traj'), Topic(name='/map/vector_map_marker'), Topic(name='/planning/scenario_planning/motion_velocity_smoother/stop_speed_exceeded'), Topic(name='/planning/scenario_planning/motion_velocity_smoother/closest_max_velocity'), Topic(name='/control/trajectory_follower/lane_departure_checker_node/debug/marker_array'), Topic(name='/planning/scenario_planning/status/stop_reasons'), Topic(name='/planning/scenario_planning/motion_velocity_smoother/closest_jerk'), Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/clearance_map'), Topic(name='/api/autoware/get/emergency'), Topic(name='/planning/scenario_planning/parking/freespace_planner/debug/pose_array'), Topic(name='/diagnostics_toplevel_state'), Topic(name='/planning/mission_planning/echo_back_goal_pose'), Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/intersection'), Topic(name='/control/trajectory_follower/longitudinal/slope_angle'), Topic(name='/planning/planning_diagnostics/planning_error_monitor/debug/marker'), Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/drivable_area'), Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/calculation_time'), Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_stop_planner/debug/marker'), Topic(name='/planning/scenario_planning/motion_velocity_smoother/debug/merged_filtered_trajectory'), Topic(name='/planning/scenario_planning/motion_velocity_smoother/debug/trajectory_external_velocity_limited'), Topic(name='/planning/scenario_planning/motion_velocity_smoother/closest_acceleration'), Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/area_with_objects'), Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/mpt_fixed_traj'), Topic(name='/control/command/turn_indicators_cmd'), Topic(name='/planning/scenario_planning/motion_velocity_smoother/debug/trajectory_raw'), Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/marker'), Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/path_for_visualize'), Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_stop_planner/obstacle_stop/debug_values'), Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/object_clearance_map'), Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/force_available'), Topic(name='/planning/scenario_planning/parking/freespace_planner/debug/partial_pose_array'), Topic(name='/control/external_cmd_selector/current_selector_mode'), Topic(name='/planning/scenario_planning/motion_velocity_smoother/closest_velocity'), Topic(name='/planning/scenario_planning/motion_velocity_smoother/debug/trajectory_time_resampled'), Topic(name='/planning/scenario_planning/status/no_start_reason'), Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/extended_non_fixed_traj'), Topic(name='/control/trajectory_follower/lane_departure_checker_node/debug/deviation/lateral'), Topic(name='/planning/scenario_planning/motion_velocity_smoother/calculation_time'), Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/debug/traffic_signal'), Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/no_stopping_area'), Topic(name='/api/external/get/command/selected/control'), Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/extended_fixed_traj'), Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/crosswalk'), Topic(name='/planning/scenario_planning/parking/costmap_generator/grid_map'), Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/merge_from_private'), Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/occlusion_spot'), Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/wall_marker'), Topic(name='/control/trajectory_follower/lane_departure_checker_node/debug/processing_time_ms'), Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/mpt_traj'), Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/output/stop_reason'), Topic(name='/control/trajectory_follower/lane_departure_checker_node/debug/deviation/yaw_deg'), Topic(name='/planning/scenario_planning/motion_velocity_smoother/debug/trajectory_lateral_acc_filtered'), Topic(name='/planning/scenario_planning/current_max_velocity'), Topic(name='/system/system_monitor/cpu_monitor/cpu_usage'), Topic(name='/control/command/hazard_lights_cmd'), Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/detection_area'), Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/output/path_candidate'), Topic(name='/diagnostics_err'), Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/traffic_light'), Topic(name='/planning/scenario_planning/motion_velocity_smoother/closest_merged_velocity'), Topic(name='/planning/scenario_planning/lane_driving/motion_planning/surround_obstacle_checker/debug/marker'), Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_stop_planner/adaptive_cruise_control/debug_values'), Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/blind_spot'), Topic(name='/control/trajectory_follower/lateral/diagnostic'), Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/eb_trajectory'), Topic(name='/planning/scenario_planning/motion_velocity_smoother/distance_to_stopline')]\n" + "[(CallbackObject(id=187650864529200, timestamp=1652795532337451714, callback_object=187650864602416), {(Topic(name='/system/emergency/hazard_status'), 1.0), (Topic(name='/diagnostics_err'), 1.0)}), (CallbackObject(id=187650830150352, timestamp=1652795532361855601, callback_object=187650830037024), {(Topic(name='/system/emergency/hazard_lights_cmd'), 1.0), (Topic(name='/system/emergency/control_cmd'), 1.0), (Topic(name='/system/emergency/emergency_state'), 1.0)}), (CallbackObject(id=187650226411360, timestamp=1652795532381109590, callback_object=187650226411328), {(Topic(name='/diagnostics'), 0.09086268504338949)}), (CallbackObject(id=187650227061536, timestamp=1652795532420884571, callback_object=187650227061760), {(Topic(name='/diagnostics'), 0.0005104645227156713)}), (CallbackObject(id=187650227086464, timestamp=1652795532421795094, callback_object=187650227086688), {(Topic(name='/diagnostics'), 0.0005104645227156713)}), (CallbackObject(id=187650725528480, timestamp=1652795532422494496, callback_object=187650725528704), {(Topic(name='/planning/scenario_planning/scenario_selector/trajectory'), 0.9063948100092678)}), (CallbackObject(id=187650725538176, timestamp=1652795532422934938, callback_object=187650725538400), {(Topic(name='/planning/scenario_planning/scenario_selector/trajectory'), 0.09360518999073215)}), (CallbackObject(id=187650725848512, timestamp=1652795532425613188, callback_object=187650725850128), {(Topic(name='/planning/scenario_planning/scenario'), 1.0)}), (CallbackObject(id=187651165396336, timestamp=1652795532459592148, callback_object=187651165396560), {(Topic(name='/planning/scenario_planning/motion_velocity_smoother/debug/forward_filtered_trajectory'), 1.0), (Topic(name='/planning/scenario_planning/motion_velocity_smoother/closest_max_velocity'), 1.0), (Topic(name='/planning/scenario_planning/motion_velocity_smoother/debug/trajectory_time_resampled'), 1.0), (Topic(name='/planning/scenario_planning/motion_velocity_smoother/closest_acceleration'), 1.0), (Topic(name='/planning/scenario_planning/motion_velocity_smoother/debug/trajectory_raw'), 1.0), (Topic(name='/planning/scenario_planning/motion_velocity_smoother/stop_speed_exceeded'), 1.0), (Topic(name='/planning/scenario_planning/motion_velocity_smoother/closest_jerk'), 1.0), (Topic(name='/planning/scenario_planning/motion_velocity_smoother/debug/trajectory_lateral_acc_filtered'), 1.0), (Topic(name='/planning/scenario_planning/motion_velocity_smoother/closest_merged_velocity'), 1.0), (Topic(name='/planning/scenario_planning/motion_velocity_smoother/debug/merged_filtered_trajectory'), 1.0), (Topic(name='/planning/scenario_planning/trajectory'), 1.0), (Topic(name='/planning/scenario_planning/motion_velocity_smoother/distance_to_stopline'), 1.0), (Topic(name='/planning/scenario_planning/motion_velocity_smoother/debug/backward_filtered_trajectory'), 1.0), (Topic(name='/planning/scenario_planning/motion_velocity_smoother/debug/trajectory_external_velocity_limited'), 1.0), (Topic(name='/planning/scenario_planning/motion_velocity_smoother/closest_velocity'), 1.0), (Topic(name='/planning/scenario_planning/motion_velocity_smoother/calculation_time'), 1.0)}), (CallbackObject(id=187650857828480, timestamp=1652795532481967108, callback_object=187650857828448), {(Topic(name='/diagnostics'), 0.09067753438614366)}), (CallbackObject(id=187650857760512, timestamp=1652795532488243650, callback_object=187650857873600), {(Topic(name='/planning/planning_diagnostics/planning_error_monitor/debug/marker'), 1.0), (Topic(name='/diagnostics'), 0.9072847682119205)}), (CallbackObject(id=281471621334496, timestamp=1652795532529885598, callback_object=281471621745744), {(Topic(name='/system/system_monitor/cpu_monitor/cpu_usage'), 1.0), (Topic(name='/diagnostics'), 0.9719101123595506)}), (CallbackObject(id=281470279474912, timestamp=1652795532561142429, callback_object=281470279147232), {(Topic(name='/diagnostics'), 0.978021978021978)}), (CallbackObject(id=187651233978848, timestamp=1652795532571224945, callback_object=187651234202256), {(Topic(name='/control/trajectory_follower/lateral/diagnostic'), 1.0), (Topic(name='/control/trajectory_follower/lateral/control_cmd'), 1.0), (Topic(name='/control/trajectory_follower/lateral/predicted_trajectory'), 1.0)}), (CallbackObject(id=187651170508848, timestamp=1652795532579426254, callback_object=187651170509072), {(Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/eb_trajectory'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/mpt_ref_traj'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/calculation_time'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/wall_marker'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/mpt_fixed_traj'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/mpt_traj'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/extended_fixed_traj'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/marker'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/trajectory'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/extended_non_fixed_traj'), 1.0)}), (CallbackObject(id=281470749227904, timestamp=1652795532625531537, callback_object=281470748968624), {(Topic(name='/diagnostics'), 0.9943820224719101)}), (CallbackObject(id=187650717532576, timestamp=1652795532640963472, callback_object=187650717753424), {(Topic(name='/diagnostics_agg'), 1.0), (Topic(name='/diagnostics_toplevel_state'), 1.0)}), (CallbackObject(id=281472024280704, timestamp=1652795532656993809, callback_object=281472024014144), {(Topic(name='/diagnostics'), 0.9888268156424581)}), (CallbackObject(id=187650884621760, timestamp=1652795532673805669, callback_object=187650884621984), {(Topic(name='/map/vector_map_marker'), 1.0)}), (CallbackObject(id=281470749590016, timestamp=1652795532683997265, callback_object=281470749285872), {(Topic(name='/diagnostics'), 0.9943820224719101)}), (CallbackObject(id=187651612752912, timestamp=1652795532707997110, callback_object=187651612753136), {(Topic(name='/planning/mission_planning/route_marker'), 1.0), (Topic(name='/planning/mission_planning/route'), 1.0)}), (CallbackObject(id=281472024601248, timestamp=1652795532714492773, callback_object=281472023958064), {(Topic(name='/diagnostics'), 0.916030534351145)}), (CallbackObject(id=187651235237936, timestamp=1652795532747324130, callback_object=187651235240112), {(Topic(name='/control/trajectory_follower/longitudinal/diagnostic'), 1.0), (Topic(name='/control/trajectory_follower/longitudinal/slope_angle'), 1.0), (Topic(name='/control/trajectory_follower/longitudinal/control_cmd'), 1.0)}), (CallbackObject(id=281470547917776, timestamp=1652795532748442494, callback_object=281470547558496), {(Topic(name='/diagnostics'), 0.9725274725274725)}), (CallbackObject(id=187651613335744, timestamp=1652795532750644582, callback_object=187651613335968), {(Topic(name='/planning/mission_planning/echo_back_goal_pose'), 1.0)}), (CallbackObject(id=187651235891120, timestamp=1652795532777152956, callback_object=187651235824752), {(Topic(name='/diagnostics'), 0.9939024390243902)}), (CallbackObject(id=187651236095968, timestamp=1652795532787465153, callback_object=187651235983520), {(Topic(name='/control/external_cmd_selector/current_selector_mode'), 1.0)}), (CallbackObject(id=281471220283472, timestamp=1652795532812145400, callback_object=281471220283696), {(Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/drivable_area_boundary'), 0.004069175991861648), (Topic(name='/planning/hazard_lights_cmd'), 0.002034587995930824), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/drivable_area'), 0.002034587995930824), (Topic(name='/planning/turn_indicators_cmd'), 0.003051881993896236), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/force_available'), 0.003051881993896236), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/ready_module'), 0.003051881993896236), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/output/path_candidate'), 0.002034587995930824), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/path_with_lane_id'), 0.004069175991861648), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/running_modules'), 0.003051881993896236), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/avoidance_debug_message_array'), 0.001017293997965412)}), (CallbackObject(id=187651236352592, timestamp=1652795532812970643, callback_object=187651236178928), {(Topic(name='/diagnostics'), 0.09090909090909091)}), (CallbackObject(id=187651236521888, timestamp=1652795532817545579, callback_object=187651236826624), {(Topic(name='/diagnostics'), 0.9085331846068042)}), (CallbackObject(id=187651237083504, timestamp=1652795532841120743, callback_object=187651237083728), {(Topic(name='/control/trajectory_follower/control_cmd'), 0.5000477600534913)}), (CallbackObject(id=187651237165200, timestamp=1652795532841552585, callback_object=187651237165424), {(Topic(name='/control/trajectory_follower/control_cmd'), 0.4999522399465087)}), (CallbackObject(id=187651236032816, timestamp=1652795532892080524, callback_object=187651237609216), {(Topic(name='/diagnostics'), 0.09394812680115273)}), (CallbackObject(id=187650883819920, timestamp=1652795533257301461, callback_object=187650883820144), {(Topic(name='/tf_static'), 1.0)}), (CallbackObject(id=187650227078416, timestamp=1652795533426825343, callback_object=187650227239936), {(Topic(name='/diagnostics'), 0.9045431342521695), (Topic(name='/autoware/engage'), 1.0), (Topic(name='/autoware/state'), 1.0)}), (CallbackObject(id=281472225931680, timestamp=1652795547642350503, callback_object=281472225979584), {(Topic(name='/planning/scenario_planning/status/no_start_reason'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/motion_planning/surround_obstacle_checker/debug/marker'), 1.0), (Topic(name='/planning/scenario_planning/status/stop_reasons'), 1.0)}), (CallbackObject(id=281471555072288, timestamp=1652795547761742567, callback_object=281471555072512), {(Topic(name='/planning/scenario_planning/lane_driving/trajectory'), 0.003067484662576687), (Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_stop_planner/debug/marker'), 0.002044989775051125), (Topic(name='/planning/scenario_planning/status/stop_reason'), 0.003067484662576687)}), (CallbackObject(id=281471555210208, timestamp=1652795547762505370, callback_object=281471555210432), {(Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_stop_planner/debug/marker'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_stop_planner/obstacle_stop/debug_values'), 1.0), (Topic(name='/planning/scenario_planning/status/stop_reason'), 1.0), (Topic(name='/planning/scenario_planning/status/stop_reasons'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/trajectory'), 1.0)}), (CallbackObject(id=187651234424656, timestamp=1652795547843757259, callback_object=187651234738032), {(Topic(name='/planning/scenario_planning/parking/costmap_generator/grid_map'), 1.0), (Topic(name='/planning/scenario_planning/parking/costmap_generator/occupancy_grid'), 1.0)}), (CallbackObject(id=187651235257712, timestamp=1652795547887008572, callback_object=187651235257936), {(Topic(name='/parameter_events'), 0.023809523809523808)}), (CallbackObject(id=187651234961136, timestamp=1652795547893732076, callback_object=187651238518768), {(Topic(name='/parameter_events'), 0.047619047619047616), (Topic(name='/planning/scenario_planning/parking/trajectory'), 1.0), (Topic(name='/planning/scenario_planning/parking/freespace_planner/debug/partial_pose_array'), 1.0), (Topic(name='/planning/scenario_planning/parking/freespace_planner/debug/pose_array'), 1.0)}), (CallbackObject(id=187651235161760, timestamp=1652795547898579693, callback_object=187651234142864), {(Topic(name='/control/trajectory_follower/lane_departure_checker_node/debug/marker_array'), 1.0), (Topic(name='/control/trajectory_follower/lane_departure_checker_node/debug/deviation/yaw'), 1.0), (Topic(name='/control/trajectory_follower/lane_departure_checker_node/debug/deviation/yaw_deg'), 1.0), (Topic(name='/diagnostics'), 0.9048991354466859), (Topic(name='/control/trajectory_follower/lane_departure_checker_node/debug/processing_time_ms'), 1.0), (Topic(name='/control/trajectory_follower/lane_departure_checker_node/debug/deviation/lateral'), 1.0)}), (CallbackObject(id=187651238636192, timestamp=1652795547950945959, callback_object=187651238252112), {(Topic(name='/control/shift_decider/gear_cmd'), 1.0)}), (CallbackObject(id=187651239642144, timestamp=1652795547999818893, callback_object=187651238547408), {(Topic(name='/diagnostics'), 0.09050279329608939)}), (CallbackObject(id=187651239927824, timestamp=1652795548009185046, callback_object=187651239928048), {(Topic(name='/control/command/control_cmd'), 1.0), (Topic(name='/control/command/emergency_cmd'), 1.0)}), (CallbackObject(id=187651240214128, timestamp=1652795548020788847, callback_object=187651240224032), {(Topic(name='/api/autoware/get/engage'), 1.0), (Topic(name='/control/command/turn_indicators_cmd'), 1.0), (Topic(name='/api/autoware/get/emergency'), 1.0), (Topic(name='/control/command/hazard_lights_cmd'), 1.0), (Topic(name='/control/current_gate_mode'), 1.0), (Topic(name='/control/command/gear_cmd'), 1.0), (Topic(name='/diagnostics'), 0.9083798882681564)}), (CallbackObject(id=281471221778768, timestamp=1652795553042749441, callback_object=281473165106896), {(Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/path_with_lane_id'), 1.0), (Topic(name='/planning/hazard_lights_cmd'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/markers'), 1.0), (Topic(name='/planning/turn_indicators_cmd'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/force_available'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/output/path_candidate'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/drivable_area_boundary'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/ready_module'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/avoidance_debug_message_array'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/running_modules'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/drivable_area'), 1.0)}), (CallbackObject(id=281471292182224, timestamp=1652795553353366144, callback_object=281471292182448), {(Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/virtual_traffic_light'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/stop_line'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/intersection'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/path'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/traffic_light'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/crosswalk'), 1.0), (Topic(name='/planning/scenario_planning/status/stop_reasons'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/merge_from_private'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/detection_area'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/no_stopping_area'), 1.0), (Topic(name='/planning/scenario_planning/status/infrastructure_commands'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/occlusion_spot'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/blind_spot'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/output/stop_reason'), 1.0), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/debug/traffic_signal'), 1.0)}), (CallbackObject(id=281471292201536, timestamp=1652795553354910549, callback_object=281471292201760), {(Topic(name='/planning/scenario_planning/status/stop_reasons'), 0.003061224489795918), (Topic(name='/planning/scenario_planning/status/infrastructure_commands'), 0.0020408163265306124), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/path'), 0.004081632653061225), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/occlusion_spot'), 0.0010204081632653062)}), (CallbackObject(id=281471292197968, timestamp=1652795553355495871, callback_object=281471292198192), {(Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/intersection'), 0.0020408163265306124), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/merge_from_private'), 0.0010204081632653062), (Topic(name='/planning/scenario_planning/status/infrastructure_commands'), 0.0010204081632653062), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/occlusion_spot'), 0.0010204081632653062), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/stop_line'), 0.0010204081632653062), (Topic(name='/planning/scenario_planning/status/infrastructure_commands'), 0.0020408163265306124)}), (CallbackObject(id=281471292814832, timestamp=1652795553365321826, callback_object=281471292815056), {(Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/virtual_traffic_light'), 0.0010204081632653062)})]\n", + "[(Topic(name='/parameter_events'), {CallbackObject(id=187651234160416, timestamp=1652795532821109872, callback_object=187651234160640), CallbackObject(id=281470547917776, timestamp=1652795532748442494, callback_object=281470547558496), CallbackObject(id=187651141131344, timestamp=1652795532311101741, callback_object=187651141131568), CallbackObject(id=187650716326256, timestamp=1652795532349074316, callback_object=187650716326480), CallbackObject(id=187650883764160, timestamp=1652795533256382978, callback_object=187650883764384), CallbackObject(id=187651235721328, timestamp=1652795532775611750, callback_object=187651235721552), CallbackObject(id=281472493892624, timestamp=1652795532629923233, callback_object=281472493892848), CallbackObject(id=187651236142368, timestamp=1652795532839556337, callback_object=187651236142592), CallbackObject(id=187650227078416, timestamp=1652795533426825343, callback_object=187650227239936), CallbackObject(id=187651236095968, timestamp=1652795532787465153, callback_object=187651235983520), CallbackObject(id=187651233287328, timestamp=1652795532479639419, callback_object=187651233287552), CallbackObject(id=281470749590016, timestamp=1652795532683997265, callback_object=281470749285872), CallbackObject(id=187650857762320, timestamp=1652795532479743540, callback_object=187650857762544), CallbackObject(id=281472024280704, timestamp=1652795532656993809, callback_object=281472024014144), CallbackObject(id=187650829771872, timestamp=1652795532350920722, callback_object=187650829772096), CallbackObject(id=281471554740096, timestamp=1652795547746870515, callback_object=281471554740320), CallbackObject(id=187651164488032, timestamp=1652795532439240076, callback_object=187651164488256), CallbackObject(id=187651227801024, timestamp=1652795532470032265, callback_object=187651227801248), CallbackObject(id=187651613195392, timestamp=1652795532748230173, callback_object=187651613195616), CallbackObject(id=187651233978848, timestamp=1652795532571224945, callback_object=187651234202256), CallbackObject(id=187651238514976, timestamp=1652795547892436231, callback_object=187651238515200), CallbackObject(id=187650226308288, timestamp=1652795532375697770, callback_object=187650226308512), CallbackObject(id=281471291788992, timestamp=1652795553346094958, callback_object=281471291789216), CallbackObject(id=187650857760512, timestamp=1652795532488243650, callback_object=187650857873600), CallbackObject(id=187651169928720, timestamp=1652795532557822817, callback_object=187651169928944), CallbackObject(id=187650884658048, timestamp=1652795532762621184, callback_object=187650884658272), CallbackObject(id=187651169206672, timestamp=1652795532444177693, callback_object=187651169206896), CallbackObject(id=187651236269456, timestamp=1652795532810728915, callback_object=187651236269680), CallbackObject(id=187651237531776, timestamp=1652795532889859996, callback_object=187651237532000), CallbackObject(id=281470749227904, timestamp=1652795532625531537, callback_object=281470748968624), CallbackObject(id=281472225640640, timestamp=1652795547634918157, callback_object=281472225640864), CallbackObject(id=187651235161760, timestamp=1652795547898579693, callback_object=187651234142864), CallbackObject(id=187651233788976, timestamp=1652795532558494139, callback_object=187651233789200), CallbackObject(id=187650830150352, timestamp=1652795532361855601, callback_object=187650830037024), CallbackObject(id=281471554611248, timestamp=1652795547744004144, callback_object=281471554611472), CallbackObject(id=187651239602848, timestamp=1652795547995976239, callback_object=187651239603072), CallbackObject(id=187651235237936, timestamp=1652795532747324130, callback_object=187651235240112), CallbackObject(id=187650864529200, timestamp=1652795532337451714, callback_object=187650864602416), CallbackObject(id=281470749005328, timestamp=1652795532623682651, callback_object=281470749005552), CallbackObject(id=187651612465104, timestamp=1652795532700426083, callback_object=187651612465328), CallbackObject(id=187651236032816, timestamp=1652795532892080524, callback_object=187651237609216), CallbackObject(id=187651238636192, timestamp=1652795547950945959, callback_object=187651238252112), CallbackObject(id=187650226186624, timestamp=1652795532374505606, callback_object=187650226186848), CallbackObject(id=187651240214128, timestamp=1652795548020788847, callback_object=187651240224032), CallbackObject(id=187651235143408, timestamp=1652795547881623553, callback_object=187651235143632), CallbackObject(id=187651239642144, timestamp=1652795547999818893, callback_object=187651238547408), CallbackObject(id=187650864342320, timestamp=1652795532328085121, callback_object=187650864342544), CallbackObject(id=187650725848512, timestamp=1652795532425613188, callback_object=187650725850128), CallbackObject(id=187651234959632, timestamp=1652795532731662114, callback_object=187651234959856), CallbackObject(id=281471221778768, timestamp=1652795553042749441, callback_object=281473165106896), CallbackObject(id=281472024068464, timestamp=1652795532655578964, callback_object=281472024068688), CallbackObject(id=187650884480560, timestamp=1652795532672665745, callback_object=187650884480784), CallbackObject(id=187651238520320, timestamp=1652795547949018752, callback_object=187651238520544), CallbackObject(id=187651164947536, timestamp=1652795532440607601, callback_object=187651164947760), CallbackObject(id=187650882833440, timestamp=1652795532360672437, callback_object=187650882833664), CallbackObject(id=281470749441328, timestamp=1652795532682345859, callback_object=281470749441552), CallbackObject(id=281470547686176, timestamp=1652795532745880765, callback_object=281470547686400), CallbackObject(id=281472024435376, timestamp=1652795532713404770, callback_object=281472024435600), CallbackObject(id=187651234080752, timestamp=1652795532819359866, callback_object=187651234080976), CallbackObject(id=187651236352592, timestamp=1652795532812970643, callback_object=187651236178928), CallbackObject(id=187651235891120, timestamp=1652795532777152956, callback_object=187651235824752), CallbackObject(id=187651237381392, timestamp=1652795532887641188, callback_object=187651237381616), CallbackObject(id=281470279374160, timestamp=1652795532557391375, callback_object=281470279374384), CallbackObject(id=281470279474912, timestamp=1652795532561142429, callback_object=281470279147232), CallbackObject(id=187650725401360, timestamp=1652795532413362864, callback_object=187650725401584), CallbackObject(id=187650226411360, timestamp=1652795532381109590, callback_object=187650226411328), CallbackObject(id=281471621334496, timestamp=1652795532529885598, callback_object=281471621745744), CallbackObject(id=187651236521888, timestamp=1652795532817545579, callback_object=187651236826624), CallbackObject(id=281471292028256, timestamp=1652795553347799764, callback_object=281471292028480), CallbackObject(id=187651233966384, timestamp=1652795532561561190, callback_object=187651233966608), CallbackObject(id=187651612603424, timestamp=1652795532703342854, callback_object=187651612603648), CallbackObject(id=187650725347760, timestamp=1652795532411986859, callback_object=187650725347984), CallbackObject(id=187651234919584, timestamp=1652795532728929585, callback_object=187651234919808), CallbackObject(id=281472225931680, timestamp=1652795547642350503, callback_object=281472225979584), CallbackObject(id=281472024601248, timestamp=1652795532714492773, callback_object=281472023958064), CallbackObject(id=281472225425664, timestamp=1652795547632168947, callback_object=281472225425888), CallbackObject(id=281471219439008, timestamp=1652795532784187141, callback_object=281471219439232), CallbackObject(id=187651234424656, timestamp=1652795547843757259, callback_object=187651234738032), CallbackObject(id=187651170054208, timestamp=1652795532561343110, callback_object=187651170054432), CallbackObject(id=187651234961136, timestamp=1652795547893732076, callback_object=187651238518768), CallbackObject(id=187651121977600, timestamp=1652795532321694539, callback_object=187651121977824), CallbackObject(id=187650857828480, timestamp=1652795532481967108, callback_object=187650857828448), CallbackObject(id=281471621628224, timestamp=1652795532525757383, callback_object=281471621628448), CallbackObject(id=187651611899568, timestamp=1652795532393673274, callback_object=187651611899792), CallbackObject(id=187650717532576, timestamp=1652795532640963472, callback_object=187650717753424), CallbackObject(id=281471219298592, timestamp=1652795532780384807, callback_object=281471219298816), CallbackObject(id=187651290504128, timestamp=1652795532416569995, callback_object=187651290504352), CallbackObject(id=187650770538240, timestamp=1652795532443145810, callback_object=187650770538464), CallbackObject(id=281470279497792, timestamp=1652795532597927479, callback_object=281470279497648)}), (Topic(name='/diagnostics_agg'), {CallbackObject(id=187650864330336, timestamp=1652795532330218249, callback_object=187650864330560), CallbackObject(id=187650864529200, timestamp=1652795532337451714, callback_object=187650864602416)}), (Topic(name='/control/current_gate_mode'), {CallbackObject(id=187650864449376, timestamp=1652795532330919371, callback_object=187650864449600), CallbackObject(id=187651236352592, timestamp=1652795532812970643, callback_object=187651236178928), CallbackObject(id=187650864529200, timestamp=1652795532337451714, callback_object=187650864602416), CallbackObject(id=187651236521888, timestamp=1652795532817545579, callback_object=187651236826624), CallbackObject(id=187651236612256, timestamp=1652795532816612776, callback_object=187651236612480)}), (Topic(name='/autoware/state'), {CallbackObject(id=187650864460272, timestamp=1652795532331872695, callback_object=187650864460496), CallbackObject(id=187650864529200, timestamp=1652795532337451714, callback_object=187650864602416)}), (Topic(name='/vehicle/status/control_mode'), {CallbackObject(id=187650864529200, timestamp=1652795532337451714, callback_object=187650864602416), CallbackObject(id=187650227078416, timestamp=1652795533426825343, callback_object=187650227239936), CallbackObject(id=187650864479216, timestamp=1652795532335829389, callback_object=187650864479440), CallbackObject(id=187650227061536, timestamp=1652795532420884571, callback_object=187650227061760), CallbackObject(id=187650226411360, timestamp=1652795532381109590, callback_object=187650226411328), CallbackObject(id=187650830008528, timestamp=1652795532360200355, callback_object=187650830008752), CallbackObject(id=187650830150352, timestamp=1652795532361855601, callback_object=187650830037024)}), (Topic(name='/joint_states'), {CallbackObject(id=187651122540608, timestamp=1652795532342317452, callback_object=187651122540832)}), (Topic(name='/system/emergency/hazard_status'), {CallbackObject(id=187650830033680, timestamp=1652795532360765157, callback_object=187650830033904), CallbackObject(id=187650829768384, timestamp=1652795532353851173, callback_object=187650829768608), CallbackObject(id=187650830150352, timestamp=1652795532361855601, callback_object=187650830037024)}), (Topic(name='/control/command/control_cmd'), {CallbackObject(id=187650227078416, timestamp=1652795533426825343, callback_object=187650227239936), CallbackObject(id=187650226411360, timestamp=1652795532381109590, callback_object=187650226411328), CallbackObject(id=187650830150352, timestamp=1652795532361855601, callback_object=187650830037024), CallbackObject(id=187650829824912, timestamp=1652795532355007257, callback_object=187650829825136)}), (Topic(name='/localization/kinematic_state'), {CallbackObject(id=187651236352592, timestamp=1652795532812970643, callback_object=187651236178928), CallbackObject(id=187651165425504, timestamp=1652795532460207550, callback_object=187651165425728), CallbackObject(id=281472225979632, timestamp=1652795547642268663, callback_object=281472225979856), CallbackObject(id=187651236032816, timestamp=1652795532892080524, callback_object=187651237609216), CallbackObject(id=187651235284384, timestamp=1652795547889036139, callback_object=187651235284608), CallbackObject(id=187651236521888, timestamp=1652795532817545579, callback_object=187651236826624), CallbackObject(id=187650226411360, timestamp=1652795532381109590, callback_object=187650226411328), CallbackObject(id=187650829931008, timestamp=1652795532356961584, callback_object=187650829931232), CallbackObject(id=187650725848512, timestamp=1652795532425613188, callback_object=187650725850128), CallbackObject(id=187651235237984, timestamp=1652795532744201679, callback_object=187651235238208), CallbackObject(id=187651234414560, timestamp=1652795532590157812, callback_object=187651234414784), CallbackObject(id=281471220195376, timestamp=1652795532806785901, callback_object=281471220195600), CallbackObject(id=187650227078416, timestamp=1652795533426825343, callback_object=187650227239936), CallbackObject(id=281471221778768, timestamp=1652795553042749441, callback_object=281473165106896), CallbackObject(id=281471555234272, timestamp=1652795547763222973, callback_object=281471555234496), CallbackObject(id=187651237827456, timestamp=1652795532894822254, callback_object=187651237827680), CallbackObject(id=187650227086464, timestamp=1652795532421795094, callback_object=187650227086688), CallbackObject(id=281472225931680, timestamp=1652795547642350503, callback_object=281472225979584), CallbackObject(id=187650725684000, timestamp=1652795532424254103, callback_object=187650725684224), CallbackObject(id=187651236518192, timestamp=1652795532815224451, callback_object=187651236518416), CallbackObject(id=187651234961136, timestamp=1652795547893732076, callback_object=187651238518768), CallbackObject(id=187651235161760, timestamp=1652795547898579693, callback_object=187651234142864), CallbackObject(id=187650830150352, timestamp=1652795532361855601, callback_object=187650830037024), CallbackObject(id=187651235237936, timestamp=1652795532747324130, callback_object=187651235240112), CallbackObject(id=187651170628208, timestamp=1652795532580134856, callback_object=187651170628432), CallbackObject(id=281471292197968, timestamp=1652795553355495871, callback_object=281471292198192), CallbackObject(id=187651233978848, timestamp=1652795532571224945, callback_object=187651234202256)}), (Topic(name='/tf'), {CallbackObject(id=187650226291824, timestamp=1652795532378957462, callback_object=187650226292048), CallbackObject(id=187651234065648, timestamp=1652795532565550644, callback_object=187651234065872), CallbackObject(id=187651238603200, timestamp=1652795547893025154, callback_object=187651238603424), CallbackObject(id=187651170059920, timestamp=1652795532565566245, callback_object=187651170060144), CallbackObject(id=187651165031296, timestamp=1652795532444577855, callback_object=187651165031520), CallbackObject(id=187651234324080, timestamp=1652795532824376164, callback_object=187651234324304), CallbackObject(id=281471554835744, timestamp=1652795547747481077, callback_object=281471554835968), CallbackObject(id=281472225746144, timestamp=1652795547635494599, callback_object=281472225746368), CallbackObject(id=187651235042896, timestamp=1652795532732233516, callback_object=187651235043120), CallbackObject(id=187651612612256, timestamp=1652795532706555105, callback_object=187651612612480), CallbackObject(id=281471292128896, timestamp=1652795553348241165, callback_object=281471292129120), CallbackObject(id=187650725410336, timestamp=1652795532417147837, callback_object=187650725410560), CallbackObject(id=187651237578688, timestamp=1652795532890382998, callback_object=187651237578912), CallbackObject(id=281471219535424, timestamp=1652795532790952365, callback_object=281471219535648)}), (Topic(name='/tf_static'), {CallbackObject(id=187651234361344, timestamp=1652795532824823765, callback_object=187651234361568), CallbackObject(id=281471219572352, timestamp=1652795532791575127, callback_object=281471219572576), CallbackObject(id=281472225734800, timestamp=1652795547635901880, callback_object=281472225735024), CallbackObject(id=281471554826096, timestamp=1652795547748150359, callback_object=281471554826320), CallbackObject(id=187651612728512, timestamp=1652795532706991627, callback_object=187651612728736), CallbackObject(id=187651238618608, timestamp=1652795547893574595, callback_object=187651238618832), CallbackObject(id=187651237682400, timestamp=1652795532890844440, callback_object=187651237682624), CallbackObject(id=281471292137200, timestamp=1652795553348656727, callback_object=281471292137424), CallbackObject(id=187650725488048, timestamp=1652795532417736880, callback_object=187650725488272), CallbackObject(id=187651234148528, timestamp=1652795532566102206, callback_object=187651234148752), CallbackObject(id=187651165103760, timestamp=1652795532445212417, callback_object=187651165103984), CallbackObject(id=187651235134176, timestamp=1652795532732750798, callback_object=187651235134400), CallbackObject(id=187650226355600, timestamp=1652795532379481344, callback_object=187650226355824), CallbackObject(id=187651170173776, timestamp=1652795532566187047, callback_object=187651170174000)}), (Topic(name='/map/vector_map'), {CallbackObject(id=187650725848512, timestamp=1652795532425613188, callback_object=187650725850128), CallbackObject(id=187651234515584, timestamp=1652795547838675561, callback_object=187651234515808), CallbackObject(id=187651237831536, timestamp=1652795532895589816, callback_object=187651237831760), CallbackObject(id=187651612976832, timestamp=1652795532714680214, callback_object=187651612977056), CallbackObject(id=187651236032816, timestamp=1652795532892080524, callback_object=187651237609216), CallbackObject(id=187650227078416, timestamp=1652795533426825343, callback_object=187650227239936), CallbackObject(id=187651234424656, timestamp=1652795547843757259, callback_object=187651234738032), CallbackObject(id=281471221778768, timestamp=1652795553042749441, callback_object=281473165106896), CallbackObject(id=187650725574912, timestamp=1652795532423326459, callback_object=187650725575136), CallbackObject(id=187650884621760, timestamp=1652795532673805669, callback_object=187650884621984), CallbackObject(id=187651235161760, timestamp=1652795547898579693, callback_object=187651234142864), CallbackObject(id=187650226411360, timestamp=1652795532381109590, callback_object=187650226411328), CallbackObject(id=281471220400576, timestamp=1652795532813244684, callback_object=281471220400800), CallbackObject(id=281471292318288, timestamp=1652795553355949193, callback_object=281471292318512)}), (Topic(name='/map/pointcloud_map'), {CallbackObject(id=187650883819920, timestamp=1652795533257301461, callback_object=187650883820144), CallbackObject(id=187650226411360, timestamp=1652795532381109590, callback_object=187650226411328), CallbackObject(id=187650227078416, timestamp=1652795533426825343, callback_object=187650227239936)}), (Topic(name='/perception/object_recognition/objects'), {CallbackObject(id=281471220214336, timestamp=1652795532811221477, callback_object=281471220214560), CallbackObject(id=187650227078416, timestamp=1652795533426825343, callback_object=187650227239936), CallbackObject(id=281472225914304, timestamp=1652795547641785221, callback_object=281472225914528), CallbackObject(id=187651170706592, timestamp=1652795532584393911, callback_object=187651170706816), CallbackObject(id=187651234424656, timestamp=1652795547843757259, callback_object=187651234738032), CallbackObject(id=281471221778768, timestamp=1652795553042749441, callback_object=281473165106896), CallbackObject(id=187651234414432, timestamp=1652795547836390752, callback_object=187651234414656), CallbackObject(id=281471292187680, timestamp=1652795553354325467, callback_object=281471292187904), CallbackObject(id=281471555182320, timestamp=1652795547763895895, callback_object=281471555182544), CallbackObject(id=187650226411360, timestamp=1652795532381109590, callback_object=187650226411328), CallbackObject(id=281472225931680, timestamp=1652795547642350503, callback_object=281472225979584)}), (Topic(name='/initialpose2d'), {CallbackObject(id=187650226411360, timestamp=1652795532381109590, callback_object=187650226411328), CallbackObject(id=187650227078416, timestamp=1652795533426825343, callback_object=187650227239936)}), (Topic(name='/planning/mission_planning/route'), {CallbackObject(id=187650725848512, timestamp=1652795532425613188, callback_object=187650725850128), CallbackObject(id=187651237930272, timestamp=1652795532896095138, callback_object=187651237930496), CallbackObject(id=187651235161760, timestamp=1652795547898579693, callback_object=187651234142864), CallbackObject(id=187650725588976, timestamp=1652795532423752581, callback_object=187650725589200), CallbackObject(id=187651236032816, timestamp=1652795532892080524, callback_object=187651237609216), CallbackObject(id=187650227078416, timestamp=1652795533426825343, callback_object=187650227239936), CallbackObject(id=187651235257712, timestamp=1652795547887008572, callback_object=187651235257936), CallbackObject(id=187650227078464, timestamp=1652795532421286012, callback_object=187650227078688), CallbackObject(id=281471221778768, timestamp=1652795553042749441, callback_object=281473165106896), CallbackObject(id=281471220449136, timestamp=1652795532813935967, callback_object=281471220449360), CallbackObject(id=187651234961136, timestamp=1652795547893732076, callback_object=187651238518768), CallbackObject(id=187650226411360, timestamp=1652795532381109590, callback_object=187650226411328), CallbackObject(id=187651613335744, timestamp=1652795532750644582, callback_object=187651613335968)}), (Topic(name='/planning/scenario_planning/trajectory'), {CallbackObject(id=187651238195664, timestamp=1652795532896665540, callback_object=187651238195888), CallbackObject(id=187651235237936, timestamp=1652795532747324130, callback_object=187651235240112), CallbackObject(id=187651234294336, timestamp=1652795532585953717, callback_object=187651234294560), CallbackObject(id=187650857760512, timestamp=1652795532488243650, callback_object=187650857873600), CallbackObject(id=187650857875248, timestamp=1652795532487999409, callback_object=187650857875472), CallbackObject(id=187651236032816, timestamp=1652795532892080524, callback_object=187651237609216), CallbackObject(id=187650227078416, timestamp=1652795533426825343, callback_object=187650227239936), CallbackObject(id=187651235161760, timestamp=1652795547898579693, callback_object=187651234142864), CallbackObject(id=187650857828480, timestamp=1652795532481967108, callback_object=187650857828448), CallbackObject(id=187650226411360, timestamp=1652795532381109590, callback_object=187650226411328), CallbackObject(id=187651233978848, timestamp=1652795532571224945, callback_object=187651234202256), CallbackObject(id=187651235242032, timestamp=1652795532744934881, callback_object=187651235242256)}), (Topic(name='/control/trajectory_follower/control_cmd'), {CallbackObject(id=187651239927824, timestamp=1652795548009185046, callback_object=187651239928048), CallbackObject(id=187650227078416, timestamp=1652795533426825343, callback_object=187650227239936), CallbackObject(id=187651238636192, timestamp=1652795547950945959, callback_object=187651238252112), CallbackObject(id=187651240214128, timestamp=1652795548020788847, callback_object=187651240224032), CallbackObject(id=187650226411360, timestamp=1652795532381109590, callback_object=187650226411328), CallbackObject(id=187651238636368, timestamp=1652795547950849559, callback_object=187651238636592), CallbackObject(id=187651239642144, timestamp=1652795547999818893, callback_object=187651238547408)}), (Topic(name='/vehicle/status/velocity_status'), {CallbackObject(id=187650226411360, timestamp=1652795532381109590, callback_object=187650226411328), CallbackObject(id=187650227078416, timestamp=1652795533426825343, callback_object=187650227239936)}), (Topic(name='/vehicle/status/steering_status'), {CallbackObject(id=187650227078416, timestamp=1652795533426825343, callback_object=187650227239936), CallbackObject(id=187651239922832, timestamp=1652795548008681204, callback_object=187651239923056), CallbackObject(id=187651233978848, timestamp=1652795532571224945, callback_object=187651234202256), CallbackObject(id=187651240214128, timestamp=1652795548020788847, callback_object=187651240224032), CallbackObject(id=187651234295632, timestamp=1652795532588347765, callback_object=187651234295856), CallbackObject(id=187650226411360, timestamp=1652795532381109590, callback_object=187650226411328), CallbackObject(id=187651239642144, timestamp=1652795547999818893, callback_object=187651238547408)}), (Topic(name='/system/emergency/control_cmd'), {CallbackObject(id=187650227078416, timestamp=1652795533426825343, callback_object=187650227239936), CallbackObject(id=187651240214128, timestamp=1652795548020788847, callback_object=187651240224032), CallbackObject(id=187650226411360, timestamp=1652795532381109590, callback_object=187650226411328), CallbackObject(id=187651239642144, timestamp=1652795547999818893, callback_object=187651238547408), CallbackObject(id=187651240046928, timestamp=1652795548012805859, callback_object=187651240047152)}), (Topic(name='/api/autoware/get/engage'), {CallbackObject(id=187650226567200, timestamp=1652795532420470209, callback_object=187650226567424), CallbackObject(id=187650226411360, timestamp=1652795532381109590, callback_object=187650226411328), CallbackObject(id=187650227078416, timestamp=1652795533426825343, callback_object=187650227239936)}), (Topic(name='/planning/scenario_planning/lane_driving/trajectory'), {CallbackObject(id=187650725848512, timestamp=1652795532425613188, callback_object=187650725850128), CallbackObject(id=187650725528480, timestamp=1652795532422494496, callback_object=187650725528704)}), (Topic(name='/planning/scenario_planning/parking/trajectory'), {CallbackObject(id=187650725538176, timestamp=1652795532422934938, callback_object=187650725538400), CallbackObject(id=187650725848512, timestamp=1652795532425613188, callback_object=187650725850128)}), (Topic(name='/planning/scenario_planning/max_velocity_default'), {CallbackObject(id=187651290507760, timestamp=1652795532427101753, callback_object=187651290507984)}), (Topic(name='/planning/scenario_planning/max_velocity_candidates'), {CallbackObject(id=187651290535728, timestamp=1652795532427573915, callback_object=187651290535952)}), (Topic(name='/planning/scenario_planning/clear_velocity_limit'), {CallbackObject(id=187651290617280, timestamp=1652795532428052996, callback_object=187651290617504)}), (Topic(name='/planning/scenario_planning/scenario_selector/trajectory'), {CallbackObject(id=187651165396336, timestamp=1652795532459592148, callback_object=187651165396560)}), (Topic(name='/planning/scenario_planning/max_velocity'), {CallbackObject(id=187651165497712, timestamp=1652795532460958593, callback_object=187651165497936)}), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/path'), {CallbackObject(id=187651170508848, timestamp=1652795532579426254, callback_object=187651170509072)}), (Topic(name='/planning/scenario_planning/lane_driving/obstacle_avoidance_approval'), {CallbackObject(id=187651170795920, timestamp=1652795532587325042, callback_object=187651170796144)}), (Topic(name='/diagnostics'), {CallbackObject(id=187650717916800, timestamp=1652795532640322030, callback_object=187650717917024), CallbackObject(id=187650717532576, timestamp=1652795532640963472, callback_object=187650717753424)}), (Topic(name='/planning/mission_planning/goal'), {CallbackObject(id=187651612752912, timestamp=1652795532707997110, callback_object=187651612753136)}), (Topic(name='/planning/mission_planning/checkpoint'), {CallbackObject(id=187651612765392, timestamp=1652795532708748753, callback_object=187651612765616)}), (Topic(name='/api/external/set/command/local/control'), {CallbackObject(id=187651236095968, timestamp=1652795532787465153, callback_object=187651235983520), CallbackObject(id=187651235894224, timestamp=1652795532782967137, callback_object=187651235894448), CallbackObject(id=187651235891120, timestamp=1652795532777152956, callback_object=187651235824752)}), (Topic(name='/api/external/set/command/local/shift'), {CallbackObject(id=187651236095968, timestamp=1652795532787465153, callback_object=187651235983520), CallbackObject(id=187651236009840, timestamp=1652795532783443978, callback_object=187651236010064), CallbackObject(id=187651235891120, timestamp=1652795532777152956, callback_object=187651235824752)}), (Topic(name='/api/external/set/command/local/turn_signal'), {CallbackObject(id=187651236095968, timestamp=1652795532787465153, callback_object=187651235983520), CallbackObject(id=187651236011408, timestamp=1652795532784181021, callback_object=187651236011632), CallbackObject(id=187651235891120, timestamp=1652795532777152956, callback_object=187651235824752)}), (Topic(name='/api/external/set/command/local/heartbeat'), {CallbackObject(id=187651236017424, timestamp=1652795532784583022, callback_object=187651236017648), CallbackObject(id=187651236095968, timestamp=1652795532787465153, callback_object=187651235983520), CallbackObject(id=187651235891120, timestamp=1652795532777152956, callback_object=187651235824752)}), (Topic(name='/api/external/set/command/remote/control'), {CallbackObject(id=187651236049552, timestamp=1652795532785299905, callback_object=187651236049776), CallbackObject(id=187651236095968, timestamp=1652795532787465153, callback_object=187651235983520), CallbackObject(id=187651235891120, timestamp=1652795532777152956, callback_object=187651235824752)}), (Topic(name='/api/external/set/command/remote/shift'), {CallbackObject(id=187651236095968, timestamp=1652795532787465153, callback_object=187651235983520), CallbackObject(id=187651236075584, timestamp=1652795532785742866, callback_object=187651236075808), CallbackObject(id=187651235891120, timestamp=1652795532777152956, callback_object=187651235824752)}), (Topic(name='/api/external/set/command/remote/turn_signal'), {CallbackObject(id=187651236095968, timestamp=1652795532787465153, callback_object=187651235983520), CallbackObject(id=187651236076832, timestamp=1652795532786221508, callback_object=187651236077056), CallbackObject(id=187651235891120, timestamp=1652795532777152956, callback_object=187651235824752)}), (Topic(name='/api/external/set/command/remote/heartbeat'), {CallbackObject(id=187651236084304, timestamp=1652795532786621950, callback_object=187651236084528), CallbackObject(id=187651236095968, timestamp=1652795532787465153, callback_object=187651235983520), CallbackObject(id=187651235891120, timestamp=1652795532777152956, callback_object=187651235824752)}), (Topic(name='/planning/scenario_planning/scenario'), {CallbackObject(id=281471220223648, timestamp=1652795532811598358, callback_object=281471220223872), CallbackObject(id=187651234424656, timestamp=1652795547843757259, callback_object=187651234738032), CallbackObject(id=187651235281808, timestamp=1652795547888058696, callback_object=187651235282032), CallbackObject(id=281471221778768, timestamp=1652795553042749441, callback_object=281473165106896), CallbackObject(id=187651234516960, timestamp=1652795547840656808, callback_object=187651234517184), CallbackObject(id=187651234961136, timestamp=1652795547893732076, callback_object=187651238518768)}), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/path_change_approval'), {CallbackObject(id=281471220283472, timestamp=1652795532812145400, callback_object=281471220283696), CallbackObject(id=281471221778768, timestamp=1652795553042749441, callback_object=281473165106896)}), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/path_change_force'), {CallbackObject(id=281471220381760, timestamp=1652795532812642442, callback_object=281471220381984), CallbackObject(id=281471221778768, timestamp=1652795553042749441, callback_object=281473165106896)}), (Topic(name='/external/selected/external_control_cmd'), {CallbackObject(id=187651236539712, timestamp=1652795532815699253, callback_object=187651236539936), CallbackObject(id=187651236352592, timestamp=1652795532812970643, callback_object=187651236178928), CallbackObject(id=187651236521888, timestamp=1652795532817545579, callback_object=187651236826624)}), (Topic(name='/external/selected/gear_cmd'), {CallbackObject(id=187651236352592, timestamp=1652795532812970643, callback_object=187651236178928), CallbackObject(id=187651236521888, timestamp=1652795532817545579, callback_object=187651236826624), CallbackObject(id=187651240214128, timestamp=1652795548020788847, callback_object=187651240224032), CallbackObject(id=187651236535728, timestamp=1652795532816179894, callback_object=187651236535952), CallbackObject(id=187651240036592, timestamp=1652795548012323617, callback_object=187651240036816), CallbackObject(id=187651239642144, timestamp=1652795547999818893, callback_object=187651238547408)}), (Topic(name='/external/selected/heartbeat'), {CallbackObject(id=187651236352592, timestamp=1652795532812970643, callback_object=187651236178928), CallbackObject(id=187651236629808, timestamp=1652795532817044218, callback_object=187651236630032), CallbackObject(id=187651240214128, timestamp=1652795548020788847, callback_object=187651240224032), CallbackObject(id=187651236521888, timestamp=1652795532817545579, callback_object=187651236826624), CallbackObject(id=187651239642144, timestamp=1652795547999818893, callback_object=187651238547408), CallbackObject(id=187651239890784, timestamp=1652795548007124319, callback_object=187651239891008)}), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/input/lateral_offset'), {CallbackObject(id=281471220598896, timestamp=1652795532815813653, callback_object=281471220599120), CallbackObject(id=281471221778768, timestamp=1652795553042749441, callback_object=281473165106896)}), (Topic(name='/control/trajectory_follower/lateral/control_cmd'), {CallbackObject(id=187651237083504, timestamp=1652795532841120743, callback_object=187651237083728)}), (Topic(name='/control/trajectory_follower/longitudinal/control_cmd'), {CallbackObject(id=187651237165200, timestamp=1652795532841552585, callback_object=187651237165424)}), (Topic(name='/control/trajectory_follower/lateral/predicted_trajectory'), {CallbackObject(id=187651237948160, timestamp=1652795532897086822, callback_object=187651237948384), CallbackObject(id=187651235161760, timestamp=1652795547898579693, callback_object=187651234142864), CallbackObject(id=187651236032816, timestamp=1652795532892080524, callback_object=187651237609216)}), (Topic(name='/perception/obstacle_segmentation/pointcloud'), {CallbackObject(id=187651234424704, timestamp=1652795547837175515, callback_object=187651234424928), CallbackObject(id=187651234424656, timestamp=1652795547843757259, callback_object=187651234738032), CallbackObject(id=281471555072288, timestamp=1652795547761742567, callback_object=281471555072512), CallbackObject(id=281472225878608, timestamp=1652795547641032339, callback_object=281472225878832), CallbackObject(id=281471292201536, timestamp=1652795553354910549, callback_object=281471292201760), CallbackObject(id=281472225931680, timestamp=1652795547642350503, callback_object=281472225979584)}), (Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/trajectory'), {CallbackObject(id=281471555210208, timestamp=1652795547762505370, callback_object=281471555210432)}), (Topic(name='/planning/scenario_planning/lane_driving/motion_planning/obstacle_stop_planner/input/expand_stop_range'), {CallbackObject(id=281471555215120, timestamp=1652795547764540417, callback_object=281471555215344)}), (Topic(name='/planning/scenario_planning/parking/costmap_generator/occupancy_grid'), {CallbackObject(id=187651234961136, timestamp=1652795547893732076, callback_object=187651238518768), CallbackObject(id=187651235210912, timestamp=1652795547887567254, callback_object=187651235211136)}), (Topic(name='/system/emergency/emergency_state'), {CallbackObject(id=187651239621024, timestamp=1652795548006270996, callback_object=187651239621248), CallbackObject(id=187651240214128, timestamp=1652795548020788847, callback_object=187651240224032), CallbackObject(id=187651239642144, timestamp=1652795547999818893, callback_object=187651238547408)}), (Topic(name='/control/gate_mode_cmd'), {CallbackObject(id=187651240214128, timestamp=1652795548020788847, callback_object=187651240224032), CallbackObject(id=187651239642144, timestamp=1652795547999818893, callback_object=187651238547408), CallbackObject(id=187651239912896, timestamp=1652795548007646921, callback_object=187651239913120)}), (Topic(name='/autoware/engage'), {CallbackObject(id=187651239920720, timestamp=1652795548008189643, callback_object=187651239920944), CallbackObject(id=187651240214128, timestamp=1652795548020788847, callback_object=187651240224032), CallbackObject(id=187651239642144, timestamp=1652795547999818893, callback_object=187651238547408)}), (Topic(name='/planning/turn_indicators_cmd'), {CallbackObject(id=187651239936720, timestamp=1652795548009629168, callback_object=187651239936944), CallbackObject(id=187651240214128, timestamp=1652795548020788847, callback_object=187651240224032), CallbackObject(id=187651239642144, timestamp=1652795547999818893, callback_object=187651238547408)}), (Topic(name='/planning/hazard_lights_cmd'), {CallbackObject(id=187651240214128, timestamp=1652795548020788847, callback_object=187651240224032), CallbackObject(id=187651239642144, timestamp=1652795547999818893, callback_object=187651238547408), CallbackObject(id=187651239969968, timestamp=1652795548010167010, callback_object=187651239970192)}), (Topic(name='/control/shift_decider/gear_cmd'), {CallbackObject(id=187651240214128, timestamp=1652795548020788847, callback_object=187651240224032), CallbackObject(id=187651239979264, timestamp=1652795548010624811, callback_object=187651239979488), CallbackObject(id=187651239642144, timestamp=1652795547999818893, callback_object=187651238547408)}), (Topic(name='/external/selected/control_cmd'), {CallbackObject(id=187651240214128, timestamp=1652795548020788847, callback_object=187651240224032), CallbackObject(id=187651239642144, timestamp=1652795547999818893, callback_object=187651238547408), CallbackObject(id=187651239991632, timestamp=1652795548011089493, callback_object=187651239991856)}), (Topic(name='/external/selected/turn_indicators_cmd'), {CallbackObject(id=187651239995456, timestamp=1652795548011488534, callback_object=187651239995680), CallbackObject(id=187651240214128, timestamp=1652795548020788847, callback_object=187651240224032), CallbackObject(id=187651239642144, timestamp=1652795547999818893, callback_object=187651238547408)}), (Topic(name='/external/selected/hazard_lights_cmd'), {CallbackObject(id=187651240027632, timestamp=1652795548011898736, callback_object=187651240027856), CallbackObject(id=187651240214128, timestamp=1652795548020788847, callback_object=187651240224032), CallbackObject(id=187651239642144, timestamp=1652795547999818893, callback_object=187651238547408)}), (Topic(name='/system/emergency/hazard_lights_cmd'), {CallbackObject(id=187651240214128, timestamp=1652795548020788847, callback_object=187651240224032), CallbackObject(id=187651239642144, timestamp=1652795547999818893, callback_object=187651238547408), CallbackObject(id=187651240076560, timestamp=1652795548013225020, callback_object=187651240076784)}), (Topic(name='/system/emergency/gear_cmd'), {CallbackObject(id=187651240214128, timestamp=1652795548020788847, callback_object=187651240224032), CallbackObject(id=187651239642144, timestamp=1652795547999818893, callback_object=187651238547408), CallbackObject(id=187651240083056, timestamp=1652795548013645782, callback_object=187651240083280)}), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/path_with_lane_id'), {CallbackObject(id=281471292182224, timestamp=1652795553353366144, callback_object=281471292182448)}), (Topic(name='/perception/traffic_light_recognition/traffic_signals'), {CallbackObject(id=281471292354688, timestamp=1652795553356545995, callback_object=281471292354912)}), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/input/external_crosswalk_states'), {CallbackObject(id=281471292439776, timestamp=1652795553361648653, callback_object=281471292440000)}), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/input/external_intersection_states'), {CallbackObject(id=281471292458032, timestamp=1652795553362135975, callback_object=281471292458256)}), (Topic(name='/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/input/external_velocity_limit_mps'), {CallbackObject(id=281471292694880, timestamp=1652795553362858017, callback_object=281471292695104)}), (Topic(name='/external/traffic_light_recognition/traffic_signals'), {CallbackObject(id=281471292723984, timestamp=1652795553363274419, callback_object=281471292724208)}), (Topic(name='/awapi/tmp/virtual_traffic_light_states'), {CallbackObject(id=281471292758736, timestamp=1652795553364606664, callback_object=281471292758960)}), (Topic(name='/perception/occupancy_grid_map/map'), {CallbackObject(id=281471292814832, timestamp=1652795553365321826, callback_object=281471292815056)})]\n" ] } ], @@ -1283,40 +1319,85 @@ "# publications of each callback\n", "#################################################\n", "\n", + "cb_to_scored_topic: Dict[CallbackObject, Set[Tuple[Topic, float]]] = {}\n", + "topic_to_cb: Dict[Topic, Set[CallbackObject]] = {}\n", + "\n", "for cb in callback_objects.values():\n", " # Find topics the callback depends on (HEURISTICALLY!)\n", " # - Timer callbacks: assume that the callback depends on every subscribed topic of the node\n", " # - Subscription callbacks: assume that the callback only depends on the subscribed topic\n", "\n", - " if isinstance(cb.owner, Timer):\n", + " if type(cb.owner).__name__ == Timer.__name__:\n", " owner_nodes = cb.owner.nodes\n", " if len(owner_nodes) != 1:\n", " raise(ValueError(\"Timer has more than one owner!\"))\n", " owner_node = owner_nodes[0]\n", - "\n", " dep_topics = [sub.topic for sub in owner_node.subscriptions]\n", - " elif isinstance(cb.owner, SubscriptionObject):\n", + " elif type(cb.owner).__name__ == SubscriptionObject.__name__:\n", " owner_node = cb.owner.subscription.node\n", - " dep_topics = cb.owner.subscription.topic\n", + " dep_topics = [cb.owner.subscription.topic,]\n", + " elif cb.owner is None:\n", + " continue\n", " else:\n", - " raise RuntimeError(f\"Callback owners other than timers/subscriptions cannot be handled: {cb.owner_info}\")\n", + " raise RuntimeError(f\"Callback owners other than timers/subscriptions cannot be handled: {cb.owner} {cb.owner_info}\")\n", + "\n", + " for topic in dep_topics: \n", + " if topic not in topic_to_cb:\n", + " topic_to_cb[topic] = set()\n", + " topic_to_cb[topic].add(cb)\n", "\n", " # Find topics the callback publishes to (HEURISTICALLY!)\n", " # For topics published to during the runtime of the callback's instances, \n", " # assume that they are published by the callback\n", "\n", " def inst_runtime_interval(cb_inst):\n", - " inst_t_min = inst.timestamp.timestamp()\n", - " inst_t_max = inst_t_min + inst.duration.total_seconds()\n", + " inst_t_min = cb_inst.timestamp.timestamp()\n", + " inst_t_max = inst_t_min + cb_inst.duration.total_seconds()\n", " return (inst_t_min, inst_t_max)\n", " \n", - " def filter_pub_insts_by_interval(cb_intervals, pub_insts: List[PublishInstance]):\n", - " return [inst for inst in pub_insts for (t_min, t_max) in cb_intervals if t_min < inst.timestamp * 1e-9 < t_max]\n", + " def filter_pub_insts_by_interval(cb_intervals: List[Tuple[float, float]], pub_insts: List[PublishInstance]):\n", + " \"\"\"\n", + " Counts number of publication instancess that lie within one of the cb_intervals.\n", + " \"\"\"\n", + " pub_timestamps = [inst.timestamp * 1e-9 for inst in pub_insts]\n", + " \n", + " # Algorithm: Two-pointer method\n", + " # With both the pub_timestamps and cb_intervals sorted ascending,\n", + " # we can cut down the O(m*n) comparisons to O(m+n).\n", + " pub_timestamps.sort()\n", + " cb_intervals.sort(key=lambda tup: tup[0])\n", + "\n", + " n_overlaps = 0\n", + " cb_iter = iter(cb_intervals)\n", + " pub_iter = iter(pub_timestamps)\n", + " (t_min, t_max) = next(cb_iter, (None, None))\n", + " t_pub = next(pub_iter, None)\n", + "\n", + " while t_pub is not None and t_min is not None:\n", + " if t_min <= t_pub <= t_max: # If publication in interval, increase counter, go to next pub (multiple pubs can be within one interval)\n", + " n_overlaps += 1\n", + " t_pub = next(pub_iter, None)\n", + " elif t_pub < t_min: # If publication before interval, increase pub\n", + " t_pub = next(pub_iter, None)\n", + " else: # If interval before publication, increase interval\n", + " (t_min, t_max) = next(cb_iter, (None, None))\n", + "\n", + " return n_overlaps\n", "\n", " cb_runtime_intervals = [inst_runtime_interval(inst) for inst in cb.callback_instances]\n", - " cb_pub_overlaps = [filter_pub_insts_by_interval(cb_runtime_intervals, pub.instances) for pub in owner_node.publishers]\n", - " cb_pub_scores = [len(pub_overlaps) / len(pub.instances) for pub, pub_overlaps in zip(owner_node.publishers, cb_pub_overlaps)]\n", - " print(cb_pub_scores)\n", + " cb_pub_overlap_counts = [filter_pub_insts_by_interval(cb_runtime_intervals, pub.instances) for pub in owner_node.publishers]\n", + "\n", + " for pub, olap_count in zip(owner_node.publishers, cb_pub_overlap_counts):\n", + " if olap_count == 0 or not pub.instances:\n", + " continue\n", + " score = olap_count / len(pub.instances)\n", + "\n", + " if cb not in cb_to_scored_topic: \n", + " cb_to_scored_topic[cb] = set()\n", + " cb_to_scored_topic[cb].add((pub.topic, score))\n", + "\n", + "print(list(cb_to_scored_topic.items())[:100])\n", + "print(list(topic_to_cb.items())[:100])\n", "\n", "#################################################\n", "# For each callback, compute pub-use latency \n",