Files
sunnypilot/tools/sim
Hoang Bui fe9a091f11 CI: Drive a loop in MetaDrive (#32308)
* finish failure on crossing any line

* update

* standardize queue messages

* update control_command_gen

* fix

* fix logic

* update closing type

* update test

* update logic

* update test

* add out of lane to local

* ci arrive_dest

* pytest integration

* update ci_config

* fix ruff

* move test termination to time

* better

* better order

* curve_len

* add buffer

* cleanup

* cleanup

* cleanup

* cleanup

* out_of_lane

* cleanup

* merge tests

* run 90s

* change test name

* local out of lane detect

* out_of_lane

* static anal

* cleanup

* test_duration

* change setup_class -> setup_create_bridge

* no print state during test

* new out_of_lane detect

* cleanup print in common.py

* fix

* fix

* check distance vs time

* cleanup

* cleanup increase check time

* minimum bridge test time

* wording

* cleanup
2024-05-22 10:04:43 -07:00
..
2022-04-22 18:00:49 +02:00

openpilot in simulator

openpilot implements a bridge that allows it to run in the MetaDrive simulator.

Launching openpilot

First, start openpilot. Note that you will either need a mapbox token (set with export MAPBOX_TOKEN="1234"), or to disable mapsd with export BLOCK=mapsd

# Run locally
./tools/sim/launch_openpilot.sh

Bridge usage

$ ./run_bridge.py -h
usage: run_bridge.py [-h] [--joystick] [--high_quality] [--dual_camera]
Bridge between the simulator and openpilot.

options:
  -h, --help            show this help message and exit
  --joystick
  --high_quality
  --dual_camera

Bridge Controls:

  • To engage openpilot press 2, then press 1 to increase the speed and 2 to decrease.
  • To disengage, press "S" (simulates a user brake)

All inputs:

| key  |   functionality       |
|------|-----------------------|
|  1   | Cruise Resume / Accel |
|  2   | Cruise Set    / Decel |
|  3   | Cruise Cancel         |
|  r   | Reset Simulation      |
|  i   | Toggle Ignition       |
|  q   | Exit all              |
| wasd | Control manually      |

MetaDrive

Launching Metadrive

Start bridge processes located in tools/sim:

./run_bridge.py