All projects

2025 · ROS 2

Rosight

A keyboard-driven TUI cockpit for ROS 2

  • ROS 2
  • Python
  • TUI
  • Robotics Tooling
Rosight cover

Overview

Working with a real robot usually means SSH'ing into a headless box, running half a dozen `ros2 topic` / `ros2 service` / `ros2 bag` commands in different panes, and squinting at scrolling text. Rosight rolls all of that into a single Textual-based TUI that you drive from the keyboard.

Nine tabs cover the surface area: live message stats (Hz / bandwidth / jitter), nodes and their pub/sub graph, services and actions, per-node parameters, multi-series plotting via plotext, the TF tree, bag recording / playback, and interface definitions. Auto-QoS negotiation matches publisher profiles, the runtime ROS_DOMAIN_ID can be swapped on the fly, and a `--no-ros` mode lets you develop the UI without a ROS install.

Highlights

  • Messages — topic table, subscription, live Hz / bandwidth / jitter
  • Nodes — discovery + publisher / subscriber / service relationships
  • Services + Actions — listing with type info
  • Parameters — per-node get / set
  • Plot — multi-series live ANSI plotting with pause / export
  • TF — auto-generated frame trees from `/tf`
  • Bags — record, play, inspect
  • Interfaces — message / service / action definitions
  • Auto-QoS negotiation; runtime domain switch
  • No-ROS UI development mode

Install

pip install rosight

Gallery

Nodes tab — discovery and pub / sub / service relationships.
Nodes tab — discovery and pub / sub / service relationships.
Services tab — type information at a glance.
Services tab — type information at a glance.
Actions tab — action server browsing.
Actions tab — action server browsing.
Bags tab — recording / playback / info inspection.
Bags tab — recording / playback / info inspection.

Other projects