GithubHelp home page GithubHelp logo

commaai / openpilot Goto Github PK

View Code? Open in Web Editor NEW
48.4K 1.3K 8.7K 2.47 GB

openpilot is an open source driver assistance system. openpilot performs the functions of Automated Lane Centering and Adaptive Cruise Control for 250+ supported car makes and models.

Home Page: https://comma.ai/

License: MIT License

C 2.93% Python 59.68% Shell 0.97% C++ 34.06% Dockerfile 0.02% HTML 0.43% QML 0.03% Kaitai Struct 0.32% Cython 0.43% JavaScript 0.25% CSS 0.07% Batchfile 0.01% Jupyter Notebook 0.80%

openpilot's Introduction

openpilot on the comma 3X

What is openpilot?

openpilot is an open source driver assistance system. Currently, openpilot performs the functions of Adaptive Cruise Control (ACC), Automated Lane Centering (ALC), Forward Collision Warning (FCW), and Lane Departure Warning (LDW) for a growing variety of supported car makes, models, and model years. In addition, while openpilot is engaged, a camera-based Driver Monitoring (DM) feature alerts distracted and asleep drivers. See more about the vehicle integration and limitations.

To start using openpilot in a car

To use openpilot in a car, you need four things:

  1. Supported Device: a comma 3/3X, available at comma.ai/shop.
  2. Software: The setup procedure for the comma 3/3X allows users to enter a URL for custom software. Use the URL openpilot.comma.ai to install the release version.
  3. Supported Car: Ensure that you have one of the 250+ supported cars.
  4. Car Harness: You will also need a car harness to connect your comma 3/3X to your car.

We have detailed instructions for how to install the harness and device in a car. Note that it's possible to run openpilot on other hardware, although it's not plug-and-play.

To start developing openpilot

openpilot is developed by comma and by users like you. We welcome both pull requests and issues on GitHub.

Want to get paid to work on openpilot? comma is hiring and offers lots of bounties for external contributors.

Safety and Testing

  • openpilot observes ISO26262 guidelines, see SAFETY.md for more details.
  • openpilot has software-in-the-loop tests that run on every commit.
  • The code enforcing the safety model lives in panda and is written in C, see code rigor for more details.
  • panda has software-in-the-loop safety tests.
  • Internally, we have a hardware-in-the-loop Jenkins test suite that builds and unit tests the various processes.
  • panda has additional hardware-in-the-loop tests.
  • We run the latest openpilot in a testing closet containing 10 comma devices continuously replaying routes.

User Data and comma Account

By default, openpilot uploads the driving data to our servers. You can also access your data through comma connect. We use your data to train better models and improve openpilot for everyone.

openpilot is open source software: the user is free to disable data collection if they wish to do so.

openpilot logs the road-facing cameras, CAN, GPS, IMU, magnetometer, thermal sensors, crashes, and operating system logs. The driver-facing camera is only logged if you explicitly opt-in in settings. The microphone is not recorded.

By using openpilot, you agree to our Privacy Policy. You understand that use of this software or its related services will generate certain types of user data, which may be logged and stored at the sole discretion of comma. By accepting this agreement, you grant an irrevocable, perpetual, worldwide right to comma for the use of this data.

Licensing

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


openpilot tests codecov

openpilot's People

Contributors

adeebshihadeh avatar alexandresato avatar briskspirit avatar crwusiz avatar cydia2020 avatar deanlee avatar efinilan avatar erichmoraga avatar fredyshox avatar gast04 avatar geohot avatar gijskoning avatar gregjhogan avatar grekiki2 avatar haraschax avatar iejmac avatar incognitojam avatar jafaral avatar jnewb1 avatar jyoung8607 avatar martinl avatar mitchellgoffpc avatar nuwandavek avatar pd0wm avatar robbederks avatar sshane avatar sunnyhaibin avatar virtuallychris avatar yassineyousfi avatar zwx1616 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openpilot's Issues

About OnePlus 3 ?

I am not be able to buy OnePlus 3 from my country. Is OnePlus 3T would be suffice? or how can I make this work on other phone ?

about change lanes overtake

This system uses the ACC millimeter wave radar, cell phone camera, is not able to achieve automatic lane change operation and overtake?

