openpilot is an open source driver assistance system. openpilot performs the functions of Automated Lane Centering and Adaptive Cruise Control for over 200 supported car makes and models.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Adeeb Shihadeh 2e40fdfb0f juggle: strip input 3 years ago
..
layouts plotjuggler: plotjuggler: tuning layout w/ cruise setpoint, use carControl.enable not carControl.active (#22908) 3 years ago
.gitignore juggle: gitignore leftover rlog files 4 years ago
README.md PlotJuggler: Tuning layout (#22902) 3 years ago
install.sh Support streaming in juggle.py (#20982) 4 years ago
juggle.py juggle: strip input 3 years ago
test_plotjuggler.py increasing time for PlotJuggler CI 4 years ago

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=layouts/demo.xml

Tuning

Use this layout to generate plots for tuning PRs. Also see tuning wiki and tuning PR template.

--layout layouts/tuning.xml

screenshot