如果之前安装过旧版本的roself,则需要将.bashrc中的相关PATH删除,并且使用
pip uninstall roself删除python版本
只需要一行命令, 即可自动安装和编译:
# 初始化安装(需要网络下载依赖)
./scripts/install.sh然后你就可以开启新的终端在任意路径使用这三个命令:
r # 录制工具
roself # 监测工具(如果有自定义消息需要source)
roself xxx.bag # 回放包工具(如果有自定义消息需要source)
安装完成后,重启终端或者使用: source ~/.bashrc 即可使用全部功能
# 自动检测当前是 ROS1 / ROS2
roself
# 强制使用 ROS1
roself --ros 1
# 强制使用 ROS2
roself --ros 2
- 上下移动选中行:
- ↑ / ↓ 或 j / k
- 翻页:
- ← / →
- 过滤 / 搜索 topic:
- 按 / 进入过滤模式,输入关键字(只匹配 topic 名字)
- 过滤模式下:
- Backspace:删除一个字符
- q:退出过滤模式(并清空过滤)
- 查看选中 topic 详情:Enter
- 退出程序:列表页按 q / Q
- TOPIC:话题名称
- TYPE:消息类型(如 sensor_msgs/msg/Image)
- HZ:近一段时间内估计的发布频率,仅对当前页可见 topic 做采样,避免压力过大
| 按键 | 功能 |
|---|---|
SPACE |
播放 / 暂停 切换 |
← |
向后步进一步(发布区间 [cursor - step, cursor)) |
→ |
向前步进一步(发布区间 [cursor, cursor + step)) |
= |
步长 ×2 |
- |
步长 ÷2 |
0 |
步长重置为 1.0s |
+(Shift + =) |
播放速率 ×2 |
_(Shift + -) |
播放速率 ÷2 |
R / r |
跳到开始(若有 Segment 则跳到片段起点,否则跳到 0.0) |
| 按键 | 功能 |
|---|---|
Shift + ← |
回退整个 bag 的 10% |
Shift + → |
前进整个 bag 的 10% |
| 按键 | 功能 |
|---|---|
L / l |
打开 / 关闭 Loop(若有 Segment,则循环 Segment;否则循环整个 bag) |
| 按键 | 功能 |
|---|---|
C / c |
在 Off → Modify → On(或 Off)之间切换(状态机) |
| 按键 | 功能 |
|---|---|
1~9 |
第一次输入选 Segment 起点(A) 第二次输入选 Segment 终点(B) 最终片段为 [min(A,B), max(A,B)] |
q / Q / ESC |
退出 Modify 模式(保持原有 Segment 不变) |
| 按键 | 功能 |
|---|---|
Shift + 1~Shift + 9 |
设置对应编号书签(Bookmark 1~9) |
1~9 |
跳转到对应书签(若存在) 若处于 Segment Modify 模式,则作为 A/B 输入 |
| 按键 | 功能 |
|---|---|
↑ |
上一个笔记 |
↓ |
下一个笔记 |
Enter |
跳转到当前笔记的时间点 |
| 按键 | 功能 |
|---|---|
q / Q |
退出播放器(若在 Modify 模式则只退出 Modify 不退出程序) |
| 按键 | 功能 |
|---|---|
F2 |
在底部 / 右侧切换日志窗位置 |
F3 |
增大日志窗尺寸 |
F4 |
缩小日志窗尺寸 |
PageUp |
日志向上滚动 |
PageDown |
日志向下滚动 |
Home |
滚动到最上(最早) |
End |
滚动到最下(最新) |
o / O |
开启 / 关闭日志捕获 |
l(保留键,不启用) |
—— |
对应
mode == "menu",即启动后看到的配置列表界面。
| 按键 | 功能 |
|---|---|
↑ |
光标上移,选择上一条配置 |
↓ |
光标下移,选择下一条配置 |
← |
跳到上一页(向前移动一个 page_size,默认 10 条) |
→ |
跳到下一页(向后移动一个 page_size,默认 10 条) |
Enter(回车) |
使用当前选中的配置启动 rosbag record,进入「录制模式」 |
q / Q |
退出程序 |
屏幕上方会显示:
- 当前 ROS master 状态(是否可连、URI 等)
- 上次使用的配置(如果存在)
对应
mode == "recording",即已经在录制某个配置时的界面。
界面会显示:
- 当前配置名与描述
- bag 文件路径
- 录制已持续时间(秒)
- 本配置的 Topic 列表
- ROS master 状态
| 按键 | 功能 |
|---|---|
q / Q |
停止录制:给 rosbag 进程发送 SIGINT(等价于 Ctrl+C),结束后返回菜单界面 |
a / A |
添加笔记:退出 curses,调用 $EDITOR(或 vim / nano)编辑文本,保存到对应的 .txt 笔记文件中 |
说明:
- 每一条笔记会追加到当前 bag 对应的
.txt文件中,包含绝对时间 + 相对录制开始的时间([YYYY-MM-DD HH:MM:SS | +12.3s])。a写完笔记并退出编辑器后,TUI 会自动恢复。