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)));
    }
相关推荐
_Jyuan_15 小时前
尼康VR镜头防抖模式NORMAL和ACTIVE的区别(私人笔记)
经验分享·笔记·数码相机·相机
吃个糖糖3 天前
MFC 调用海康相机进行软触发
c++·数码相机·mfc
szxinmai主板定制专家3 天前
RK3588 串行解串板,支持8路GMSL相机
数码相机
半熟芝士味3 天前
自动泊车技术—相机模型
数码相机
simple_whu3 天前
Ubuntu24.04编译ORB_SLAM的一系列报错解决
ubuntu·slam
Livan.Tang3 天前
LIO-SAM框架理解
人工智能·机器学习·slam
云钥科技3 天前
多目应用:三目相机在汽车智能驾驶领域的应用与技术创新
数码相机·汽车
gaosushexiangji3 天前
基于千眼狼高速摄像机与三色掩模的体三维粒子图像测速PIV技术
人工智能·数码相机·计算机视觉
gaosushexiangji4 天前
应用探析|千眼狼PIV测量系统在职业病防治中的应用
大数据·人工智能·科技·数码相机
中达瑞和-高光谱·多光谱4 天前
无人机多光谱相机在矿物资源勘探中的应用
数码相机·无人机