首页 > 其他分享 >【ROS使用记录】—— ros使用过程中的rosbag录制播放和ros话题信息相关的指令与操作记录

【ROS使用记录】—— ros使用过程中的rosbag录制播放和ros话题信息相关的指令与操作记录

时间:2024-06-08 19:59:37浏览次数:24  
标签:play ros ROS 记录 数据 录制 话题 播放 rosbag

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

rosbag是ROS(机器人操作系统)中用于记录和回放数据的工具。录制数据可以帮助开发者在不同时间重新播放和分析实验数据,便于调试和验证算法。通过记录和回放数据,可以在离线状态下对数据进行处理和分析,避免了实时系统的限制,提高了开发效率。通过rosbag,开发者可以更好地管理和利用数据资源,加速机器人系统的开发和优化过程。下面介绍rosbag相关的录制和播放相关的指令与操作。

一、rosbag的介绍

rosbag是机器人操作系统中用于记录、存储和回放ROS消息。它允许开发者在机器人操作过程中捕捉传感器数据和其他消息,并在之后的调试和测试过程中回放这些数据,常用的指令如下表所示:
在这里插入图片描述

二、rosbag的在线和离线录制

具体的录制过程如下:
1. 打开相应的传感器驱动,或离线播放rosbag,生成ros话题数据
2. 使用如下指令,列出话题名称

rostopic list

3. 录制话题数据
(1) 录制全部话题数据

rosbag record -a

注意:对于一些经过过压缩的数据是无法录制的,会出现报错
(2) 录制部分话题的数据

rosbag record <话题1> <话题2> <话题3> ...

比如录制三个imu的话题,如下:

rosbag record  /imu /imu2 /imu3

(2) 指定生成数据包的名字
终端输入:


rosbag record -O filename.bag /topic_name  指定生成数据包的名字filename.bag

其中filename.bag为你想要保存的bag的名字,/topic_name为要录制的话题
即可查看所录制的包的消息话题,消息数据类型等幸喜

三、rosbag的播放相关的指令

1. 原速播放特定的rosbag
在rosbag文件所在的目录,终端输入:

rosbag play <rosbag的名字> 

2. 以指定的倍速播放特定的rosbag

rosbag play -r n <rosbag的名字>

其中,n为指定的播放倍速

3. 播放rosbag中指定话题

rosbag play <rosbag名字> --topics <话题名字>

4. 重映射rosbag中话题的名字

rosbag play aaaa.bag  /imu:=/imu2

表示将aaaa.bag中话题名称/imu转为/imu2

5. 暂停rosbag的播放

点击键盘的空格键即可暂停rosbag的播放,再次点击空格将即可恢复播放

6. 其他的播放操作说明

rosbag play -s n <rosbag的名字>
rosbag play -d n <rosbag的名字>
rosbag play -u n<rosbag的名字>
rosbag play -s n -u m <rosbag的名字>

参数说明:
-s n :从指定时间(n = 指定时间s)开始回放rosbag
-d n :延时指定时间(n = 延时时间s)开始回放rosbag
-u n :播放指定时间(n = 指定秒数)的rosbag
-s n -u m :从指定时间(n = 开始时间s)开始播放指定时间(m = 指定播放时间s)的rosbag

四、其他rosbag和ros话题相关的指令

1. 查看rosbag包含的话题数据名称、消息类型、包的时间等信息

rosbag info <rosbag> 

2. 终端发布话题数据

rostopic pub -r 1 /data_0 std_msgs/Float32 0.02

解释
-r 1:表示发布的话题的频率,1表示一秒发一次
/data_0:表示发布的话题名称
std_msgs/Float32:表示发布的话题数据类型
0.02:表示具体的话题数据
参考:

https://blog.csdn.net/zardforever123/article/details/131134826?ops_request_misc=&request_id=&biz_id=102&utm_term=rosbag%E7%9A%84%E4%BD%BF%E7%94%A8&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-4-131134826.142v100pc_search_result_base2&spm=1018.2226.3001.4187

总结

ROS中的rosbag是一个强大的数据记录和回放工具。开发者可以使用rosbag记录实时数据,并在之后任意时间重新播放这些数据,以进行调试和算法验证。通过在离线状态下处理和分析数据,rosbag减少了对实时系统的依赖。以上的教程介绍使用rosbag的过程中录制播放和ros话题信息相关的指令与操作。

