Skip to content

This is a utility program for displaying data in soft realtime in multiple windows.

License

Notifications You must be signed in to change notification settings

UCR-Robotics/DisplayRT

Repository files navigation

DisplayRT

This is a utility program for displaying data stream in soft realtime in multiple windows. This project is originally motivated to visualize data of various types for a mobile robot.

DisplayRT

Dependencies

Ubuntu 20.04 LTS, 22.04 LTS, and 24.04 LTS

  • QT5: the dependencies can be installed via the command sudo apt install qtbase5-dev qt5-qmake qtbase5-dev-tools libqt5widgets5.
  • QCustomPlot: the source code (v2.1.0) is included in the folder /thirdparty/QCustomPlot. Run setup_QCustomPlot.sh for library compilation.
  • mini-yaml: the submodule (main) is included in the folder /thirdparty/mini-plot.

Compilation

The easiest way is to run the script setup.sh in the root folder. It will install QT5 dependencies and compile the project. You can also manually compile it as a normal CMake project.

Usage

It is essentially an abstraction class named DisplayRT that can be coordinated directly in your project or with the middleware like ROS1/ROS2 or LCM. You should develop your display class by inheriting DisplayRT and implement the virtual methods Setup() and Update(). A quick start would be calling defaultSetupDisplay() and defaultUpdateDisplay() in your Setup() and Update() implementations respectively.

The plotting options are consistent with QCustomPlot and summarized in usage.md. See examples in /example folder for more usage cases. ROS1, ROS2, LCM examples are compiled separately as individual projects.

Acknowledgments

This project includes the following third-party components:

  • QCustomPlot, licensed under the GPL License. See thirdparty/QCustomPlot/GPL.txt for details. Source code can be downloaded here.
  • mini-yaml, licensed under the MIT License. See thirdparty/mini-yaml/LICENSE for details.

TODO

  • add yaml-cpp support

About

This is a utility program for displaying data in soft realtime in multiple windows.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published