OpenPilot name is trademarked in Australia FWIW...

https://search.ipaustralia.gov.au/trademarks/search/view/1362707?q=openpilot

Goods & Services
Class 9: Auto-pilots; computer software

27-JAN-2011 Trade Marks Registered Advert
10-JAN-2011 Register Trade Mark Update
10-JAN-2011 Amend Status from Accepted Update
28-SEP-2010 Registration fee (1 class) Correspondence
23-SEP-2010 Accepted Applications for Registration of Trade Mark Advert
23-SEP-2010 Accepted Applications for Registration of Trade Mark Advert
03-SEP-2010 Amend Status from Awaiting Advertisement Update
15-AUG-2010 Clear Report - Approved Report No. 1
15-AUG-2010 Clear Examination report approved Update
10-JUN-2010 Applications Filed Advert
25-MAY-2010 Amend Status from Indexed Update
25-MAY-2010 Amend Status from Filed - Approved Update
21-MAY-2010 Approve Filing Update
20-MAY-2010 Filing Elec Appl'n for TM - Pick List 1 Class Correspondence

OpenPilot for BMW's

Hey George,

I love to see what you are doing here and I'd wish to try the system. But at my place we only got BMW's. These also have radar-sensors and adaptive cruise control.

What is needed to add a BMW Port to open pilot?
I could do a can-log/-dump for you on F10, F20 (LCI) and other models, if that helps...

Can this be used with any car?

Are all the PID's the same across all vehicles? Can I use this on a Chrysler or a Ford and determine if the seatbelt lamp is on?

Complete autonomous driving?

I have read in a few places that the current version of openpilot is as good/slightly better than Tesla's Autopilot 7.0, and with enough use and collaboration could compete with the new Autopilot 8.0.

Reading the description of Enhanced Autopilot 8.0 got me thinking, how far is openpilot from full autonomy and what would it take to get there? I understand this is only available on the top of the line Tesla's.

From https://www.tesla.com/autopilot

Once on the freeway, your Tesla will determine which lane you need to be in and when. In addition to ensuring you reach your intended exit, Autopilot will watch for opportunities to move to a faster lane when you're caught behind slower traffic. When you reach your exit, your Tesla will depart the freeway, slow down and transition control back to you.

Your Tesla will match speed to traffic conditions, keep within a lane, automatically change lanes without requiring driver input, transition from one freeway to another, exit the freeway when your destination is near, self-park when near a parking spot and be summoned to and from your garage.

OnePlus 3T Support

Is there an ETA for OnePlus 3T support?

It doesn't look like the OP3 is available on their website.

Thanks,

Matt

OpenPilot Tweets from the Grave 'Still Alive'... on 21 Feb 2017

https://twitter.com/openpilot/status/834304774791057409 posted 11:32 PM - 21 Feb 2017

Stop trying to acquire rights to OpenPilot domains, Twitter accounts, or anything else.

Just because you THINK a project is dead, does not mean you have rights to use the name. Especially when the name is trademarked to Auto Pilot work!

This is the clear message to you... please be mindful of your choice of name.
https://twitter.com/OpenPilot/status/834413283511767041

https://search.ipaustralia.gov.au/trademarks/search/view/1362707?q=openpilot

Nice Try

OpenPilot Nano AutoPilot Controller w/ Case for sale here

https://sasquatchlabs.org/product/genuine-nano-flight-controller-w-case/

Product Description

Introducing the OpenPilot Revolution Nano flight controller. Now you can get all the great features and functionality of the full sized Revolution flight controller board but at about 1/2 the size! By maximizing the spacing and layout of the PCB, OpenPilot was able to shrink the size of the board while still keeping all the functionality.
This OpenPilot Nano board also includes a high quality, protective case. The board alone weighs only 4 grams, and with the included protective case it still comes in at under 10 grams.
The Nano provides a crisp feel when flying tricopters, quads, hexas, octocopters, and even fixed wing planes or ground vehicles.
Flexiport

The Nano also offers the innovative Flexi-port which provides either I2C connectivity or a second serial port. Flexi-port gives Nano the flexibility to use either I2C and a single serial port or dual serial ports, according to your connectivity needs.
Superior user experience

