Hi,
I am using Oak FFC 3P with two OV9282 cameras. To get the feed in ROS 2 I run the following command:
ros2 launch depthai_ros_driver camera.launch.py
The following is my camera.yaml file I am using:
/oak:
ros__parameters:
camera:
i_enable_imu: true
i_enable_ir: true
i_nn_type: none
i_pipeline_type: Depth
I am trying to get the stream from both camera in ROS 2 but I get the following error when I launch the launch file:
shivam157@ubuntu:~/dai_ws$ ros2 launch depthai_ros_driver camera.launch.py
[INFO] [launch]: All log files can be found below /home/shivam157/.ros/log/2024-06-10-14-18-18-285687-ubuntu-64785
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [component_container-1]: process started with pid [64813]
[component_container-1] [INFO] [1718043499.015114793] [oak_container]: Load Library: /opt/ros/humble/lib/librobot_state_publisher_node.so
[component_container-1] [INFO] [1718043499.020932156] [oak_container]: Found class: rclcpp_components::NodeFactoryTemplate<robot_state_publisher::RobotStatePublisher>
[component_container-1] [INFO] [1718043499.021025855] [oak_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<robot_state_publisher::RobotStatePublisher>
[component_container-1] [INFO] [1718043499.037442999] [oak_state_publisher]: got segment oak
[component_container-1] [INFO] [1718043499.037572571] [oak_state_publisher]: got segment oak-d-base-frame
[component_container-1] [INFO] [1718043499.037596987] [oak_state_publisher]: got segment oak_imu_frame
[component_container-1] [INFO] [1718043499.037610332] [oak_state_publisher]: got segment oak_left_camera_frame
[component_container-1] [INFO] [1718043499.037622684] [oak_state_publisher]: got segment oak_left_camera_optical_frame
[component_container-1] [INFO] [1718043499.037633628] [oak_state_publisher]: got segment oak_model_origin
[component_container-1] [INFO] [1718043499.037644797] [oak_state_publisher]: got segment oak_rgb_camera_frame
[component_container-1] [INFO] [1718043499.037655229] [oak_state_publisher]: got segment oak_rgb_camera_optical_frame
[component_container-1] [INFO] [1718043499.037665789] [oak_state_publisher]: got segment oak_right_camera_frame
[component_container-1] [INFO] [1718043499.037675934] [oak_state_publisher]: got segment oak_right_camera_optical_frame
[component_container-1] [INFO] [1718043499.041937633] [oak_container]: Load Library: /home/shivam157/dai_ws/install/depthai_ros_driver/lib/libdepthai_ros_driver.so
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/oak_state_publisher' in container 'oak_container'
[component_container-1] [INFO] [1718043499.225384607] [oak_container]: Found class: rclcpp_components::NodeFactoryTemplate<depthai_ros_driver::Camera>
[component_container-1] [INFO] [1718043499.225514883] [oak_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<depthai_ros_driver::Camera>
[component_container-1] [INFO] [1718043499.239264233] [oak]: No ip/mxid specified, connecting to the next available device.
[component_container-1] [INFO] [1718043502.756844032] [oak]: Camera with MXID: 14442C10E14FCBD600 and Name: 1.2.1 connected!
[component_container-1] [INFO] [1718043502.759244265] [oak]: USB SPEED: SUPER
[component_container-1] [INFO] [1718043502.793681418] [oak]: Device type: OAK-FFC-3P
[component_container-1] [INFO] [1718043502.797278201] [oak]: Pipeline type: Depth
[component_container-1] [ERROR] [1718043502.923537307] [oak]: rgb parameters not set, defaulting to 1280x720 unless specified otherwise.
[component_container-1] [INFO] [1718043503.151099075] [oak]: Finished setting up pipeline.
[component_container-1] [INFO] [1718043503.448130750] [oak]: Camera ready!
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/oak' in container '/oak_container'
[component_container-1] [14442C10E14FCBD600] [1.2.1] [3.407] [system] [critical] Fatal error. Please report to developers. Log: 'Fatal error on MSS CPU: trap: 00, address: 00000000' '0'
[component_container-1] [ERROR] [1718043506.989106799] [oak]: No data on logger queue!
[component_container-1] [ERROR] [1718043506.989567646] [oak]: Camera diagnostics error: No Data
[component_container-1] [ERROR] [1718043506.989920744] [oak]: Camera diagnostics error: Communication exception - possible device error/misconfiguration. Original message 'Couldn't read data from stream: 'sys_logger_queue' (X_LINK_ERROR)'
[component_container-1] [ERROR] [1718043507.365601455] [oak]: No data on logger queue!
Note: I have edited the calibration file in the calibration folder according to the calibration values I got after calibration. It is exactly same the format but values are different.
Based on what I have read from post mentioning similar issue it looks like to be a calibration issue. There might be some inaccuracies in the projection matrix but every thing else in the calibration file looks correct.
The following are the calibration files:
Right:
image_height: 800image_width: 1280camera_name: /right
camera_matrix: rows: 3 cols: 3 data: [909.0518188476563, 0.0, 644.2517700195313, 0.0, 909.3357543945313, 383.7008972167969, 0.0, 0.0, 1.0]
distortion_model: plumb_bobdistortion_coefficients: rows: 1 cols: 5 data: [-2.396423578262329, -10.477461814880371, -0.0004928055568598211, 0.0011145062744617462, 26.935871124267578]
projection_matrix: rows: 3 cols: 4 data: [894.840004, -18.2600671, 640.987306, 12794.4304, 6.21262405, 903.049324, 406.725305, -262.781198, -0.01758564, -0.00783576, 0.99981463, 0.05226067]
rectification_matrix: rows: 3 cols: 3 data: [0.997919499874115, 0.05123051628470421, -0.03914157673716545, -0.051841288805007935, 0.9985463619232178, -0.014751287177205086, 0.03832896426320076, 0.016749747097492218, 0.9991247653961182]
Left:
image_height: 800
image_width: 1280
camera_name: /left
camera_matrix: rows: 3 cols: 3 data: [906.0726318359375, 0.0, 625.2752685546875, 0.0, 906.3057861328125, 399.464599609375, 0.0, 0.0, 1.0]
distortion_model: plumb_bobdistortion_coefficients: rows: 1 cols: 5 data: [-3.9288971424102783, -3.196507692337036, -0.00022527640976477414, 0.0015712999738752842, 19.68087387084961]
projection_matrix: rows: 3 cols: 4 data: [916.7586377, 18.2944264, 609.225495, -12938.3743, -6.38585554, 909.412310, 392.288955, 354.071264, 0.01746874, 0.00809302, 0.99981463, -0.2957598] rectification_matrix: rows: 3 cols: 3 data: [0.9999700784683228, 0.0027009991463273764, 0.007252837531268597, -0.0026633546222001314, 0.9999829530715942, -0.00519499322399497, -0.007266745902597904, 0.00517552113160491, 0.99996018409729]
Edit 1: I edited the camera.yaml file because I thought that was causing the error but after change I still get the same error. The following is the camera.yaml
/oak:
ros__parameters:
camera:
i_enable_imu: true
i_enable_ir: true
i_calibration_dump: true
i_nn_type: none
i_pipeline_type: Stereo
left: i_resolution: 800P i_add_exposure_offset: false i_height: 800 i_board_socket_id: 1 i_calibration_file: 'file:///home/shivam157/dai_ws/src/depthai-ros/depthai_ros_driver/config/calibration/left.yaml'
rgb: i_resolution: 1080P i_disable_node: true i_add_exposure_offset: false i_height: 1080 i_board_socket_id: 0
right: i_resolution: 800P i_add_exposure_offset: false i_height: 800 i_board_socket_id: 2 i_calibration_file: 'file:///home/shivam157/dai_ws/src/depthai-ros/depthai_ros_driver/config/calibration/right.yaml'
stereo: i_set_input_size: true i_height: 800 i_width: 1280 i_board_socket_id: 0 i_left_socket_id: 1 i_right_socket_id: 2
Also, I cloned and installed depthAI, DepthAI-python and DepthAI-core around 7 days ago. So I am using the latest branch.
@jakaskerl Please help me find solution to this error. The error is the following in case it is difficult to find in the text above:
[component_container-1] [14442C10E14FCBD600] [1.2.1] [3.407] [system] [critical] Fatal error. Please report to developers. Log: 'Fatal error on MSS CPU: trap: 00, address: 00000000' '0'
[component_container-1] [ERROR] [1718043506.989106799] [oak]: No data on logger queue!
[component_container-1] [ERROR] [1718043506.989567646] [oak]: Camera diagnostics error: No Data
[component_container-1] [ERROR] [1718043506.989920744] [oak]: Camera diagnostics error: Communication exception - possible device error/misconfiguration. Original message 'Couldn't read data from stream: 'sys_logger_queue' (X_LINK_ERROR)'
I have attached the debug output from when I run the launch file( Sorry won't let me upload the file because its says file type not allowed. So I am providing drive link):