Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Roself 2.0 README

如果之前安装过旧版本的roself,则需要将.bashrc中的相关PATH删除,并且使用 pip uninstall roself 删除python版本

INSTALL 安装

只需要一行命令, 即可自动安装和编译:

# 初始化安装(需要网络下载依赖)
./scripts/install.sh

然后你就可以开启新的终端在任意路径使用这三个命令:

r                 # 录制工具
roself            # 监测工具(如果有自定义消息需要source)
roself xxx.bag    # 回放包工具(如果有自定义消息需要source)

安装完成后,重启终端或者使用: source ~/.bashrc 即可使用全部功能

USE 使用

实时监测命令:roself

# 自动检测当前是 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 做采样,避免压力过大

回放包命令:roself xxx.bag

播放控制(Play / Step / Rate)

按键 功能
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%

循环播放(Loop)

按键 功能
L / l 打开 / 关闭 Loop(若有 Segment,则循环 Segment;否则循环整个 bag)

Segment 片段播放(基于书签)

Segment 模式切换
按键 功能
C / c 在 Off → Modify → On(或 Off)之间切换(状态机)

在 Modify 模式中

按键 功能
1~9 第一次输入选 Segment 起点(A)
第二次输入选 Segment 终点(B)
最终片段为 [min(A,B), max(A,B)]
q / Q / ESC 退出 Modify 模式(保持原有 Segment 不变)
Bookmark 书签(1~9)
按键 功能
Shift + 1~Shift + 9 设置对应编号书签(Bookmark 1~9)
1~9 跳转到对应书签(若存在)
若处于 Segment Modify 模式,则作为 A/B 输入

Notes(外部 txt 笔记浏览)

按键 功能
上一个笔记
下一个笔记
Enter 跳转到当前笔记的时间点

退出

按键 功能
q / Q 退出播放器(若在 Modify 模式则只退出 Modify 不退出程序)

日志窗(Log Pane) Debug,一般不用

按键 功能
F2 在底部 / 右侧切换日志窗位置
F3 增大日志窗尺寸
F4 缩小日志窗尺寸
PageUp 日志向上滚动
PageDown 日志向下滚动
Home 滚动到最上(最早)
End 滚动到最下(最新)
o / O 开启 / 关闭日志捕获
l(保留键,不启用) ——

录制包命令:r

模式

🧭 菜单模式(选择配置界面)

对应 mode == "menu",即启动后看到的配置列表界面。

按键 功能
光标上移,选择上一条配置
光标下移,选择下一条配置
跳到上一页(向前移动一个 page_size,默认 10 条)
跳到下一页(向后移动一个 page_size,默认 10 条)
Enter(回车) 使用当前选中的配置启动 rosbag record,进入「录制模式」
q / Q 退出程序

屏幕上方会显示:

  • 当前 ROS master 状态(是否可连、URI 等)
  • 上次使用的配置(如果存在)
⏺ 录制模式(Recording)

对应 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 会自动恢复。

About

roself is a Python-based interactive ROS1-Noetic Topic Browser that lets you explore, filter, drill down, and monitor topics in a command-line TUI (Text-based User Interface).

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages