Ros2plot - Terminal based topic plots

Hi all,

Sharing my side project, ros2plot. It’s a utility to plot topic data directly into terminal during runtime.

The primary inspiration behind this project was a drive to transition to headless production environments for our robots at work; this would make development and debugging that much more painful as you either need to record-extract bag data to replay offline, or setup networks to stream topic data over the wire for inspection. Not to mention infrastructure / workflow headaches debugging deployed robots.

The hope for this application was to solve this by enabling developers to record data and inspect for spikes / drops etc in real time, all within a terminal instance so that its seamless with SSH.

Right now this utility only plots numeric fields. There are still some extensions to this I would like to explore, such as 3D plots and visualizations of sensor data such as laser scans and pointclouds.

I would love to hear feedback on this from the community; does this fit into your workflow, and what are some features which would make this more useful for you?

Thanks for reading, below are some gifs highlighting key features of the project:

  • Familiar CLI to quickly initialize a plot & plot display selection:

    init - Trim

  • Zoom & Y-value inspection

    inspection - Trim

  • Configurable X-axis data

    select-xaxis - Trim

  • Add new subscription during runtime

    dynamic_sub - Trim

project link: https://github.com/jeminism/ros2plot

17 Likes