OpenPilot has tried to make your experience with the Nano as easy and trouble-free as possible. Naturally for a high-end product, the hardware is complete; there is nothing to solder. The included RC harness allows you to connect any standard PWM receiver. All Nano boards are tested before shipping and come with bootloader already flashed. A standard mini-USB cable (not included) is used to load the latest firmware and configure everything for your unique airframe.
All major operating systems are supported and install packages are provided. The software is all Free software under the GPLv3 license.
Sensors and Components
3-axis Gyroscope array and 3-axis Accelerometer: MPU-9250
Supports several common RC inputs: 6 PWM channels, combined PPM, Spektrum/JR DSM2, DSMJ, DSMX satellites, and Futaba S.Bus receivers
Simultaneous support for multiple receivers
ReceiverPort functions (configurable): 6 PWM input channels or combined PPM stream, 4 PWM output channels
MainPort functions (configurable): serial telemetry (default), GPS, S.Bus, Spektrum/JR satellites
FlexiPort (configurable): serial telemetry, GPS, Spektrum/JR satellites, or I2C peripherals (under development)
10 PWM outputs to servos or ESC’s, or for camera stabilization
Camera stabilization: supports up to 3-axis camera mounts with stabilization and manual control from any of configured receivers
Onboard USB connectivity for easy configuration
USB and serial telemetry and configuration (including wireless with optional radio modules)
Supported by powerful OpenPilot GCS
4 Mbit onboard memory
3C Quaternion based complementary filter running at 500Hz
Specifications

90* angled pin headers
White board with black silkscreen
Micro USB Connection (cable not included)
Size (Board Only): 30mm x 17mm
Size (In Case): 22 x 38 x 12mm WxLxH
Powerful STM32 32-bit micro-controller running at 90MIPs with 128KB Flash and 20KB RAM
3-axis high-performance gyros and 3-axis high-performance accelerometer
4 layer PCB for superior electrical noise reduction and flight performance
Software support for Windows, Mac and Linux
Direct high speed USB support with no drivers required
Spektrum satellite receiver support
Futaba S-BUS hardware support
Innovative Flexi-port technology for superior port flexibility
4Mbits on-board EEPROM for configuration storage
Ships with

1x Fully assembled and quality tested Revolution Nano board
1x Custom protective case (22x38x12mm WxLxH)
1x OpenPilot RC RX connection cable

Add linuxcan to NEOS kernel

Being able to access SocketCAN from the phone would make it possible to connect a KVASER adapter or any other CAN adapter with linux support on the linux kernel over USB.

  • can
  • can_dev
  • can_raw
  • kvsaser_usb

It would also help during reverse engineering as the candump output can be relied back to the computer during debugging.

Honda Accord 2009 (EU version)

I've a Honda Accord 2009 with LKAS and ACC European version. I read on the readme that Accord may need different hardware however the 2009 Accord EU is not like the US version, actually it look alike the Acura.

Do you know if it will work with it? If not, what will I need and how can I sniff packets in order to make it compatible?

Thanks!

Safety, Ethics and openpilot

This post addresses a project that is under active development. This issue will lead to pull requests which make changes to the code in order to address some of the forthcoming concerns. That being said, the questions I am asking reach much further than changes to the source code.

I am very happy to see autonomous driving code in the public domain. This technology will radically change our future; the more people who can work with and understand these concepts, the better. Recently @geohot gave a very motivating speech at a Udacity event. However, it was shocking to hear George claim that he had not heard any critical opinions regarding the safety of his plan. "His plan" being that Comma.ai provide the source code of openpilot while individuals assemble their own Comma.ai NEOs, modify the source code to hack into their particular cars, and run openpilot while driving on public roads. In my opinion this plan is dangerous, and needlessly so. I hope that the community can come to a place where we maintain all the social goods of this open source research opportunity without taking any unnecessary risks. This is especially important because the cost of failure is so high. This is not like hacking your PS4 where the worst outcome is that you might brick your system. We are talking about possible fatalities here; fatalities which are completely avoidable.

