birdseye_node:
  ros__parameters:
    image_topic: /image
    # Current car_usb_cam MJPEG mode publishes sensor_msgs/msg/CompressedImage.
    # Use "raw" when the selected upstream publisher uses sensor_msgs/msg/Image.
    image_message_type: compressed
    # Must match the image actually published by car_usb_cam and the calibration matrix below.
    input_width: 1280
    input_height: 720
    # hobot_usb_cam applies its configured camera calibration before publishing /image.
    input_is_rectified: true
    vehicle_output_topic: /birdseye/vehicle/image
    world_output_topic: /birdseye/world/image
    base_frame: base_footprint
    world_frame: odom_combined
    enable_world_view: true

    # Scaled from the existing 800x450 intrinsics to the current 1280x720 stream.
    # Replace these values with the final rectified 1280x720 calibration when available.
    fx: 450.55244482
    fy: 457.08553096
    cx: 583.36914605
    cy: 327.88183768
    distortion_coefficients: [0.03532389, -0.05576607, 0.00027529, 0.00241747, 0.01024998]

    # Approximate T_camera_from_base for offline validation. Replace with calibrator output on the vehicle.
    camera_from_base_rotation: [0.0, -1.0, 0.0, -0.70710678, 0.0, -0.70710678, 0.70710678, 0.0, -0.70710678]
    camera_from_base_translation: [0.0, 0.28284271, 0.14142136]

    output_width: 600
    output_height: 800
    meters_per_pixel: 0.01
    rear_meters: 2.0
    left_meters: 3.0

    world_origin_x: 0.0
    world_origin_y: 0.0
    world_width: 800
    world_height: 800
    world_left_meters: 4.0
    world_rear_meters: 4.0
