Giter VIP home page Giter VIP logo

cryptonome / openpilot-1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lovechen/disgracedpilot

0.0 1.0 0.0 460.52 MB

DisgracedPilot Reference Fork of 'Headless' OpenPilot (Honda-Bosch Camera Integration). Based on openpilot v0.7-release.

Home Page: https://www.youtube.com/c/DisgracedPilot

License: MIT License

Makefile 0.05% Python 4.18% Shell 0.05% C 32.45% C++ 62.64% Cap'n Proto 0.18% CMake 0.03% Objective-C 0.22% Dockerfile 0.02% Groovy 0.01% Assembly 0.14% NSIS 0.02%

openpilot-1's Introduction

THIS IS EXPERIMENTAL 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.


The 'DisgracedPilot' Fork

This is an experimental OpenPilot fork that uses the Accord-Bosch camera system to provide lane detection. It is strictly for research purposes only. It aims to show that the vehicle can be controlled using Bosch lane guidance directly off of the CAN, made possible by carefully decoding the raw bit data and producing a custom DBC file. Absolutely no user support will be given. IMPROPER USE OR ABUSE OF THIS SOFTWARE MAY RESULT IN PROPERTY DAMAGE, INJURY, OR DEATH. ANY APPLICATION OF THIS SOFTWARE IS AT YOUR OWN RISK.

The system in action: https://www.youtube.com/watch?v=GB8I9_anNG4

Instructions:

  • Load code onto the EON.
  • SSH into the EON and run 'scons' in the ~/openpilot folder. (May take one hour or more.)
  • Copy LiveParameters from another fork into the ~/data/params folder.

Known Limitations:

  • There are innumerable unknown limitations, behaviours, and interactions that can and will adversely affect system performance.
  • No handling of loss of one or both lane lines. System may be unpredictable in this scenario.
  • No handling of lane changes. System tries to return to the centre of the original lane until the lane lines are passed.
  • Steep turns close to the Accord EPS torque limit have unpredictable performance.
  • Controls have not been tuned, resulting in occasional lateral oscillation or overly-aggressive steering.

To do:

  • More accurately determine the decoding of the Bosch lane polynomial messages. Particularly need to understand the "LINE_JERK" parameter, as it seems inaccurate or misnamed. Other flags like line colour or slope seem to be present but need to be identified.
  • Identify the coordinate frame of the Bosch camera. It may be referenced to the rear axle of the vehicle, instead of the camera centre in OpenPilot. The impact may be minimal, however.
  • Investigate model features and deficiencies, e.g. moving from light into shadow, detection of non-line lane boundaries like curbs or grass.
  • Handle common freeway features like lane merging + ending and freeway exits.
  • Tune the controls and other new logic parameters.
  • Re-purpose various vision and control warnings to be based on the Bosch lane outputs.
  • Lightly smooth lane probabilities to reduce drive path jitter.
  • Show lane and diagnostic information on the UI.
  • Use adjacent lane lines to potentially improve or stabilise lane guidance.
  • Consider new functionality, e.g. using the adjacent lane tracking to create a lane change assistance function; implementing navigation coasting to pass through intersections or deal with brief lane line dropouts; new parameter learner like camera offset.
  • Determine which OpenPilot processes can be disabled and cleanly remove or ignore them.
  • Investigate running this fork on a Raspberry Pi 4.
  • Push any universal features to the main line OpenPilot.

Please contact me if you are interested in contributing to any of these points.

openpilot-1's People

Contributors

disgracedpilot 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.