Some Safety Risks:

  • Constant collaboration may prevent anyone from fully understanding the system While the end user has access to the source code it is unreasonable to expect that they will understand the edge cases and nuanced behaviors that come from the interactions of its many parts. This is especially true if openpilot is developed by dozens of people simultaneously in a distributed manner.
  • Failure modes are poorly communicated and understood Keep in mind that control of the vehicle is achieved by hacking into the vehicle's subsystems such as the Cruise Control or Lane Keep Assist functionality. The documentation for the nominal behavior of these subsystems is not released by manufactures. The behavior of these systems in the presence of a fault or bug in openpilot is even less clear.
  • Driver assistance systems introduce risks which are not currently addressed @geohot 's stated primary goal in releasing this project is to see the community provide implementations for vehicles beyond those hacked into by Comma.ai. The work required to hack into a car can vary greatly. Some systems use proprietary commands, and even those that are standardized may interpret commands differently. Many systems have different hard-coded limitations. For example @geohot has commented that there are different minimum speed requirements to activate Cruise Control among the cars he has personally worked on. It stands to reason that crowdsourcing is one economical way for a small startup to be interoperable with a wide variety of vehicles. The danger is that some unknown aspect of these systems will only be activated in rare circumstances. Because there has been no thorough systems analysis and no collaboration with the OEMs there is no mechanism to anticipate these rare events. Due to the development process that is being proposed for openpilot, many of these rare events will happen for the first time on the road, perhaps with deadly consequences.
  • Unknown capabilities of the perception system prevent users from making informed decisions openpilot fundamentally relies on the "visiond" system to provide the path that the car tries to follow. "visiond" is a closed source executable which relies on machine learning to function. It is not clear what data was used to train this module. Therefore, the end user can not form a reasonable expectation of what the car should understand! Furthermore, @geohot has openly admitted there are certain road markings that the car can not navigate well (such as merging lanes) but no exhaustive list of such limitations has been communicated, and perhaps not even created by Comma.ai.
  • Huge liability for openpilot users While the strategy of not selling anything allows Comma.ai to avoid regulation it does so at the expense of all the people who might contribute to this project. I am not a laywer, but I think any reasonable person can see how dangerous it is to use the Comma.ai NEO on public roads. In the event of a collision the driver of the vehicle using openpilot would almost certainly face legal scrutiny that they could not stand up to. Collisions aside, hacking into your vehicle is very likely to void your warranty. People might be willing to accept these monetary/legal risks, but it should be made extremely explicit to the contributors.
  • Some individuals will cause a hazard with this code Some users will be experts who make valuable contributions, and they might even be hired by Comma.ai. Most people who download this project will not have the interest or the skill to use it. But somewhere in the distribution of skill levels there are people who are dangerous. They are skilled enough to follow the directions and get everything running, but not skilled enough to really understand what they are doing. Those people are usually kept away from safety critical applications through hiring processes or by being supervised by more senior individuals. The current development strategy is subjecting the public to developers who will take wild risks perhaps intentionally, but certainly unintentionally.

Autonomous vehicles hold great promise to reduce fatalities and enable fundamentally new and better ways to live our lives. There may be some unavoidable risks on the path to that better future, but there are many more avoidable risks. The above points are just a few examples of avoidable risks. To make an exhaustive list is beyond me, but I think it is something we as a community must create. And when we have that list of avoidable risks in hand, it is our duty as ethical developers to attack that list until there is nothing left on it.

edit: changed capitalization of OpenPilot to openpilot

break speed limit

Hi Hotz,

Saw that the speed limit is 25kmh due to ACC limitation, to overcome this, you can cut ACC controller from powertrain CAN loop and generate faked ACC signal(especially torque and deceleration request), then you can play with full speed range. Hope this helps.

Scope of an "all deprecated" comment unclear

Hi, I saw a comment saying "all deprecated" here, but it's not clear where it's scope ends.

Could you be more specific on which fields exactly are deprecated, or add a statement to say where's the last deprecated field of the deprecated range?

Repository growing by 15Mb on every release

visiond is 15Mb, everytime there is a release the repo grows by that amount. People download all previous versions of visiond as part of the git repo and right now it is 66Mb.

My suggestion is to ship visiond differently using a different method.

(edited to add the suggestion)

Contribute

I don't have car to run this, or one plus 3.
But I really want to contribute. I know python,c and have done data mining course in college.
what can I do?

Allow setting daemons via environment variables

