ubuntu rosbag
时间: 2025-03-04 17:44:04 浏览: 46
### 使用 `rosbag` 命令行工具进行ROS数据记录和回放
#### 启动ROS核心服务
为了确保ROS环境正常工作,需启动ROS的核心服务。这可以通过执行以下命令来实现:
```bash
roscore
```
此操作将在后台启动必要的进程和服务[^1]。
#### 设置环境变量
在运行任何ROS特定的应用程序之前,应设置当前shell会话的环境变量。对于已编译的工作空间而言,通常通过如下命令完成配置:
```bash
source ./devel/setup.bash
```
这条语句使得该路径下的脚本能够初始化并更新环境变量,从而让系统识别到本地构建的包和其他资源。
#### 录制ROS消息
当准备就绪后,就可以利用`rosbag`来进行消息录制了。例如,要录制名为`turtle1/cmd_vel`的话题以及另一个叫作`turtle1/pose`的话题至指定目录下,则可输入下列指令:
```bash
ros2 bag record -o subset /turtle1/cmd_vel /turtle1/pose
```
上述命令将会创建一个新的文件夹存储所选主题的数据流副本;其中参数-o指定了输出文件的位置前缀名[^4]。
#### 终止录制过程
一旦完成了所需时间段内的数据采集,只需按下组合键`Ctrl+C`就能终止正在执行的任务,并自动保存所有收集的信息于默认位置或自定义设定的地方。
#### 回放已存档的消息
读取先前保存下来的`.bag`文件同样简单明了。假设现在想要播放刚才提到的那个叫做`subset`的数据集的话,那么应该这样做:
```bash
ros2 bag play subset
```
这段代码会让计算机重新发送那些被记录下来的主题内容给订阅者们听闻,仿佛它们正实时发生一般。
阅读全文
相关推荐

















