Skip to content

Latest commit

 

History

History
35 lines (27 loc) · 1.89 KB

README.md

File metadata and controls

35 lines (27 loc) · 1.89 KB

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 from a mobile robot.

DisplayRT

Dependencies

Ubuntu 20.04 LTS and 22.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 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.

See examples in \example folder for more usage cases.

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

  • ROS1/ROS2 examples
  • LCM examples
  • add yaml-cpp support