Right now we have to comment code in manager.py in order to disable a service, except for logging for no board.

If we move all daemons to environment variables we should be able to disable them with envvars and to point to third party implementations of each daemon:

Here is an example:

# to become c++ services, like what happened with boardd.
# In order to support a seamless transition and let end users
# override the services now all deamons read from an environment variable.
# The possible values are:
# 1. A fully qualified python module, like 'selfdrive.controls.radard'.
# 2. A path to an executable, like '/data/openpilot/visiond'.
#       * If the module is not build, this application will try to build it
#         from a Makefile in the parent folder.
# 3. An empty string, which disables the module.
#
# Any value that does not satisfy any of the conditions above will trigger an Exception
#   and abort execution.

managed_processes = {
  "uploader": os.getenv("OPENPILOT_UPLOADERD", "selfdrive.loggerd.uploader"),
  "controlsd": os.getenv("OPENPILOT_CONTROLSD", "selfdrive.controls.controlsd"),
  "radard": os.getenv("OPENPILOT_RADARD", "selfdrive.controls.radard"),
  "calibrationd": os.getenv("OPENPILOT_CALIBRATIOND", "selfdrive.calibrationd.calibrationd"),
  "loggerd": os.getenv("OPENPILOT_LOGGERD", "selfdrive.loggerd.loggerd"),
  "logmessaged": os.getenv("OPENPILOT_LOGMESSAGED", "selfdrive.logmessaged"),
  "logcatd": os.getenv("OPENPILOT_LOGCATD", "./logcatd"),
  "boardd": os.getenv("OPENPILOT_BOARDD", "./boardd"),
  "ui": os.getenv("OPENPILOT_UI", "./ui"),
  "visiond": os.getenv("OPENPILOT_VISIOND", "./visiond"),
  "sensord": os.getenv("OPENPILOT_SENSORD", "./sensord"), }

Why only 2016 Civic Touring trim?

I'm curious why the limitation on the 2016 Civic is for the Touring trim?
Could this work with other trims? Like the EX or EX-T (if equipped with Honda Sensing)?

Proposed Car Abstraction Layer

Anything obvious I'm forgetting?

using Cxx = import "c++.capnp";
$Cxx.namespace("cereal");

@0x8e2af1e708af8b8d;

# ******* main car state @ 100hz *******
# all speeds in m/s

struct CarState {
  errors @0: List(Error);

  # car speed
  vEgo @1 :Float32;       # best estimate of speed
  wheelSpeeds @2 :WheelSpeeds;

  # gas pedal, 0.0-1.0
  gas @3 :Float32;        # this is user + computer
  gasPressed @4 :Bool;    # this is user pedal only

  # brake pedal, 0.0-1.0
  brake @5 :Float32;      # this is user pedal only
  brakePressed @6 :Bool;  # this is user pedal only

  # steering wheel
  steeringAngle @7 :Float32;   # deg
  steeringTorque @8 :Float32;  # TODO: standardize units
  steeringPressed @9 :Bool;    # if the user is using the steering wheel

  # cruise state
  cruiseState @10 :CruiseState;

  # button presses
  buttonEvents @11 :List(ButtonEvent);

  # which packets this state came from
  canMonoTimes @12: List(UInt64);

  struct WheelSpeeds {
    # optional wheel speeds
    fl @0 :Float32;
    fr @1 :Float32;
    rl @2 :Float32;
    rr @3 :Float32;
  }

  struct CruiseState {
    enabled @0: Bool;
    speed @1: Float32;
  }

  enum Error {
    # TODO: copy from error list
    commIssue @0;
    steerUnavailable @1;
    brakeUnavailable @2;
    gasUnavailable @3;
    wrongGear @4;
    doorOpen @5;
    seatbeltNotLatched @6;
    espDisabled @7;
    wrongCarMode @8;
    steerTemporarilyUnavailable @9;
    reverseGear @10;
    # ...
  }

  # send on change
  struct ButtonEvent {
    pressed @0: Bool;
    type @1: Type;

    enum Type {
      unknown @0;
      leftBlinker @1;
      rightBlinker @2;
      accelCruise @3;
      decelCruise @4;
      cancel @5;
      altButton1 @6;
      altButton2 @7;
      altButton3 @8;
    }
  }
}

