-
Notifications
You must be signed in to change notification settings - Fork 9.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tesla Model S support #145
Conversation
Hardware instructions: openpilot.robertcotran.com |
Two full 6 min without touching the steering wheel (except to bump the 6 min user awareness): https://youtu.be/Q2diuQ53Too Also, quick timelapse: https://youtu.be/ZBTv1Yfjgvg And longer video (30 min) super boring!: https://youtu.be/H4nVV9NhLl0 |
Hello everyone,
If there is a better way for me to contact Jean-Claude Thibault and Robert Cotran, please let me know. Thanks |
Join #tesla on comma.slack.com Short answer, yes to both questions. |
from selfdrive.config import Conversions as CV | ||
|
||
|
||
# *** Honda specific *** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this block still needed for Tesla port? Since its supposed to be "Honda Specific"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is unused. There will be a much cleaner pull request with updated to 0.3.8.2 codebase in about two weeks. I am currently porting the code and testing.
@jeankalud , thank you for your efforts. I am assembling hardware to test this out. It appears that the EPAS bypass cable you describe omits the BATT and GND connections to the EPAS, just leaving them unpopulated on the X164 side. Am I misreading the instructions or is that really intended? Also, I plan to include an in-cabin DPDT switch to un-bypass the kill signal so I can easily remove the NEO temporarily. I want to make sure the EPAS is reconnected as originally designed in that mode. I wish you luck learning how to communicate with a later model radar unit as well to incorporate TACC. Wish I could be of help with that. |
Batt (ignition) and ground are passed from the male to female connectors at the EPAS. The concept is to plug the unused connector from the car’s harness to protect from elements, but we still use its ignition and ground signals. That way the cable going into the cabin only has to carry the canbus signals going to the EPAS. We do use a DPDT switch in the cabin becaus you need to restore original signals from car’s chassis canbus to drive without the NEO/EON, otherwise you get “Reduced steering power” safe mode on the EPAS. Contact us in the slack channel is needed, we’ll get you running ;) It a bit intimidating at first but overall not that difficult and totally reversible. And it works so well! |
@jeankalud thank you for your response. Everything about your bypass cable strategy seems sensible but specifically, I was questioning whether pin 1 (batt) and pin 2 (gnd) should be passed directly to the EPAS as well. It is clear that ignition (pin 6) and CAN- (pin 2) get there. Sorry if I'm missing something obvious. |
@geohot What do we need to do to get this merged, other than obvious like get it to latest OP version. The cars don't appear to have computer controllable brakes, so that's a limitation. The fingerprint and other things are missing here, so there's some obvious work. I think it should run on Panda/Eon also as a qualification for 0.4.x. I suspect we MUST get longitudinal control integrated with the cruise system at some point, but as this drifts further from merge-able that creates a barrier for the people working on this to fork instead of merge, that doesn't seem like a desired outcome. What's the bar you set for getting this merged? Perhaps if high we can merge a working version but with a fingerprint commented out explaining why you must understanding how truly alpha it is - But that way we eliminate the code base drifting from the pull request. |
@jeankalud, your page states The classic Model S does not have autopilot hardware but does have the same steering control system and servo as the autopilot Model S and therefore can be controlled through electrical signaling (specifically one of the car's CAN buses). Are you sure this is the case? I used to have an 2013 S and now have an 2015 AP S. The 2013 pre-AP had another steering rack and controls, but later models (mid 2014, pre AP) were delivered with newer steering rack but w/o radar and camera. Effectively, I think this means that OpenPilot will only work on the later pre-AP, and obviously AP cars. Can you confirm/decline this? |
@sveip My car is a November 2013 pre-AP and I've driven more than 20,000 km on Openpilot already. Also, my friend zax123 has a March 2013 Model S and is also using Openpilot every days. Lateral control only for us. The commands to control the steering angle are the same on newer (2018) and older (2012-2013) Model S, but the steering rack hardware did change at some point, like you pointed. Regardless, all those electric power steering are controllable. Please join the Slack channel for more discussions: slack.comma.ai |
I'd like to get openpilot running on my 2013 Model S. However I could not figure out how to join the Slack channel - it's asking me for a teslamotors.com email address, which I don't have. Can you provide a list of the parts that are needed? I've looked at the linked sites but they're not making sense to me for some reason, and they appear to have not been updated since last October. Would appreciate some direction here, thanks! |
Join at comma.slack.com and login with Google account
…Sent from my iPhone
On Mar 11, 2018, at 20:06, jnrowell ***@***.***> wrote:
I'd like to get openpilot running on my 2013 Model S. However I could not figure out how to join the Slack channel - it's asking me for a teslamotors.com email address, which I don't have. Can you provide a list of the parts that are needed? I've looked at the linked sites but they're not making sense to me for some reason, and they appear to have not been updated since last October. Would appreciate some direction here, thanks!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
I tried entering my gmail address but what's the password? I tried the "forgot password" link and I got an email saying my email address "doesn't have an account for that workspace". So how can I get an account? |
OK, I think I finally figured it out. I'll put this out there for others who are having the same trouble I had. You can't join directly on comma.slack.com - you first have to visit https://commaslack.herokuapp.com/ and enter your email address. Then once you're signed up, go to comma.slack.com and log in. |
@jnrowell, Thanks. I was wondering about this as well. |
See #246 |
3a55ae9 New camry steer message (#149) 6cd0238 Add 2019 CR-V Hybrid DBC (#148) 721e9b2 Subaru: set speed can be in kph and it needs 8 bits 0e98b2c Subaru: update LKAS_State 945b6ad Subaru: slightly touched wheel speed factor 608a4a62 Add files via upload (#147) 6a29f7e Subaru: fixed DOOR_OPEN sgs 434debb Adds dbc for 2017 lexus is300h (hybrid) (#146) 679dd42 Subaru: some cleanup to dbc 38140d2 Subaru: endianess consistency in wheel speeds 8281813 Subaru Global: more endianess consistency. Still a long way to go a3b78a3 Subaru Global: simplified Stalk Message b8250bc fixed sign in steering angle 9552df4 Subaru: left steer is positive 4aca14c SUBARU LKAS: minus sign to steer command to match standard convention a6cc574 Merge pull request #145 from Jafaral/master abcb9a2 Add Mazda CX-5 2017 GT f4a8f79 Pedal: back again at 6 bytes 3fd25bf Pedal: same checksum and counter (#143) 2c74c55 Toyota pedal: messages are now 7 bytes 732f3fc Toyota pedal: added counter acf0da7 Subaru global dbc (#142) e0fa5d0 Subaru: added global dbc cb22125 change chrysler radar to all big endian to avoid OP can parser bug (#141) ecf99e0 chrysler car model in LKAS message so we can use CAN packer (#140) git-subtree-dir: opendbc git-subtree-split: 3a55ae9
* Kill services if eon batt low * Kill services if batt low - addition * Set 3 min limit before shutdown if unplugged
Add Mazda CX-5 2017 GT
Update README.md
256d274 Fix Mac installation instruction per: https://github.com/commaai/panda/pull/308/files bfd8ff1 Update cppcheck commit with more coverage b143a1c Fixed Misra complaint 606f1d9 Fixed RTC on non-uno boards, second try. Cannot work when there is no xtal. 933c757 Fix RTC on non-uno boards (#311) 48d0d0c VW button spam: fix safety and add tests (#306) 6cccf96 Fan and IR at 0 when in power savings mode (#309) 0537328 board get_sdk scripts were left on python2 de18a7e bump version after uno merge 1965817 Changed default values for testing a12a148 Uno (#274) 7d29dc5 bump panda version. We really need a better way 4007532 VW: stricter limits to comply with comma safety policy e2e2be9 add safety mode to health packet 101238c turned on VW ignition based CAN logic a0d8d5d fix misra 5.3: check_ignition is intended as check_started and can't be used twice ea636de made check_ignition function to both look at ignition_line and ignition_can 1102e69 make ignition logic common for all cars (#303) 3a110c6 bump version after CMSIS core upgrade 55dfa52 Update core to CMSIS 5.6 release (#251) ee86490 fix linter 2 f410b11 fix linter 55957d6 proper python3 exception inheritance 6ba0f47 fix linter errors 5c49fe0 Merge pull request #145 from gregjhogan/uds 0f36199 timeout is float 396d6aa safety_replay only installs few extra requirements 25af7d3 Misra also need python 3 env 7434c5c centralize requirements for tests a0c37c7 coverage not needed in linter reqs fce38a9 Linter python (#299) 62e2f5c update cppcheck commit 711810d more uds debug 4454e3a better CAN comm abstraction 6b1f28f fix more encoding and some bytes cleanup (#300) 43adad3 fix WARNING_INDICATOR_REQUESTED name 9c857da 0x b64d6fa typing 768fdf7 bytes() > chr().encode() 1be15ea custom errors from thread 68da831 more python3 eb358e8 uds lib example 4f28858 updates for python3 932745f support tx flow control for chunked messages b1c3712 add timeout param cdf2f62 bug fixes b1a3195 fix rx message filtering bug 80fb6a6 convert uds lib to class 59cd2b4 handle separation time in microseconds 4429600 fix separation time parsing c641e66 fix typo 48b8dcc fix flow control delay scale 78f413d flow control delay 33a5167 bug fixes 8ee89a0 multi-frame tx 5e89a9c clear rx buffer and numeric error ids 9662300 fix remaining size calculation 01ef1fa zero pad messages before sending 1ddc973 uds can communication dca176e syntax errors 95be481 SERVICE_TYPE enum 98e73b5 more UDS message type implementation c1c5b03 uds lib 162f485 fix chr to bytes conversions (#298) 4972376 Update VW regression test to follow Comma safety index refactoring (#296) f9053f5 more Python 3 fixes, attempting to fix jenkins wifi regresison test (#295) 2f9e076 Panda safety code for Volkswagen, Audi, SEAT, and Škoda (#293) git-subtree-dir: panda git-subtree-split: 256d274
Unified Diagnostic Services (UDS) panda library (ISO 14229)
Fix upstream merge conflicts
* MADS: Toyota: gate LKAS button behind toggle * better title
Model S Support by:
Jean-Claude Thibault (Kalud)
and
Robert Cotran (zax123)
A huge thanks to them! The openpilot community is amazing.
Check out a video of it working on a pre AP Tesla:
https://www.youtube.com/watch?v=ro48vcN4VxY
Note: All new car support is extremely alpha. Unless you are ready to spend time tinkering and know how to safely experiment, please wait until this is merged into openpilot master and been audited for safety.