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)));
    }
相关推荐
dongdonglele52120 小时前
自动驾驶-传感器简述
人工智能·数码相机·自动驾驶
斑斓GORGEOUS1 天前
【PnP】详细公式推导,使用DLT直接线性变换法求解相机外参
人工智能·深度学习·数码相机·线性代数
jackzcq~3 天前
uniapp离线打包app无法调用相机权限的解决思路
数码相机·uni-app·android studio
OCR_wintone4214 天前
文通车牌识别相机在工地称重应用中的卓越表现
人工智能·数码相机·ocr
SophieBryant4 天前
鸿蒙实现相机拍照及相册选择照片
数码相机
main_Java4 天前
Android修改第三方应用相机方向
android·数码相机
OCR_wintone4214 天前
易泊车牌识别相机在智慧工地的应用
人工智能·数码相机·ocr
xuedeyumu4 天前
相机工作距离计算
数码相机
1037号森林里一段干木头5 天前
相机外参与相机位姿深度理解
数学·计算机视觉·slam·相机标定