dragonpilot - 基於 openpilot 的開源駕駛輔助系統
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 67b27b7496
replay: fixed incorrect totalSeconds when there are invalid segments in route (#28388)
2 years ago
..
lib break up selfdrive.config (#23959) 3 years ago
tests replay: lock uiDebug and userFlag messages behind all flag (#28349) 2 years ago
.gitignore move replay from selfdrive/ui/replay to tools/replay (#24971) 3 years ago
README.md tools: improved CAN replay (#27975) 2 years ago
SConscript build extras together (#26051) 3 years ago
__init__.py merge in tools 5 years ago
camera.cc replay: sync vision buffer (#26904) 2 years ago
camera.h move replay from selfdrive/ui/replay to tools/replay (#24971) 3 years ago
can_replay.py tools: improved CAN replay (#27975) 2 years ago
consoleui.cc replay: fixed the status is always "loading" if there is no carState in events (#27481) 2 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 replay framereader: Log in some unlikely failure paths (#27942) 2 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 replay: lock uiDebug and userFlag messages behind all flag (#28349) 2 years ago
replay.cc replay: lock uiDebug and userFlag messages behind all flag (#28349) 2 years ago
replay.h replay: fixed incorrect totalSeconds when there are invalid segments in route (#28388) 2 years ago
route.cc replay: remove need for fake dongle id (#26899) 2 years ago
route.h replay: show absolute time (#26869) 2 years ago
ui.py cleanup: deprecate lqrState field (#26745) 2 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 routes from your comma account
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.

In order to run your device as if it was in a car:

  • connect a panda jungle to your PC
  • connect a comma device or panda to the jungle via OBD-C
  • run can_replay.py
batman:replay$ ./can_replay.py -h
usage: can_replay.py [-h] [route_or_segment_name]

Replay CAN messages from a route to all connected pandas and jungles
in a loop.

positional arguments:
  route_or_segment_name
                        The route or segment name to replay. If not
                        specified, a default public route will be
                        used. (default: None)

optional arguments:
  -h, --help            show this help message and exit