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.
 
 
 
 
 
 
Dean Lee 5b093b2da3 replay: reduce test running time (#26160) 3 years ago
..
lib break up selfdrive.config (#23959) 3 years ago
tests replay: reduce test running time (#26160) 3 years ago
.gitignore move replay from selfdrive/ui/replay to tools/replay (#24971) 3 years ago
README.md Update replay README.md to be more clear that auth.py is in tools/lib (#25366) 3 years ago
SConscript build extras together (#26051) 3 years ago
__init__.py merge in tools 5 years ago
camera.cc replay/camera: set frame id before send (#25591) 3 years ago
camera.h move replay from selfdrive/ui/replay to tools/replay (#24971) 3 years ago
can_replay.py can replay: get logs in parallel (#24960) 3 years ago
consoleui.cc replay: add shortcuts for seeking to the next info, warning, and critical alerts (#25576) 3 years ago
consoleui.h move replay from selfdrive/ui/replay to tools/replay (#24971) 3 years ago
filereader.cc move replay from selfdrive/ui/replay to tools/replay (#24971) 3 years ago
filereader.h move replay from selfdrive/ui/replay to tools/replay (#24971) 3 years ago
framereader.cc pre-commit: add codespell (#25571) 3 years ago
framereader.h framereader.cc: remove nv12toyuv_buffer (#24991) 3 years ago
logreader.cc canbana: complete basic functions (#25965) 3 years ago
logreader.h canbana: complete basic functions (#25965) 3 years ago
main.cc Cabana: stable initial release (#26004) 3 years ago
replay.cc cabana: increase replay's segment cache limit & add setting dialog (#26019) 3 years ago
replay.h cabana: increase replay's segment cache limit & add setting dialog (#26019) 3 years ago
route.cc canbana: complete basic functions (#25965) 3 years ago
route.h canbana: complete basic functions (#25965) 3 years ago
ui.py ui.py: update for nv12 3 years ago
unlog_ci_segment.py Mypy fixes for --check-untyped-defs (#24372) 3 years ago
util.cc move replay from selfdrive/ui/replay to tools/replay (#24971) 3 years ago
util.h move replay from selfdrive/ui/replay to tools/replay (#24971) 3 years ago

README.md

Replay

Replay driving data

replay replays all the messages logged while running openpilot.

# Log in via browser to have access to non-public routes
python tools/lib/auth.py

# Start a replay
tools/replay/replay <route-name>

# Example:
# tools/replay/replay '4cf7a6ad03080c90|2021-09-29--13-46-36'
# or use --demo to replay the default demo route:
# tools/replay/replay --demo

# watch the replay with the normal openpilot UI
cd selfdrive/ui && ./ui

# or try out a debug visualizer:
python replay/ui.py

usage

$ tools/replay/replay -h
Usage: tools/replay/replay [options] route
Mock openpilot components by publishing logged messages.

Options:
  -h, --help             Displays this help.
  -a, --allow <allow>    whitelist of services to send
  -b, --block <block>    blacklist of services to send
  -s, --start <seconds>  start from <seconds>
  --demo                 use a demo route instead of providing your own
  --dcam                 load driver camera
  --ecam                 load wide road camera

Arguments:
  route                  the drive to replay. find your drives at
                         connect.comma.ai

watch3

watch all three cameras simultaneously from your comma three routes with watch3

simply replay a route using the --dcam and --ecam flags:

# start a replay
cd tools/replay && ./replay --demo --dcam --ecam

# then start watch3
cd selfdrive/ui && ./watch3

Stream CAN messages to your device

Replay CAN messages as they were recorded using a panda jungle. The jungle has 6x OBD-C ports for connecting all your comma devices. Check out the jungle repo for more info.

can_replay.py is a convenient script for when any CAN data will do.

In order to replay specific route:

MOCK=1 selfdrive/boardd/tests/boardd_old.py

# In another terminal:
tools/replay/replay <route-name>