# ******* radar state @ 20hz *******

struct RadarState {
  errors @0: List(Error);
  points @1: List(RadarPoint);

  # which packets this state came from
  canMonoTimes @2: List(UInt64);

  enum Error {
    notValid @0;
  }

  # similar to LiveTracks
  # is one timestamp valid for all? I think so
  struct RadarPoint {
    trackId @0: UInt64;  # no trackId reuse

    # these 3 are the minimum required
    dRel @1: Float32; # m from the front bumper of the car
    yRel @2: Float32; # m
    vRel @3: Float32; # m/s

    # these are optional and valid if they are not NaN
    aRel @4: Float32; # m/s^2
    yvRel @5: Float32; # m/s
  }
}

# ******* car controls @ 100hz *******

struct CarControl {
  # must be true for any actuator commands to work
  enabled @0: Bool;

  # range from 0.0 - 1.0
  gas @1: Float32;
  brake @2: Float32;

  # range from -1.0 - 1.0
  steeringTorque @3 :Float32;

  cruiseControl @4: CruiseControl;
  hudControl @5: HUDControl;

  struct CruiseControl {
    cancel @0: Bool;
    override @1: Bool;
    speedOverride @2: Float32;
    accelOverride @3: Float32;
  }

  struct HUDControl {
    speedVisible @0: Bool;
    setSpeed @1: Float32;
    lanesVisible @2: Bool;
    leadVisible @3: Bool;
    visualAlert @4: VisualAlert;
    audibleAlert @5: AudibleAlert;

    enum VisualAlert {
      # these are the choices from the Honda
      # map as good as you can for your car
      none @0;
      fcw @1;
      steerRequired @2;
      brakePressed @3;
      wrongGear @4;
      seatbeltUnbuckled @5;
      speedTooHigh @6;
    }

    enum AudibleAlert {
      # these are the choices from the Honda
      # map as good as you can for your car
      none @0;
      beepSingle @1;
      beepTriple @2;
      beepRepeated @3;
      chimeSingle @4;
      chimeDouble @5;
      chimeRepeated @6;
      chimeContinuous @7;
    }
  }
}

adb: error: Read-only file system

Hi,

I am getting this error when trying to run the ./install.sh script:
adb: error: failed to copy 'files/id_rsa_openpilot_ro' to '/tmp/id_rsa_openpilot_ro': Read-only file system

Model Number: ONEPLUS A3000
Android Version: 6.0.1
Android security patch level: November 1, 2016
Build number: ONEPLUS A3000_16_161118

Any ideas?

Thanks,

Matt

Guiding the blind

I am not a programer or an engineer, but I have relatives that have lost or impaired sight and I would like to develop an electronic seeing guide dog. I want to develop an opensource hardware reference design so anyone can build their own portable device with powersource, cameras, radar, GPS, audio in/out, etc. that would be able to use a modified version of this software to provide active descriptive narration of the environment and guidance via an audio and tactile interface. The system would interpret traffic signals, walk/dont walk signs, and help keep the user on the sidewalks and paths, avoiding dangers like sharp drops, uneven ground, large obstacles, dead ends, etc. Users can hear descriptions, and receive vibrations on their left and right sides, to assist navigation. The device can be programed, much like a modern in car GPS system does.

The project needs to standardize the hardware requirements, and schematics, as well as develop this software to output to a human rather than a wheel, brake and accelerator.

Open ?

We can not modify anything, not really open.

How the visiond works?

Hi,
I am curious the internal of visiond, I want to do similar work but not in selfdrive domain, can anyone answer this questions:

  1. If the car on the road is very fast, how can the visiond take a sharp photograph in a very short time?
  2. Which deep learning framework does the visiond use now ? I want to optimize the backend with arm cpu, the tensorflow is too heavy.

thanks,

cellular network is not working after flash install

Get a fresh Oneplus 3 phone, and test the sim card working before I unlocked and flash install to Commaai binary. The installation went well without an issue, but the cellular network is not working. The continue.sh can not git pull from this repository. After connected to the phone with connect.sh, I can not ping google.com.

I then took out the SIM card and tested on other regular phone to confirm the problem is not from SIM card itself. I suspect there is something broken the the system image in this release to set up the cellular network.

