Skip to main content

roself is a Python-based interactive ROS1/ROS2 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.1.0.tar.gz (25.3 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.1.0-py3-none-any.whl (24.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for roself-1.1.0.tar.gz
Algorithm Hash digest
SHA256 cd4b43e64a67a4f70af208f5a693f854d7393a8a7595c01b60231a1aa7463b9e
MD5 adeb5419d63d9ea01912491255929468
BLAKE2b-256 d18bb32867ccda08c0914013cfac3177ab1ba37e439bde3c7f16bdebe6bb8b73

See more details on using hashes here.

File details

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

File metadata

  • Download URL: roself-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 24.0 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 375320ef5000c74cfc78fe6aae956535f20a198986f1c3ce547bc2b49e326a0c
MD5 2a7254acabeb57038101beba4579e203
BLAKE2b-256 05f92be135cae86be37f327e19824d8a15ae2704dbd8bb75ed261ba6d79cb5bc

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