I would like to make a prototype autonomous car out of an off–the–shelf car (Toyota Yaris to be exact, but the instructions should be universal). One of the first steps is to get access to the on-board computer in order to control the throttle, brakes, gears, steering wheel and electronics (PCM, ECM, etc.). Are there any standard interfaces? What are the protocols used? Where are the endpoints? Do you know any guides or white papers on how to make an autonomous car?

The only basic information I found is the Wired article A System That Any Automaker Can Use to Build Self-Driving Cars and a Polish autonomous car based on Toyota Yaris.

  • 4
    If the car can't control all of those systems on its own, you certainly won't be able to. Does your Yaris have self parking, collision avoidance (auto braking), and adaptive cruise control? – JPhi1618 Jan 26 '16 at 17:16
  • 1
    Thanks for bringing a fascinating question to the table. This covers a great deal of ground. For the site, it's a really broad question. Maybe the way to approach this is to do more research, there's lots of it out there, and when you have specific questions, bring those to the table. And thanks for being part of this community! – cdunn Jan 26 '16 at 17:22
  • @JPhi1618 Definately. The car, at a minimum should have all of the collision avoidance attributes available on the market as a baseline. No point developing what has already been developed. – DucatiKiller Jan 26 '16 at 17:23
  • @cdunn I completely agree. I think a series of individual questions are best suited. One lump sum is a giant novel. – DucatiKiller Jan 26 '16 at 17:36
  • I'm an embedded software engineer and used to work for a company that did an autonomous vehicle for GM and their test track in the 90's. It was only sort of autonomous in that it followed a wire buried in the pavement, but the rest of it was driving with no one in the vehicle. My point here is that I am fascinated by the topic, and I'm sure I'm not the only one. Just have to make it into manageable chunks so it fits here. Please don't give up on this, keep it going. – cdunn Jan 26 '16 at 18:39

No car has every attribute to be fully autonomous out of the box.

Brakes: If a vehicle is equipped with dynamic stability control then software control of the brakes is possible. Dynamic stability control incorporates all the needed pieces to operate the brakes without driver input. The base software will not incorporate software brake control and will require hacking to incorporate the feature. If a vehicle does not have dynamic stability control it will need a third party system that can press the brake pedal.

Throttle: With the incorporation of throttle by wire the task has become far easier. There are provisions for accepting commands to control the throttle for diagnostic purposes. The latency can vary among systems. It may be necessary to hack the software to incorporate a direct bridge to the throttle commands. If the vehicle does not have throttle by wire it may be possible to use cruise control to substitute. Cruise controls operation at low speed and low throttle angle tends to be unstable and jittery. I would recommend installing a third party actuator.

Steering: If a vehicle has electric power steering then it may be possible to have software controlled steering. These systems measure the torque from the steering wheel and then apply the same torque but in the opposite direction for a net torque of zero. They incorporate a steering angle sensor. As with just about everything else hacking the software would be required. If the vehicle does not have electric power steering (hydro electric does not count) the a third party actuator would be required.

Shifter: Many cars now incorporate fully electronic transmission controls. These would be totally software controllable. Other transmissions have electronic control but still retain a physical shifter. The physical shifter incorporates a connection to the transmission to operate the parking paw. In this and all other cases a third party actuator would be required to operate the shifter.

  • Thanks for this in-depth answer. I know this is possible, the question remains - how to connect to these systems? Through CAN Bus? – niutech Jan 26 '16 at 22:57
  • 1
    @niutech Yes CAN Bus, but as my answer suggest custom software will be needed for just about everything and that will allow you to define your own software interface. – vini_i Jan 26 '16 at 23:05

Not the answer you're looking for? Browse other questions tagged or ask your own question.