nopenpilot/tools
Josh Smith 77321dbac4
Add type hints, small cleanups (#21080)
* improve tools.lib.kbhit and tools.sim.lib.keyboard_ctrl

* unpack more efficiently

* minor improvements

* agnos.py match spec better

* manual_ctrl test missing queue arg

* fix incorrect type annotation

* queues are generic

* varname reuse resulting in incorrect type inference

* bytes().hex() rather than bytes.hex(bytes())

* a bit of type hinting stuff
2021-06-03 12:21:04 +02:00
..
carcontrols improving tools readme (#20305) 2021-03-11 15:28:37 -08:00
clib move c++ framereader to selfdrive/ui/replay (#21053) 2021-05-27 16:00:11 -07:00
lib Add type hints, small cleanups (#21080) 2021-06-03 12:21:04 +02:00
plotjuggler Remove snap installed PlotJuggler (#20989) 2021-05-21 13:28:06 -07:00
replay Add type hints, small cleanups (#21080) 2021-06-03 12:21:04 +02:00
scripts set github username in key setup script 2021-05-25 15:45:29 -07:00
sim Add type hints, small cleanups (#21080) 2021-06-03 12:21:04 +02:00
ssh tools/ssh cleanup 2021-04-06 15:00:11 -07:00
webcam update to python 3.8.5 (#20217) 2021-03-09 13:38:22 -08:00
zookeeper Zookeeper support (#20000) 2021-04-13 15:08:00 -07:00
README.md README.md for SSH (#20365) 2021-03-21 18:58:58 -07:00
__init__.py merge in tools 2020-01-17 10:07:22 -08:00
mac_setup.sh fix mac setup script for zsh (#20708) 2021-04-20 17:28:10 -07:00
openpilot_build.sh build script that uses docker container (#1944) 2020-08-30 17:02:36 -07:00
openpilot_env.sh Setup script improvements to MacOS / Ubuntu (#2012) 2020-08-14 18:03:55 -07:00
ubuntu_setup.sh Mapbox widget (#20751) 2021-05-17 14:57:07 +02:00

README.md

openpilot tools

SSH

Connecting to your comma device using SSH

System requirements

openpilot is developed and tested on Ubuntu 20.04, which is the primary development target aside from the supported embdedded hardware. We also have a CI test to verify that openpilot builds on macOS, but the tools are untested. For the best experience, stick to Ubuntu 20.04, otherwise openpilot and the tools should work with minimal to no modifications on macOS and other Linux systems.

Setup

  1. Clone openpilot into home directory:
cd ~

git clone --recurse-submodule https://github.com/commaai/openpilot.git

  1. Run setup script:

Ubuntu:

openpilot/tools/ubuntu_setup.sh

MacOS:

openpilot/tools/mac_setup.sh
  1. Compile openpilot by running SCons in openpilot directory
cd openpilot && scons -j$(nproc)
  1. Try out some tools!

Tools

Plot logs

Easily plot openpilot logs with PlotJuggler, an open source tool for visualizing time series data.

Run openpilot in a simulator

Test openpilots performance in a simulated environment. The CARLA simulator allows you to set a variety of features like:

  • Weather
  • Environment physics
  • Cars
  • Traffic and pedestrians

Replay a drive

Review video and log data from routes and stream CAN messages to your device.

Debug car controls

Use a joystick to control your car.

Welcomed contributions

  • Documentation: code comments, better tutorials, etc..
  • Support for other platforms other than Ubuntu 20.04.
  • Performance improvements: the tools have been developed on high-performance workstations (12+ logical cores with 32+ GB of RAM), so they are not optimized for running efficiently. For example, ui.py might not be able to run real-time on most PCs.
  • More tools: anything that you think might be helpful to others.

Imgur