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.
- What is xnxpilot?
- Showcase
- Checklist
- Hardware requirement
- Software requirement
- Hardware assimbly
- Installation
- Credits
- Notes
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
Simulation:
On road:
Running on dragonpilot 0.8:
- 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)
- Nvidia Jetson Xavier NX
- 32GB+ microsd card (UHS 3 speed minimum)
- Arducam IMX 477
- comma.ai Black Panda (or white/grey panda but require more code customization.)
- (Optional) comma.ai Windshield mount
- (Optional) GoPro flat adhesive mount
- (Optional) Waveshare 4.3" IPS Touchscreen
- (Optional) DCDZ Jetson Xavier NX Carrier Board NCB00
- (Optional) CSI to HDMI Extension Module
- (Optional) Targus notebook charger for car.
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.
- Install ubuntu 18.04 / Jetpack 4.6 on to sdcard
- 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
- Once installation finished, SSH into the device and continue the rest of the processes.
- 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
.
- 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
) - run
cd ~/openpilot/jetson/ && sudo bash env_installer.py
- 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.
- Congradulations, you have dragonpilot running on your jetson.
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.