Openpilot on Jetson Xavier NX

Overview

Licensing

xnxpilot is released under the MIT license. Some parts of the software are released under other licenses as specified.

Any user of this software shall indemnify and hold harmless Rick Lan, dragonpilot, comma.ai, Inc. and its directors, officers, employees, agents, stockholders, affiliates, subcontractors and customers from and against all allegations, claims, actions, suits, demands, damages, liabilities, obligations, losses, settlements, judgments, costs and expenses (including without limitation attorneys’ fees and costs) which arise out of, relate to or result from any use of this software by user.

THIS IS ALPHA QUALITY SOFTWARE FOR RESEARCH PURPOSES ONLY. THIS IS NOT A PRODUCT. YOU ARE RESPONSIBLE FOR COMPLYING WITH LOCAL LAWS AND REGULATIONS. NO WARRANTY EXPRESSED OR IMPLIED.


Table of Contents


What is xnxpilot?

xnxpilot (Xavier NX Pilot) is an open source driver assistance system based on dragonpilot and openpilot, running on a NVIDIA Jetson Xavier NX platform instead of a qualcomm 821 mobile phone.

If you would like to run it with minimal changes to openpilot, please see the example in "doc" branch, based on openpilot 0.8.4


Showcase

Simulation:

On road:

Running on dragonpilot 0.8:


Checklist

  • Create build scripts
  • Add patch samples / tutorials.
  • On road lateral control tests.
  • On road longitudinal control tests.
  • Add IMU sensor to improve GPS accuracy.
  • Tuning. (WIP)

Hardware Requirement


Software Requirement


Hardware assembly

It is important to know that your camera needs firmly attached onto your windshield, any small movement to the camera while driving may result dangerous steering/acceleration.

I highly recommended to 3D print those commaai windshield mount (use with gopro mount) and use it to mount your camera, 24 degree one will do the job.


Installation

  1. Install ubuntu 18.04 / Jetpack 4.6 on to sdcard
  2. Insert your sd card to your jetson, have camera connect to CAM0, boot up, use the following configuration (installer will use those values to set up the device):
  • username: comma
  • password: comma
  • hostname: tici
  • mode: 20W 6 cores
  1. Once installation finished, SSH into the device and continue the rest of the processes.
  2. run:
  • sudo /opt/nvidia/jetson-io/jetson-io.py
  • select Configure Jetson Nano CSI Connector > Configure for compatible hardware > Camera IMX477 Dual > Save pin changes > Save and exit without rebooting.
  1. clone this repo to your home directory (e.g. cd ~/ && git clone https://github.com/efinilan/xnxpilot.git openpilot -b 0.8.9 --single-branch)
  2. run cd ~/openpilot/jetson/ && sudo bash env_installer.py
  3. Take a rest, this will take around 1.5 hrs to config your system and another 10 mins to compile dragonpilot, depends on your internet connection.
  4. Congradulations, you have dragonpilot running on your jetson.

Credits


Notes

set_core_affinity

Jetson Xavier NX has 6 cores running at 1.9 GHz, here is what I've defined:

0 = camerad

1 = modeld

2 = boardd

3 = controlsd

4 = plannerd / radard

This will spread processes other CPU cores.

Issues
  • how to run this in my Jetson Xavier NX?

    how to run this in my Jetson Xavier NX?

    hello, thanks for you great work!

    now, followed your readme.md, I have dragonpilot installed on your jetson.

    but I don't know how to run it like your video that don't need a real car.

    could you help me?

    thanks a lot.

    opened by colinzhaoxp 26
  • Pre-built binaries requires libc 2.33 but only 2.31 found

    Pre-built binaries requires libc 2.33 but only 2.31 found

    Binaries /data/openpilot/selfdrive/ui/_ui and /data/openpilot/selfdrive/ui/qt/spinner requires to run libc 2.33

    ./qt/spinner: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./qt/spinner)

    ./_ui: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./_ui)

    But the latest version for ubuntu 18.04/Jetpack 4.6 is 2.31.

    opened by terryfork 1
Owner
eFini
eFini
A C++ implementation of Yolov5 to detect mask running in Jetson Xavier nx and Jetson nano.

yolov5-mask-detect A C++ implementation of Yolov5 to detect mask running in Jetson Xavier nx and Jetson nano.In Jetson Xavier Nx, it can achieve 33 FP

