ROS (Kinetic / Melodic) | ROS2 (Eloquent) | Windows (Mingw) |
---|---|---|
QT5 based application to display time series in plots, using an intuitive "drag and drop" interface.
It can be used either to:
- load static data from file or
- connect to live streaming of data.
Its functionality can be easily extended through plugins.
To understand what PlotJuggler can do for you, take a look to the following video PlotJuggler on Vimeo
- CSV
- Rosbags / ROS topics (both ROS1 and ROS2)
- ULog (PX4)
- Your custom format... contact me to know more.
It is now possible to create custom timeseries! Simply write your own JavaScript or Lua function and apply it to one of more existing timeseries.
Many thanks to @1r0b1n0, who developed the initial version of this feature, and to our first sponsor, a robotics company that made a donation, but prefers to remain anonymous for the time being.
Watch this video to learn how to use it.
For those of you that can't wait and want to get their hands dirty, just download the AppImage:
ROS1 only: PlotJuggler-2.7.x-x86_64.AppImage.
Do not forget to make it executable with the command
chmod +x ./PlotJuggler-*-x86_64.AppImage
Clone the repository as usual:
git clone https://github.com/facontidavide/PlotJuggler.git
The only binary dependency that you need installed in your system is Qt5. On Ubuntu the debians can be installed with the command:
sudo apt-get -y install qtbase5-dev libqt5svg5-dev qtdeclarative5-dev qtmultimedia5-dev libqt5multimedia5-plugins
On Fedora:
sudo dnf install qt5-qtbase-devel qt5-qtsvg-devel qt5-qtdeclarative-devel qt5-qtmultimedia-devel
Then compile using cmake (qmake is NOT supported):
mkdir build; cd build
cmake ..
make
sudo make install
Note: the plugins need to be installed in the same folder of the executable or in /usr/local/lib/PlotJuggler/.
The easiest way to install PlotJuggler is through the command:
sudo apt-get install ros-${ROS_DISTRO}-plotjuggler
Nevertheless, if you want to compile it from source, for instance to try the very latest version on the master branch, you must build PlotJuggler using either catkin or colcon, otherwise the ROS related plugins will not be included.
Compiling with catkin_tools:
mkdir -p ws_plotjuggler/src; cd ws_plotjuggler/src
git clone https://github.com/facontidavide/PlotJuggler.git
cd ..
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
catkin build
source devel/setup.bash
You should see the following message at the beginning of the compilation step:
"PlotJuggler is being built using CATKIN. ROS plugins will be compiled"
Both the executable and the plugins will be created in ws_plotjuggler/devel/lib/plotjuggler.
To run the application, use the command:
rosrun plotjuggler PlotJuggler
PlotJuggler required a lot of work to be developed; my goal is to build the most intuitive and powerfull tool to visualize data and timeseries.
If you find PlotJuggler useful, consider making a donation on PayPal or
If you use PlotJuggler at work, your company can become a sponsor and support the development of those specific features they need.
Contact me for more details.