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)));
    }
相关推荐
EasonZzzzzzz4 小时前
计算机视觉——相机标定
人工智能·数码相机·计算机视觉
火星机器人life15 小时前
ubuntu20使用自主探索算法explore_lite实现机器人自主探索导航建图
slam
到点就困告18 小时前
海康工业相机SDK二次开发(VS+QT+海康SDK+C++)
数码相机·qt·海康
小草帽学编程1 天前
camera功能真的那么难用吗
数码相机·图形渲染
jr-create(•̀⌄•́)1 天前
静态相机中的 CCD和CMOS的区别
数码相机
中达瑞和-高光谱·多光谱1 天前
LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
数码相机·目标检测·无人机
中达瑞和-高光谱·多光谱2 天前
中达瑞和SHIS高光谱相机在黑色水彩笔墨迹鉴定中的应用
人工智能·数码相机
把玩计算机2 天前
【相机基础知识与物体检测】更新中
数码相机
lingling0093 天前
AI+3D 视觉重塑塑料袋拆垛新范式:迁移科技解锁工业自动化新高度
数码相机
猿饵块3 天前
相机--相机标定实操
数码相机