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)));
    }
相关推荐
格林威1 天前
Baumer工业相机堡盟工业相机如何通过YoloV8模型实现人物识别(C#)
开发语言·人工智能·数码相机·yolo·计算机视觉·c#
sunly_1 天前
Flutter:上传图片,选择相机或相册:wechat_assets_picker
数码相机·flutter·微信
Cedric11131 天前
不同相机CMOS噪点对荧光计算的影响
数码相机
moonsims1 天前
高光谱相机(Hyperspectral Camera)
数码相机
中达瑞和-高光谱·多光谱1 天前
高光谱相机有多少种类型?分别有什么特点?
数码相机
51camera2 天前
工业相机GigE数据接口的优势及应用
数码相机
kaikaile19952 天前
设计一款用于捕捉动态产品视频的摄像机器人
数码相机
龙猫略略略3 天前
slam中的eskf观测矩阵推导
slam·激光slam·fastlio
SKYDROID云卓小助手3 天前
三轴云台之深度学习算法篇
服务器·人工智能·单片机·嵌入式硬件·深度学习·数码相机·算法
EkihzniY4 天前
OCR 识别:车牌识别相机的 “火眼金睛”
数码相机·ocr