Skip to content

[draft] Post Camera Synchronization #550

[draft] Post Camera Synchronization

[draft] Post Camera Synchronization #550

Triggered via pull request June 16, 2024 02:29
Status Success
Total duration 4m 6s
Artifacts

build_and_unitest.yml

on: pull_request
Setup Environment
30s
Setup Environment
Matrix: Build/Test
Confirm Build and Unit Tests Completed
0s
Confirm Build and Unit Tests Completed
Fit to window
Zoom out
Zoom in

Annotations

6 errors, 2 warnings, and 4 notices
src/perception/camera_object_detection/camera_object_detection/post_synchronizer.py#L9
from ultralytics.utils.plotting import Annotator, colors from cv_bridge import CvBridgeError - -class CameraSyncNode(Node): # synchronizes visualizations + + +class CameraSyncNode(Node): # synchronizes visualizations def __init__(self): super().__init__('camera_sync_node') self.get_logger().info("Camera Sync Node") - self.camera_img_sub = Subscriber(self, Image , '/camera/right/image_color') - + self.camera_img_sub = Subscriber(self, Image, '/camera/right/image_color') + self.camera1_sub = Subscriber(self, Detection2DArray, '/camera/right/camera_detections') self.camera2_sub = Subscriber(self, Detection2DArray, '/traffic_signs') self.camera3_sub = Subscriber(self, Detection2DArray, '/traffic_lights') - + self.ts = ApproximateTimeSynchronizer( [self.camera_img_sub, self.camera1_sub, self.camera2_sub, self.camera3_sub], queue_size=10, slop=0.1) - + self.ts.registerCallback(self.callback) - - self.combined_detection_publisher = self.create_publisher(Detection2DArray, '/combined_detections', 10) + + self.combined_detection_publisher = self.create_publisher( + Detection2DArray, '/combined_detections', 10) self.vis_publisher = self.create_publisher(Image, '/annotated_img', 10) def process_img(self, image):
src/perception/camera_object_detection/camera_object_detection/post_synchronizer.py#L38
self.get_logger().error(str(e)) return return cv_image - + def postprocess_detections(self, detections, annotator): """ Post-process draws bouningboxes on camera image.
src/perception/camera_object_detection/camera_object_detection/post_synchronizer.py#L66
annotator_img = annotator.result() return (processed_detections, annotator_img) - + def publish_vis(self, annotated_img, msg): # Publish visualizations imgmsg = self.cv_bridge.cv2_to_imgmsg(annotated_img, "bgr8") imgmsg.header.stamp = msg.header.stamp imgmsg.header.frame_id = msg.header.frame_id self.vis_publisher.publish(imgmsg) - + def callback(self, camera_img_sub, camera1_msg, camera2_msg, camera3_msg): combined_detections = Detection2DArray() combined_detections.header = Header()
src/perception/camera_object_detection/camera_object_detection/post_synchronizer.py#L81
combined_detections.header.frame_id = camera1_msg.header.frame_id cv_image = self.process_img(camera_img_sub) - + for detection in camera1_msg.detections: combined_detections.detections.append(detection) - + for detection in camera2_msg.detections: combined_detections.detections.append(detection) - + for detection in camera3_msg.detections: combined_detections.detections.append(detection)
src/perception/camera_object_detection/camera_object_detection/post_synchronizer.py#L97
example=str(self.names), ) (combined_detections, annotated_img) = self.postprocess_detections(combined_detections, annotator) - + self.combined_detection_publisher.publish(combined_detections) self.publish_vis(annotated_img, camera_img_sub) - + + def main(args=None): rclpy.init(args=args) node = CameraSyncNode() - + rclpy.spin(node) - + node.destroy_node() rclpy.shutdown() - + + if __name__ == '__main__': - main() \ No newline at end of file + main()
src/samples/python/aggregator/setup.py#L14
# Include our package.xml file (os.path.join('share', package_name), ['package.xml']), # Include all launch files. - (os.path.join('share', package_name, 'launch'), \ + (os.path.join('share', package_name, 'launch'), glob(os.path.join('launch', '*.launch.py'))), ], install_requires=['setuptools'],
Build/Test (interfacing, sensor_interfacing)
Failed to download action 'https://api.github.com/repos/actions/checkout/tarball/692973e3d937129bcbf40652eb9f2f61becf3332'. Error: The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing.
Build/Test (interfacing, sensor_interfacing)
Back off 21.366 seconds before retry.
Setup Environment
Detected infrastructure changes
Setup Environment
Using camera-sync-dan as the source branch
Setup Environment
Using main as the target branch
Confirm Build and Unit Tests Completed
All builds and unit tests completed!