Skip to main content

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

Project description

ROSELF

Roself 是一个基于 Python 的 交互式 ROS1 / ROS2 Topic 浏览 + Bag 播放工具,在终端(TUI)中即可方便地查看、筛选、钻取和实时监控话题数据,同时支持类似媒体播放器的 rosbag 播放与控制。

Roself is a Python-based interactive ROS1/ROS2 Topic Browser and Bag Player, allowing you to conveniently explore, filter, drill down, and monitor topic data in real-time, as well as control rosbag playback directly from the terminal (TUI).

运行环境 / Requirements

  • Ubuntu 20.04+ / 22.04+
  • ROS1 (Noetic) 或 ROS2 (Foxy+, Humble 等)
  • Python 3.8+

下载与使用 / Download And Use

Pip(推荐):

pip install --user roself
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

使用pip安装的运行方式 / Run(use Pip)

# ROS1 环境
source /opt/ros/noetic/setup.bash
source <your_custom_msg>/devel/setup.bash   # 若有自定义消息
roself

# ROS2 环境
source /opt/ros/humble/setup.bash
roself

# 播放 rosbag
roself -b your_rosbag.bag        # ROS1
roself -b your_ros2_bag_folder   # ROS2

从源码运行

git clone https://github.com/mesakas/roself.git
cd roself
python3 roself.py -b your_rosbag.bag

预览

首页

image

消息内容页

image

分析图表页

image

Ros Bag 支持

新增对播放rosbag的支持: image

功能 / Features

话题浏览 / Topic Browser

  • 自动列出所有话题,支持 ROS1 与 ROS2
  • 支持上下选择、左右翻页、关键字筛选
  • 显示 话题名 | 类型 | Hz
  • 显示当前运行的 ROS 版本 与 运行时信息

消息详情 / Message Viewer

  • 订阅任意话题,实时查看最新消息
  • 支持 嵌套字段递归展开
  • 每个字段显示 Name | Type | Value
  • 自动统计并显示 Hz

实时数值曲线 / Realtime Numeric Plot

  • 任意选中数值字段 → 按 Enter 打开实时曲线
  • 支持多种渲染模式:bars, blocks, envelope, line, braille
  • 显示 min/max/avg/cur,右下角保留高精度当前值
  • 支持平滑、锁定 Y 轴、缩放窗口

Rosbag 播放 / Bag Playback

  • 支持 ROS1 .bag 与 ROS2 rosbag2 (sqlite3/mcap)
  • 完整的播放控制:
  • SPACE 播放/暂停
  • ← / → 按步长后退/前进
  • + / - / 0 调整/重置步长
  • Shift+←/→ 快速跳转 10%
  • L 开关循环(全局或区间)
  • Shift+1..9 设置书签;1..9 跳转书签
  • C 区间模式:
    • Off → Modify(输入起止点) → On(区间生效)
    • 在 On/Modify 再按一次 C → 清除区间,回到 Off
    • SegMode 状态显示:Off / Modify / On
    • R 回到起始点(若有区间则回到区间起点)

日志捕获 / Log Capture

  • 内置日志窗,捕获程序输出与错误
  • F2 切换底部/右侧
  • F3/F4 调整大小
  • PgUp/PgDn/Home/End 滚动查看
  • o 开关捕获,l 清空

完全命令行 / Fully CLI-based

  • 无需 GUI / rqt / matplotlib
  • 所有功能在终端完成,支持远程 SSH / 服务器环境

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

roself-1.0.0.tar.gz (25.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

roself-1.0.0-py3-none-any.whl (23.6 kB view details)

Uploaded Python 3

File details

Details for the file roself-1.0.0.tar.gz.

File metadata

  • Download URL: roself-1.0.0.tar.gz
  • Upload date:
  • Size: 25.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.10

File hashes

Hashes for roself-1.0.0.tar.gz
Algorithm Hash digest
SHA256 671347edfe15a0dafd953007b972c905ff340516545009aff6e3cc56e6954de9
MD5 0b80a24e2071cd8afce3189c447eee00
BLAKE2b-256 b1383063a8ab63cbc60c433254fc92be79f78ac7ab9ea6e5edced1430df28d29

See more details on using hashes here.

File details

Details for the file roself-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: roself-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 23.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.10

File hashes

Hashes for roself-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 87a950ec5b2268e99c7708f03b89bfaec3610cadc36ec4c1082d63d6af5fb4aa
MD5 4a0dc08ed30ffdc0620631db4ed855f2
BLAKE2b-256 4101e358f596f6203af61784cba292526b941fef1d2663f27321d606342789e8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page