ROS2中bag包录制出现丢帧问题及解决方案

举报
Hermit_Rabbit 发表于 2022/09/21 20:32:42 2022/09/21
【摘要】 0. 前言我们都知道ROS1与ROS2的通信是不一样的,而ROS2也因为DDS的通讯带来了一些问题,其中最严重的就属于在存储大数据包的时候会出现的丢帧问题。而如何解决这样的问题目前官方没有给出非常好的解决方案,所以我们只有曲线救国,通过保存图片的方式来实现bag包的完整录制。操作系统:Ubuntu 20.04版本:foxyDDS实现:Fast-RTPS客户端库(如适用):rclcpp/rc...

0. 前言

我们都知道ROS1与ROS2的通信是不一样的,而ROS2也因为DDS的通讯带来了一些问题,其中最严重的就属于在存储大数据包的时候会出现的丢帧问题。而如何解决这样的问题目前官方没有给出非常好的解决方案,所以我们只有曲线救国,通过保存图片的方式来实现bag包的完整录制。
操作系统:
Ubuntu 20.04
版本:foxy
DDS实现:Fast-RTPS
客户端库(如适用):rclcpp/rclpy

1. 问题说明

我们在使用ROS1与ROS2的bag互转时发现会存在丢帧的情况,同时我们直接在ROS2中录制bag包也会发现录制的频率是存在问题的

ROS2

Files:             rosbag2_2021_05_19-11_28_34/rosbag2_2021_05_19-11_28_34_0.db3
Bag size:          1.1 GiB
Storage id:        sqlite3
Duration:          42.616s
Start:             May 19 2021 11:28:34.289 (1621394914.289)
End                May 19 2021 11:29:16.906 (1621394956.906)
Messages:          857
Topic information: Topic: /image | Type: sensor_msgs/msg/Image | Count: 427 | Serialization Format: cdr
                   Topic: /scan | Type: sensor_msgs/msg/LaserScan | Count: 430 | Serialization Format: cdr

ROS1

path:        2021-05-19-19-59-37.bag
version:     2.0
duration:    42.5s
start:       May 19 2021 19:59:41.91 (1621425581.91)
end:         May 19 2021 20:00:24.38 (1621425624.38)
size:        1.1 GB
messages:    847
compression: none [419/419 chunks]
types:       sensor_msgs/Image     [060021388200f6f0f447d0fcd9c64743]
             sensor_msgs/LaserScan [90c7ef2dc6895d81024acba2ac42f369]
topics:      /image   418 msgs    : sensor_msgs/Image    
             /scan    429 msgs    : sensor_msgs/LaserScan

这里经过测试得到了下面的数据

在PC端:
在这里插入图片描述
在Xavier端
在这里插入图片描述
我们可以发现相较于ROS1稳定而言,ROS2的频率下降很严重,并不能拉满宽带。原本以为是CPU问题,但是经过测试发现CPU变化不大,个人怀疑是DDS通讯在ROS2中本身造成的问题。在ROS官网中也发现了该问题的阐述,原因是因为FastRTPS这类DDS并不能传输较大的带宽。我们可以更换DDS来缓解这样的问题,但是仍然存在丢帧的问题。为此本文提供了一个不走ros_bridge1方式的解决方案
在这里插入图片描述

2.无丢帧转bag方式

首先从ROS1中订阅bag包或者摄像头的数据,并将对应的图片以时间戳的形式保存。

…详情请参照古月居

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。