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.
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.
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.
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.
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.
- ROS1/ROS2 examples
- LCM examples
- add yaml-cpp support