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)));
    }
相关推荐
PPPPPaPeR.7 小时前
光学算法实战:深度解析镜片厚度对前后表面折射/反射的影响(纯Python实现)
开发语言·python·数码相机·算法
yunjingtianhe2 天前
EL隐裂检测仪的优势—精准捕捉细微隐裂、微小断栅等隐蔽性极强的隐患
数码相机
PHOSKEY2 天前
3D工业相机如何“读透”每一个字符?快速识别、高精度3D测量
数码相机·3d
听风吹雨yu2 天前
STM32F407-LWIP-Onvif协议控制海康相机
stm32·嵌入式硬件·数码相机
光_辉3 天前
使用代码访问海康相机
数码相机
格林威3 天前
相机的“对焦”和“变焦”,这二者有什么区别?
开发语言·人工智能·数码相机·opencv·算法·计算机视觉·视觉检测
光_辉3 天前
关于相机拍照的一些说明
数码相机
光_辉3 天前
调用海康相机实现事件监测并拍照
数码相机
JMchen1233 天前
Android相机硬件抽象层(HAL)逆向工程:定制ROM的相机优化深度指南
android·开发语言·c++·python·数码相机·移动开发·android studio
psp之魂4 天前
Unity2d Cinemachine Confine 2d失效的问题
数码相机