Giter Club home page Giter Club logo

xnxpilot's Introduction

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.

xnxpilot's People

Contributors

efinilan avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.