null 3 Mar 19, 2022
nvidia nvmpi encoder for streamFX and obs-studio (e.g. for nvidia jetson. Requires nvmpi enabled ffmpeg / libavcodec)

nvmpi-streamFX-obs nvidia nvmpi encoder for streamFX and obs-studio (e.g. for nvidia jetson. Requires nvmpi enabled ffmpeg / libavcodec) Purpose This

null 16 Jun 25, 2022
Hardware-accelerated DNN model inference ROS2 packages using NVIDIA Triton/TensorRT for both Jetson and x86_64 with CUDA-capable GPU.

Isaac ROS DNN Inference Overview This repository provides two NVIDIA GPU-accelerated ROS2 nodes that perform deep learning inference using custom mode

NVIDIA Isaac ROS 36 Jun 20, 2022
Docker files and scripts to setup and run VINS-FUSION-gpu on NVIDIA jetson boards inside a docker container.

jetson_vins_fusion_docker This repository provides Docker files and scripts to easily setup and run VINS-FUSION-gpu on NVIDIA jetson boards inside a d

Mohamed Abdelkader Zahana 18 May 30, 2022
YoloX for a Jetson Nano 4 using ncnn.

YoloX Jetson Nano YoloX with the ncnn framework. Paper: https://arxiv.org/pdf/2107.08430.pdf Special made for a Jetson Nano, see Q-engineering deep le

Q-engineering 7 May 25, 2022
With deep learning to neuroscience world with shield for jetson nano - JNEEG (In progress)

With deep learning to neuroscience world with shield for jetson nano - JNEEG (In progress)

Ildaron 18 Mar 4, 2022
A C++ implementation of Yolov5 helmet detection in Jetson Xavier nx and Jetson nano

A C++ implementation of Yolov5 to detect head or helmet in the wild in Jetson Xavier nx and Jetson nano This repository uses yolov5 to detect humnan h

null 9 May 7, 2022
A C++ implementation of Yolov5 to detect mask running in Jetson Xavier nx and Jetson nano.

yolov5-mask-detect A C++ implementation of Yolov5 to detect mask running in Jetson Xavier nx and Jetson nano.In Jetson Xavier Nx, it can achieve 33 FP

null 3 Mar 19, 2022
✏️Nx-edit is a simple code editor developed by me (nxxh) written in plain C as a small pet project 📝

✏️ nx-edit ?? Nx-edit ?? is a terminal based simple code editor developed by me uing plain C. feel free to star and or fork the repo :) (as a heads up

nxxh 2 Dec 14, 2021
nvidia nvmpi encoder for streamFX and obs-studio (e.g. for nvidia jetson. Requires nvmpi enabled ffmpeg / libavcodec)

nvmpi-streamFX-obs nvidia nvmpi encoder for streamFX and obs-studio (e.g. for nvidia jetson. Requires nvmpi enabled ffmpeg / libavcodec) Purpose This

null 16 Jun 25, 2022
Jetson Nano camera driver extracted from the jetbot_ros package.

Jetson Cam Jetson Nano camera driver extracted from the jetbot_ros package. Dependencies System Dependencies GStreamer Typically preinstalled in jetso

H S Helson Go 2 Nov 12, 2021
Hardware-accelerated DNN model inference ROS2 packages using NVIDIA Triton/TensorRT for both Jetson and x86_64 with CUDA-capable GPU.

Isaac ROS DNN Inference Overview This repository provides two NVIDIA GPU-accelerated ROS2 nodes that perform deep learning inference using custom mode

NVIDIA Isaac ROS 36 Jun 20, 2022
Docker files and scripts to setup and run VINS-FUSION-gpu on NVIDIA jetson boards inside a docker container.

jetson_vins_fusion_docker This repository provides Docker files and scripts to easily setup and run VINS-FUSION-gpu on NVIDIA jetson boards inside a d

Mohamed Abdelkader Zahana 18 May 30, 2022
YoloX for a Jetson Nano 4 using ncnn.

YoloX Jetson Nano YoloX with the ncnn framework. Paper: https://arxiv.org/pdf/2107.08430.pdf Special made for a Jetson Nano, see Q-engineering deep le

Q-engineering 7 May 25, 2022
With deep learning to neuroscience world with shield for jetson nano - JNEEG (In progress)

With deep learning to neuroscience world with shield for jetson nano - JNEEG (In progress)

Ildaron 18 Mar 4, 2022