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)));
    }
相关推荐
越甲八千8 小时前
相机的曝光和增益
数码相机
越甲八千8 小时前
黑白彩色相机成像原理
数码相机
幻想趾于现实8 小时前
机器视觉调试——现场链接相机(解决各种相机链接问题)
数码相机·工业相机
a3158238061 天前
SnapdragonCamera骁龙相机源码解析
android·数码相机·framework·高通
越甲八千1 天前
全局曝光与卷帘曝光
数码相机
博图光电1 天前
短波红外相机应用领域介绍
数码相机
中达瑞和-高光谱·多光谱1 天前
多光谱相机在农业中的应用(农作物长势、病虫害、耕地检测等)
数码相机
千野竹之卫2 天前
2025最新云渲染网渲100渲染农场使用方法,渲染100邀请码1a12
开发语言·前端·javascript·数码相机·3d·3dsmax
qq_526099132 天前
工业相机与采集卡配套方案:构建高性能机器视觉系统的核心要素
数码相机
越甲八千2 天前
相机镜头景深
数码相机