Closed FabienDanieau closed 11 months ago
Here is the output from the docker. There are also errors related to color/images conversion
root@docker:/# ros2 launch depthai_ros_driver camera.launch.py
[INFO] [launch]: All log files can be found below /root/.ros/log/2023-05-25-09-27-48-375047-lotus-532
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [robot_state_publisher-1]: process started with pid [546]
[INFO] [component_container-2]: process started with pid [548]
[robot_state_publisher-1] [INFO] [1685006868.516664340] [oak_state_publisher]: got segment oak
[robot_state_publisher-1] [INFO] [1685006868.516711874] [oak_state_publisher]: got segment oak-d-base-frame
[robot_state_publisher-1] [INFO] [1685006868.516717133] [oak_state_publisher]: got segment oak_imu_frame
[robot_state_publisher-1] [INFO] [1685006868.516720400] [oak_state_publisher]: got segment oak_left_camera_frame
[robot_state_publisher-1] [INFO] [1685006868.516723932] [oak_state_publisher]: got segment oak_left_camera_optical_frame
[robot_state_publisher-1] [INFO] [1685006868.516726962] [oak_state_publisher]: got segment oak_model_origin
[robot_state_publisher-1] [INFO] [1685006868.516729856] [oak_state_publisher]: got segment oak_rgb_camera_frame
[robot_state_publisher-1] [INFO] [1685006868.516732888] [oak_state_publisher]: got segment oak_rgb_camera_optical_frame
[robot_state_publisher-1] [INFO] [1685006868.516735917] [oak_state_publisher]: got segment oak_right_camera_frame
[robot_state_publisher-1] [INFO] [1685006868.516738840] [oak_state_publisher]: got segment oak_right_camera_optical_frame
[component_container-2] [INFO] [1685006868.751586720] [oak_container]: Load Library: /ws/install/lib/libdepthai_ros_driver.so
[component_container-2] [INFO] [1685006868.788958702] [oak_container]: Found class: rclcpp_components::NodeFactoryTemplate<depthai_ros_driver::Camera>
[component_container-2] [INFO] [1685006868.789009459] [oak_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<depthai_ros_driver::Camera>
[component_container-2] [INFO] [1685006868.792988488] [oak]: No ip/mxid specified, connecting to the next available device.
[component_container-2] [INFO] [1685006871.627235896] [oak]: Camera with MXID: 18443010E198000900 and Name: 3.4 connected!
[component_container-2] [INFO] [1685006871.628217407] [oak]: USB SPEED: SUPER
[component_container-2] [INFO] [1685006871.649019585] [oak]: Device type: OAK-D-PRO
[component_container-2] [INFO] [1685006871.651225204] [oak]: Pipeline type: RGBD
[component_container-2] [INFO] [1685006871.659113650] [oak]: NN Family: mobilenet
[component_container-2] [INFO] [1685006871.699100900] [oak]: NN input size: 300 x 300. Resizing input image in case of different dimensions.
[component_container-2] [INFO] [1685006871.953077332] [oak]: Finished setting up pipeline.
[component_container-2] [INFO] [1685006872.438657932] [oak]: Camera ready!
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/oak' in container '/oak_container'
[component_container-2] [ERROR] [1685006879.396425498] [compressed_depth_image_transport]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: bgr8).
[component_container-2] [WARN] [1685006879.401038046] [TheoraPublisher]: Couldn't set keyframe frequency to 0, actually set to 1
[component_container-2] [ERROR] [1685006879.460428225] [compressed_depth_image_transport]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: bgr8).
[component_container-2] [ERROR] [1685006879.489638166] [compressed_depth_image_transport]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: bgr8).
[component_container-2] [ERROR] [1685006879.518837971] [compressed_depth_image_transport]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: bgr8).
[component_container-2] [ERROR] [1685006879.539800358] [compressed_depth_image_transport]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: bgr8).
[component_container-2] [ERROR] [1685006879.560707274] [compressed_depth_image_transport]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: bgr8).
[component_container-2] [ERROR] [1685006879.659508245] [CompressedPublisher]: [16UC1] is not a color format. but [mono8] is. The conversion does not make sense
[component_container-2] [WARN] [1685006879.660800633] [TheoraPublisher]: Couldn't set keyframe frequency to 0, actually set to 1
[component_container-2] [ERROR] [1685006879.661175663] [TheoraPublisher]: cv_bridge exception: '[16UC1] is not a color format. but [bgr8] is. The conversion does not make sense'
[component_container-2] [ERROR] [1685006879.917993480] [CompressedPublisher]: [16UC1] is not a color format. but [mono8] is. The conversion does not make sense
[component_container-2] [ERROR] [1685006879.918584060] [TheoraPublisher]: cv_bridge exception: '[16UC1] is not a color format. but [bgr8] is. The conversion does not make sense'
[component_container-2] [ERROR] [1685006879.943404527] [compressed_depth_image_transport]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: bgr8).
[component_container-2] [ERROR] [1685006880.181582151] [CompressedPublisher]: [16UC1] is not a color format. but [mono8] is. The conversion does not make sense
[component_container-2] [ERROR] [1685006880.182243000] [TheoraPublisher]: cv_bridge exception: '[16UC1] is not a color format. but [bgr8] is. The conversion does not make sense'
[component_container-2] [ERROR] [1685006880.217680381] [compressed_depth_image_transport]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: bgr8).
[component_container-2] [ERROR] [1685006880.240037540] [compressed_depth_image_transport]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: bgr8).
[component_container-2] [ERROR] [1685006880.457151118] [CompressedPublisher]: [16UC1] is not a color format. but [mono8] is. The conversion does not make sense
[component_container-2] [ERROR] [1685006880.457973952] [TheoraPublisher]: cv_bridge exception: '[16UC1] is not a color format. but [bgr8] is. The conversion does not make sense'
[component_container-2] [ERROR] [1685006880.490084000] [compressed_depth_image_transport]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: bgr8).
[component_container-2] [ERROR] [1685006880.711212735] [CompressedPublisher]: [16UC1] is not a color format. but [mono8] is. The conversion does not make sense
[component_container-2] [ERROR] [1685006880.711786459] [TheoraPublisher]: cv_bridge exception: '[16UC1] is not a color format. but [bgr8] is. The conversion does not make sense'
[component_container-2] [ERROR] [1685006880.738354177] [compressed_depth_image_transport]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: bgr8).
[component_container-2] [ERROR] [1685006880.970190782] [CompressedPublisher]: [16UC1] is not a color format. but [mono8] is. The conversion does not make sense
[component_container-2] [ERROR] [1685006880.970777968] [TheoraPublisher]: cv_bridge exception: '[16UC1] is not a color format. but [bgr8] is. The conversion does not make sense'
[component_container-2] [ERROR] [1685006881.239124908] [CompressedPublisher]: [16UC1] is not a color format. but [mono8] is. The conversion does not make sense
[component_container-2] [ERROR] [1685006881.239739870] [TheoraPublisher]: cv_bridge exception: '[16UC1] is not a color format. but [bgr8] is. The conversion does not make sense'
[component_container-2] [ERROR] [1685006881.268619620] [compressed_depth_image_transport]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: bgr8).
[component_container-2] [ERROR] [1685006881.486592614] [CompressedPublisher]: [16UC1] is not a color format. but [mono8] is. The conversion does not make sense
[component_container-2] [ERROR] [1685006881.487244929] [TheoraPublisher]: cv_bridge exception: '[16UC1] is not a color format. but [bgr8] is. The conversion does not make sense'
[component_container-2] [ERROR] [1685006881.525559979] [compressed_depth_image_transport]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: bgr8).
[component_container-2] [ERROR] [1685006881.556077713] [compressed_depth_image_transport]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: bgr8).
[component_container-2] [ERROR] [1685006881.730482224] [CompressedPublisher]: [16UC1] is not a color format. but [mono8] is. The conversion does not make sense
[component_container-2] [ERROR] [1685006881.731155104] [TheoraPublisher]: cv_bridge exception: '[16UC1] is not a color format. but [bgr8] is. The conversion does not make sense'
[component_container-2] [ERROR] [1685006881.757655439] [compressed_depth_image_transport]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: bgr8).
[component_container-2] [ERROR] [1685006881.976827562] [CompressedPublisher]: [16UC1] is not a color format. but [mono8] is. The conversion does not make sense
[component_container-2] [ERROR] [1685006881.977574131] [TheoraPublisher]: cv_bridge exception: '[16UC1] is not a color format. but [bgr8] is. The conversion does not make sense'
[component_container-2] [ERROR] [1685006882.003955160] [compressed_depth_image_transport]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: bgr8).
[component_container-2] [ERROR] [1685006882.202520321] [CompressedPublisher]: [16UC1] is not a color format. but [mono8] is. The conversion does not make sense
[component_container-2] [ERROR] [1685006882.203128605] [TheoraPublisher]: cv_bridge exception: '[16UC1] is not a color format. but [bgr8] is. The conversion does not make sense'
[component_container-2] [ERROR] [1685006882.420382652] [CompressedPublisher]: [16UC1] is not a color format. but [mono8] is. The conversion does not make sense
[component_container-2] [ERROR] [1685006882.421069877] [TheoraPublisher]: cv_bridge exception: '[16UC1] is not a color format. but [bgr8] is. The conversion does not make sense'
[component_container-2] [ERROR] [1685006882.627316469] [CompressedPublisher]: [16UC1] is not a color format. but [mono8] is. The conversion does not make sense
[component_container-2] [ERROR] [1685006882.627942541] [TheoraPublisher]: cv_bridge exception: '[16UC1] is not a color format. but [bgr8] is. The conversion does not make sense'
[component_container-2] [ERROR] [1685006882.657103986] [compressed_depth_image_transport]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: bgr8).
[ERROR] [component_container-2]: process has died [pid 548, exit code -11, cmd '/opt/ros/humble/lib/rclcpp_components/component_container --ros-args --log-level info --ros-args -r __node:=oak_container -r __ns:=/'].
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[robot_state_publisher-1] [INFO] [1685006890.096533897] [rclcpp]: signal_handler(signum=2)
[INFO] [robot_state_publisher-1]: process has finished cleanly [pid 546]
Hi, thanks for the info, we're currently investigating this, though some initial thoughts:
Thanks. This is what I have with depthai-experiments/gen2-pointcloud/rgbd-pointcloud/main.py
Point cloud looks ok.
Now, if I just the ROS command
ros2 launch depthai_ros_driver rgbd_pcl.launch.py
$ ros2 topic list
/joint_states
/oak/imu/data
/oak/points
/oak/rgb/camera_info
/oak/rgb/image_raw
/oak/rgb/image_raw/compressed
/oak/rgb/image_raw/compressedDepth
/oak/rgb/image_raw/theora
/oak/stereo/camera_info
/oak/stereo/image_raw
/oak/stereo/image_raw/compressed
/oak/stereo/image_raw/compressedDepth
/oak/stereo/image_raw/theora
/parameter_events
/robot_description
/rosout
/tf
/tf_static
$ ros2 topic info /oak/points
Type: sensor_msgs/msg/PointCloud2
Publisher count: 1
Subscription count: 0
$ ros2 topic echo /oak/points
I never see any pcl published. This happens in docker and with a regular ROS2 machine.
the example ros2 launch depthai_examples stereo_inertial_node.launch.py
displays a point cloud but it doesn't look so good
Will take a look at it and get back to you.
foxglove visualization issue is because we are using rational polynomial
calibration model which is not supported by foxglove yet. Most likely will come in next release.
And as of your rgbd_pcl
try enabling the IR
Ok thanks I thought it was according to their doc
@FabienDanieau also, on the depth publishing/quality, main branch should be fixed, there was a minor typo with the topic names. Regarding stereo_inertial_node
, it has dot projector/floodlight disabled by default, you can enable it following way: ros2 launch depthai_examples stereo_inertial_node.launch.py enableDotProjector:=true dotProjectormA:=800.0
It is not. I discussed this with them and looked at the code too. I will send a PR to them in a week or so to include that.
Describe the bug Hi, I am testing depthai-ros inside a docker for now, version 2.7.2. I'd like to use foxglove to monitor what's happening but the camera FoV is not properly displayed in the 3D view. I am not sure if this is a visual problem (foxglove) or if the camera_info is incorrect.
I have a OAK-D-Pro
Minimal Reproducible Example I just ran the basic example
ros2 launch depthai_ros_driver camera.launch.py
and I logged everyting in a rosbag
ros2 bag record -a -s sqlite3
When I open the *.db3 in foxglove, I see that the camera field of view is not properly rendered (see screenshot). The camera_info message in foxglove from the .db3 is the same that the one I observe in the docker with
ros2 topic info /oak/rgb/camera_info
. The logging is ok then.Screenshot
Additional context FYI here the calibration info of the camera. I don't really see these values in the camera_info message.