Realsense相机驱动在使用imu数据时出现Qos问题

Realsense相机驱动在使用imu数据时出现Qos问题,报错如下:

bash 复制代码
[camera.camera]: New subscription discovered on topic '/camera/camera/imu', requesting incompatible QoS. No messages will be sent to it. Last incompatible policy: RELIABILITY_QOS_POLICY

解决

对驱动源码https://github.com/IntelRealSense/realsense-ros/blob/ros2-development/realsense2_camera/src/rs_node_setup.cpp的以下位置进行修改:

源码:

cpp 复制代码
    if (_is_accel_enabled && _is_gyro_enabled && (_imu_sync_method > imu_sync_method::NONE))
    {
        rmw_qos_profile_t qos = _use_intra_process ? qos_string_to_qos(DEFAULT_QOS) : qos_string_to_qos(HID_QOS);
        
        _synced_imu_publisher = std::make_shared<SyncedImuPublisher>(_node.create_publisher<sensor_msgs::msg::Imu>("~/imu", 
                                                        rclcpp::QoS(rclcpp::QoSInitialization::from_rmw(qos), qos)));
    }

修改:

cpp 复制代码
    if (_is_accel_enabled && _is_gyro_enabled && (_imu_sync_method > imu_sync_method::NONE))
    {
    	// changed 20241028
    	rmw_qos_profile_t qos;
    	qos = rmw_qos_profile_default;
    	qos.depth = 20;
    	// delete 20241028
        //rmw_qos_profile_t qos = _use_intra_process ? qos_string_to_qos(DEFAULT_QOS) : qos_string_to_qos(HID_QOS);
        
        _synced_imu_publisher = std::make_shared<SyncedImuPublisher>(_node.create_publisher<sensor_msgs::msg::Imu>("~/imu", 
                                                        rclcpp::QoS(rclcpp::QoSInitialization::from_rmw(qos), qos)));
    }
相关推荐
陈傻鱼2 小时前
ROS2测试仿真
机器人·ros·slam
CES_Asia10 小时前
CES Asia 2025优惠期即将截止,独特模式助力科技盛会
人工智能·科技·数码相机·智能手表
蟕初的梦想13 小时前
VINS-Mono源码阅读(一)程序简介、编译调试、配置文件
数码相机
7yewh2 天前
嵌入式产品级-超小尺寸热成像相机(从0到1 硬件-软件-外壳)
单片机·嵌入式硬件·mcu·数码相机·物联网
工科狗Niko2 天前
相机成像及参数原理入门
数码相机
Ai智享2 天前
1. 基于图像的三维重建
数码相机
ergevv2 天前
相机拍照参数:WB、FF、S、ISO、EV、焦距
数码相机·参数·拍照
奔波小哥2 天前
运动相机拍视频过程中摔了,导致录视频打不开怎么办
数码相机·音视频
格林威4 天前
工业网口相机:如何通过调整网口参数设置,优化图像传输和网络性能,达到最大帧率
网络·人工智能·数码相机·opencv·计算机视觉·c#
beyond谚语4 天前
(一)相机标定——四大坐标系的介绍、对应转换、畸变原理以及OpenCV完整代码实战(C++版)
c++·数码相机·opencv