Lincoln MKZ / Ford Fusion compatibility

Udacity is also building a self driving car using that model as a reference.

What is the list of things to take into account to port openpilot to other cars?

Here is a list based on what I have read so far:

  • Create .dbc file
  • Steering
  • Brake/Throttle
  • Shift

Calibration

you could end up with a blank calibration file ( for example, if you shutdown the phone while the calibration deamon is writing the file) and the calibration process seem to stop doing it's job properly after this. i noticed that i had a blank calibration file in /sdcard that dated from january 1st even tough i did a lot of driving since then. the file was there , but zero byte in size. i deleted the file and the whole calibration process restarted. I just did an hour of driving and it's now perfectly aligned.

Compatible smartphone

Just wondering if newer OnePlus 3T will work for this system. I don't run a test yet.
Thank you! Appreciate if someone can confirm with me.

ACC on Non-Sensing 2016 Civic EX-L?

I just bought the 2016 Civic EX-L, without Honda Sensing package. I think it would be really cool to add ACC to this car for my wife. Are there enough messages on the CAN bus to make this happen or have they been disabled on non-sensing vehicles. I really only need an 'apply brake = 0.xx' and 'apply accelerator = 0.xx' message to accomplish what I am trying to do. I am not familiar yet with the CAN bus. What would I need to start sniffing the CAN and see if the appropriate messages are available?

If possible, I plan to build the kit and do some testing. I just wanted to ask those who have experience with this before dropping the coin to build the Comma One.

Thanks for any help anyone can provide. I really think this would be a fun project and a way I could contribute to expanding capabilities for openpilot on non-sensing cars.

Source code of visiond

If I got it right, visiond binary is responsible for the vision part of the project, right?

So, the most important part of the project is not open source? Really?

Depth perception, side & rear views?

Truly autonomous driving requires much more than a single, forward-facing camera. Are there plans of connecting multiple cameras for side & rear views?

Or, is this project very limited in its overall scope?

Wireless Towing

So you're out drinking and you find a buddy to drive you home, unfortunately you brought your car to the party and will have to somehow get to it in the morning. Unless of course you could get it towed home, but that's not very affordable. But what if there existed a software running in both cars, which would relay the signals from the car in the front, to a car right behind it? You'd line up the car you want to wirelessly tow right behind yours, link up the cars, and drive the two cars plus your drunk friend home. If there were features such as openpilot for additional safety, like if the link was broken, the driverless car kept in lane, turned on emergency signals, and pulled to the side of the road? Thoughts?

False (?) statement about Open (!) Source?

Hi!

You state that

openpilot is an open source driving agent

in project's README file.

That's good and very, very admirable.

But...
let's take a look on https://github.com/commaai/openpilot/blob/master/selfdrive/visiond/visiond
What we will see? A blob. 14Mb (!!!) blob!
Also, let's take a look on https://github.com/commaai/openpilot/blob/master/phonelibs/hierarchy/lib/_hierarchy.so
Also 0.75M blob (at least, not 15Mb).

And also board/tools/dfu-util*:

  1. blobs too (and confidence is doubtful at this point, after two hidden blobs)
  2. almost every distro has dfu-utils available in package managers.
  3. there is much more CPU architectures than x86_64 and aarch64 (and even talking about arm-related arches: I can count aarch64 boards with fingers of only single hand. Most ARM hardware (even that one that cosplays desktops) is still 32bit.

Minimum requirements for vehicle

Is there a list of minimum requirements for a car to be retrofitted to use openpilot sw? I can figure out the CAN packets and do the parsing. I have a 2007 Toyota Prius that I am considering trying this on.

How is the Radar sensor data used and can the system work without it or are there aftermarket radar sensor s that can be installed?

Consider - a new name for this project?

Seems like there's a company already doing drone automation software in this space -
https://twitter.com/OpenPilot

You could curate this - like by voting - perhaps a simple google form?
Problem with not renaming it is reasonably foreseeable - when people want to extend this software to actually do drone stuff - then the naming will trip people up.

How can i training it?

Dear Sir:
How can i training this AI? Should i fetch some driving video and feed them into some learning server?
Is it possible we can upgrade it by keep training it?

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.