nopenpilot/tools/plotjuggler
Adeeb Shihadeh dd67dc6b34
update demo route (#22381)
2021-09-29 18:51:30 -07:00
..
.gitignore juggle: gitignore leftover rlog files 2021-02-25 18:40:19 +01:00
README.md update demo route (#22381) 2021-09-29 18:51:30 -07:00
demo_layout.xml Fix warning popup for file not found, batman. (#20364) 2021-03-16 19:31:24 -07:00
install.sh Support streaming in juggle.py (#20982) 2021-05-20 20:19:06 -07:00
juggle.py Update plotjuggler readme for streaming, and cabana url input (#21938) 2021-08-16 22:23:42 -07:00
test_plotjuggler.py increasing time for PlotJuggler CI 2021-03-23 21:33:31 -07:00

README.md

PlotJuggler

We've extended PlotJuggler to plot all of your openpilot logs. Check out our plugins: https://github.com/commaai/PlotJuggler.

Installation

Once you've cloned and are in openpilot, download PlotJuggler and install our plugins with this command:

cd tools/plotjuggler && ./install.sh

Usage

$ ./juggle.py -h
usage: juggle.py [-h] [--qlog] [--can] [--stream] [--layout [LAYOUT]] [route_name] [segment_number] [segment_count]

PlotJuggler plugin for reading openpilot logs

positional arguments:
  route_name         The route name to plot (cabana share URL accepted) (default: None)
  segment_number     The index of the segment to plot (default: None)
  segment_count      The number of segments to plot (default: 1)

optional arguments:
  -h, --help         show this help message and exit
  --qlog             Use qlogs (default: False)
  --can              Parse CAN data (default: False)
  --stream           Start PlotJuggler without a route to stream data using Cereal (default: False)
  --layout [LAYOUT]  Run PlotJuggler with a pre-defined layout (default: None)

Example:

./juggle.py "4cf7a6ad03080c90|2021-09-29--13-46-36"

Streaming

Explore live data from your car! Follow these steps to stream from your comma device to your laptop:

  • Enable wifi tethering on your comma device
  • SSH into your device and run cd /data/openpilot && ./cereal/messaging/bridge
  • On your laptop, connect to the device's wifi hotspot
  • Start PlotJuggler with ZMQ=1 ./juggle.py --stream, find the Cereal Subscriber plugin in the dropdown under Streaming, and click Start.

If streaming to PlotJuggler from a replay on your PC, simply run: ./juggle.py --stream and start the cereal subscriber.

Demo

For a quick demo, go through the installation step and run this command:

./juggle.py "https://commadataci.blob.core.windows.net/openpilotci/d83f36766f8012a5/2020-02-05--18-42-21/0/rlog.bz2" --layout=demo_layout.xml

screenshot