标签:play,ros,ROS,记录,数据,录制,话题,播放,rosbag
From: https://blog.csdn.net/2401_82458959/article/details/139039921

相关文章

  • [ROS自定义消息问题]ImportError: cannot import name ‘GQCNNGrasp‘ from ‘gqcnn_r
         在使用ROS运行Python代码时,经常会遇到无法引用自定义消息文件的情况。这其实是一个比较常见的问题,通常是由于ROS找不到消息文件所在的路径导致的。问题描述:在ROS中运行Python代码时,如果尝试导入自定义消息文件,可能会遇到类似如下的错误:ImportError:Nomodule......
  • 记录自己在xss-labs靶场的通关记录
    一:靶场下载及搭建xss-labs下载地址:xss-labs:xss跨站漏洞平台-GitCodephpstudy集成开发环境安装:[靶场环境篇]phpstudy集成环境安装教程(特别详细)_phpstudy集成环境-CSDN博客我们下载完之后,就可以进行xss-labs-master的搭建,我本人下载的phpstudy是2018年版的将xss-......
  • colmap大场景稀疏重建记录:部分照片畸变导致sfm生成的稀疏点云扭曲
    一、问题如题,要进行一个大场景的3DGS重建,数据集来自于某工地现场(大约3000张照片),数据集拍摄于同一个相机,按照国际惯例,3DGS需要输入一个稀疏点云,所以首先利用colmap进行稀疏重建。进行特征提取,特征匹配(colmap官网建议1000-10000张图的特征匹配使用vocabtree),稀疏重建以后,发现场......
  • ROS实验课(二)
    前言此篇博客记录ROS实验课二的内容,基于教材《ROS机器人开发技术基础》。16.04的Ubuntu版本,7.16.1的gazebo版本,ROS版本为kinetic。老师的本意是我们逐个学习urdf建模与gazebo控制,熟悉整个流程,在提供的教学包的基础上做出自己的改进。在命令行输入以下指令下载教学包:gitcl......
  • 知识图谱学习记录(一)
    知识图谱学习记录(一)1.什么是知识图谱?知识图谱是一种用于表示知识的图形化结构,它包含了实体(如人物、地点、事件等)以及这些实体之间的关系。它的目的是将信息组织成易于理解和处理的形式,以便计算机程序能够理解和利用这些信息。知识图谱通常由三部分组成:实体(Entities):代表现实世......
  • Bug记录:Content-Type 'application/json;charset=UTF-8' is not supported异常解决
    Content-Type'application/json;charset=UTF-8'isnotsupported异常解决前提:确定不是因为Content-Type导致的异常,controller层有注解@RequestBody。报错详情:确定不是因为缺少Jackson依赖或者版本过低:注意到报错信息上边有一条警告日志:.c.j.MappingJackson2HttpMessageCo......
  • 比赛记录(11~20)
    112024.5.191得分题目T1T2T3T4总分得分\(0\)\(30\)\(100\)\(10\)\(140\)排名:rank\(5\)。2题解T1其实T1是本场考试最难的题,因此放到后面讲。T270pts:瞄准部分分,我们发现\(n\le15\),于是自然想到状压。考虑记录下当前选了的数字,于是定义状态为......
  • ROS socketcan_bridge使用说明
    ROSsocketcan_bridge使用说明(以ubuntu20.04为例)socketcan_bridge是什么ROS针对socketcan提供了三个层次的驱动库,分别是ros_canopen,socketcan_bridge和socketcan_interface。socketcan_interface:功能:这是最底层的包,直接与Linux的SocketCAN库交互。它提供了基础的API来......
  • CF1979 记录
    Dashboard-CodeforcesRound951(Div.2)-Codeforces吐槽和简单总结感觉最近打一场比赛掉一次rating,可能前几次上涨都只是运气好碰到了一些更考验思维的题,我的细节能力就是依托答辩,什么也写不出来,这次B猜的结论(虽然细想很快就能找到证明),C也是猜的,D一直在绕弯,E一开始......
  • nginx配置跨域文档记录
    参考:https://www.cnblogs.com/PengfeiSong/p/12993446.html@目录概要代码小结概要这个跨域我之前配置过,昨天搜了下教程没有配成功,今天上午又花了近一上午才搞定,特意过来记录下代码server{listen80;server_nameapi.xxx.space;client_max_body_size50M;......