1

I want to turn steering wheel my 2017 Honda Civic LX (without Honda Sensing) by sending commands via CAN bus (OBD ii port), My car has Electronic power steering. I am doing this because I need to some experiments with self-driving software which will send steering angle as the output.

I will use panda OBD dongle from comma.ai for this purpose. I have seen peoples doing this in vehicles with Honda sensing. Just want to know if it is possible in my vehicle.

  • I doubt it, it seems the sensing package includes the lane keep assist feature which is what you would need. If yours does than you probably can. – Ben Sep 12 '17 at 22:01
4

No not directly through the OBDII port. There is no way of sending steering activations through OBD even with dealer level diagnostic equipment. Imagine the safety implications if this was possible.

Even if you accessed the steering CAN bus directly I doubt there is any data that you could send to activate the steering.

In the systems I've worked with, (Scania, Landrover, Volvo, Toyota) the steering control system is self contained so the H-Bridge motor controller and processing unit including the steering angle sensor input is in one ECU, therefor you cannot send it any false information. The only information that is sent through CAN bus is engine speed, vehicle speed, duplicated steering angle, and hundreds of other bits of data from other sensors. Anything safety critical will normally be send over Flex-ray with multiple areas of redundancy.

There are really only three ways to take control of the steering:

1: Emulate the steering angle sensor. This is harder than it sounds as it requires intercepting the output of the steering angle sensor, some pretty fast inputs and outputs. Could be some serious safety issues by doing this so I wouldn't do it.

2: Hack into the H-bridge inputs directly. I have done this many times and is probably the safest and easiest if you have basic electronic and software skills. Just take apart the EPS ECU and find the inputs from the MCU to the H-Bridge, these will most likely be 3.3 or 5v. Just power these from something like a Arduino or a custom board, you could add some extra safety features by monitoring the CAN bus for inputs from the driver etc. You will have to find a way to stop your system fighting the new controller, what I do is to cut the PCB traces from the MCU to the H-bridge and connect the MCU outputs to inputs on my controller and connect the H-bridge inputs to outputs on my controller.

3: Inject some custom code into the EPS MCU. Without doubt the best and safest solution if you have extensive software and reverse engineering knowledge. Just inject some code to activate the steering when certain messages are on the CAN bus. The benefit of this is you are not bypassing any safety features and as the code is embedded the car doesn't think there is anything wrong. The only problem I can see with this is timing as you obviously need an extremely high refresh/response rate when it comes to steering.

0

Not sure about the Civic, but using openpilot from comma.ai, friend in Taiwan was able to get L2 on his prius w/o LKAS function (no camera module on his car at all).

  • Welcome to the site. Please don't ask questions in answers. Rather, you should use the Ask Question option to start a separate Q&A if there isn't already a Q&A on the topic. – Zaid Jun 12 at 8:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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