Giter Club home page Giter Club logo

graph_rviz_plugin's Introduction

Institut Maupertuis logo

Overview

This package contains two Qt RViz panels that allows users to draw graphs of topics values dynamically (line graph) and to visualise image histograms.

Line graph supported built-in types are:

  • bool
  • duration
  • float32
  • float32MultiArray
  • float64
  • float64MultiArray
  • int8
  • int8MultiArray
  • int16
  • int16MultiArray
  • int32
  • int32MultiArray
  • int64
  • int64MultiArray
  • time
  • uint8
  • uint8MultiArray
  • uint16
  • uint16MultiArray
  • uint32
  • uint32MultiArray
  • uint64
  • uint64MultiArray

⚠️ It is not possible to draw graphs from values inside custom messages, see https://gitlab.com/InstitutMaupertuis/graph_rviz_plugin/issues/11

Histogram supported types are:

  • sensor_msgs/Image

Screenshots

  • Graph line

Line graph panel

  • Histogram

Histogram panel

ℹ️ The panel configuration is saved/loaded in the RViz configuration file, this includes which topics are recorded, the graph settings and settings.

Dependencies

rosdep

Install, initialize and update rosdep.

Compiling

Create a catkin workspace and clone the project:

mkdir -p catkin_workspace/src
cd catkin_workspace/src
git clone https://gitlab.com/InstitutMaupertuis/graph_rviz_plugin.git
cd ..

Resolve ROS dependencies

rosdep install --from-paths src --ignore-src --rosdistro $ROS_DISTRO -y

Compile

catkin_make

User manual

Add the panel in Rviz by going to Panels > Add New Panel > grah_rviz_plugin and add Line graph or Histogram.

Start / pause

Allows to start recording or pause the recording. When paused, it is possible to inspect the graph and the data are still updated in the background (pausing does not make you loose data).

Stop

Stop a recording, no data will be recorded anymore.

Topics

Allows to choose which topics to record. Cannot be modified when started or paused.

Topic selection

Graph settings

Allows to change the appearance of each graph.

  • Display: Whether to display the graph or not (this does not affect the data update in the background).
  • Color: The color of the graph line.
  • Thickness: The thickness of the graph line.

Graph line settings

Allow to change the panel configuration

Line graph settings

  • Refresh frequency: At what rate the graph updates, you can lower the graph update if performance becomes a problem.
  • Enabled legend: Show or hide the legend.
  • Y axis
    • Y auto: The Y axis will be automatically scaled depending on the topics values (hidden topics are included in the scaling).
    • Y max / Y min: Allows to specify a fixed Y range.
  • X axis window time: If enabled, the graph will only show the latest x data depending on the time value.

Histogram settings

Allows to change the panel configuration

Line graph settings

  • Topic: Select the image topic.
  • Start / Stop: Start or stop the data acquisition.
  • Refresh frequency: At what rate the graph updates, you can lower the graph update if performance becomes a problem.
  • Bins selection: Define how many bins will be used to compute the histogram.

Export

Allows to export the graph to a PNG, PDF or JPEG file.

Reset

Clears the graphs, underlying data and topics to be recorded.

subtopic_repub.py

Republish a subtopic into another topic, useful to republish a field you want to plot, e.g.:

Usage:

rosrun graph_rviz_plugin subtopic_repub.py /topic/subtopic/field /my_republished_field [queue_size (default 10)]

Examples:

rosrun graph_rviz_plugin subtopic_repub.py /imu/angular_velocity/x /angular_velocity_x
rosrun graph_rviz_plugin subtopic_repub.py /hullbot/sensors/bno055/imu/angular_velocity_covariance[0] /angular_velocity_covariance_0

Example output:

rosrun graph_rviz_plugin subtopic_repub.py /imu/angular_velocity/x /angular_velocity_x
[INFO] [1597403303.283071]: Republishing subtopic: /imu/angular_velocity/x into topic: /angular_velocity_x (with queue_size: 10)
[INFO] [1597403303.362539]: Input topic is of type: sensor_msgs/Imu
[INFO] [1597403303.363576]: Got submsg of type: std_msgs/Float64

graph_rviz_plugin's People

Contributors

victorlamoine avatar firetifs avatar flynneva avatar lucasw avatar mintar avatar awesomebytes avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.