openpilot icon indicating copy to clipboard operation
openpilot copied to clipboard

Add 2021-22 Honda Odyssey

Open csouers opened this issue 3 years ago • 21 comments
trafficstars

Honda Odyssey switched to Bosch hardware with the radar limiting steering to the factory LKAS operating style. It looks like the Acura RDX did too for 2022 but I've only seen one vehicle of this year.

Odyssey is capable of steering down to nearly 0mph with the radar bypassed. As for the RDX, this hasn't been tested.

Checklist

  • [x] added entry to CarInfo in selfdrive/car/*/values.py and ran selfdrive/car/docs.py to generate new docs
  • [ ] test route added to routes.py
  • [ ] route with openpilot: wip
  • [ ] route with stock system: wip
  • [ ] check and alert if the output of the forwarded steering torque message is different to what we've requested. Honda Bosch radar apply minor rate and/or jerk limiting to the torque requests so allow for a bit of mismatch. Look into making this generic across all makes too.
  • [ ] Verify with certainty that the Imperial Unit signal in ACC_HUD is set as expected on Honda Bosch. Initial findings, and chats with @vanillagorillaa, show that this is the case. It's included in this PR as I've seen Odyssey 21+ with both set speed units.
  • [ ] Is steering consistent with the Nidec Odyssey? I haven't heard any complaints with using it's torque tune on this variant.

csouers avatar Aug 16 '22 06:08 csouers

Sorry for the delay, @adeebshihadeh. It turned out this was less ready to submit than I had remembered! Hopefully all of this is a good starting point.

csouers avatar Aug 16 '22 06:08 csouers

Sorry for the delay, @adeebshihadeh. It turned out this was less ready to submit than I had remembered! Hopefully all of this is a good starting point.

Thanks for opening!

@sshane let's get this in 0.8.16

adeebshihadeh avatar Aug 16 '22 20:08 adeebshihadeh

@csouers Let's make the RDX a different PR, as well as new platform.

sshane avatar Aug 18 '22 05:08 sshane

@csouers Just trying to understand the state of the port:

  • The check you added checks that a signal from the EPS indicates that it's actively applying your request, right? What does this check exactly that we can't check from the STEER_STATUS signal?

  • check and alert if the output of the forwarded steering torque message is different to what we've requested. Honda Bosch radar apply minor rate and/or jerk limiting to the torque requests so allow for a bit of mismatch. Look into making this generic across all makes too.

    What torque signal is this, and does the radar stop us from sending messages below ~36 mph by setting that STEER_CONTROL_ACTIVE bit above, or overriding the requested torque? Or both?

A stock and openpilot route would be helpful too. Thanks!

sshane avatar Aug 18 '22 06:08 sshane

@csouers Let's make the RDX a different PR, as well as new platform.

Done. https://github.com/csouers/openpilot/tree/rdx22

csouers avatar Aug 18 '22 19:08 csouers

@csouers Just trying to understand the state of the port:

  • The check you added checks that a signal from the EPS indicates that it's actively applying your request, right? What does this check exactly that we can't check from the STEER_STATUS signal?

  • check and alert if the output of the forwarded steering torque message is different to what we've requested. Honda Bosch radar apply minor rate and/or jerk limiting to the torque requests so allow for a bit of mismatch. Look into making this generic across all makes too.

    What torque signal is this, and does the radar stop us from sending messages below ~36 mph by setting that STEER_CONTROL_ACTIVE bit above, or overriding the requested torque? Or both?

A stock and openpilot route would be helpful too. Thanks!

The radar ignores all steering requests when steering control is generally unavailable (car speed is below ~36mph, car speed hasn't yet exceeded the enable speed of ~46mph, the active windshield wiper mode is unacceptable, etc). During this mode of operation, it sends an inactive STEERING_CONTROL frame to the EPS. As such, the EPS will be idle and 'STEER_STATUS' won't show anything of value. I've seen the LOW_SPEED_LOCKOUT steer status a few times, but there's not much point in looking at that because it's irrelevant 99% of the time. I also haven't seen any feedback from the radar indicating that it is not accepting steering requests. The only way that I've come up with to know if we can steer is to set the STEER_TORQUE_REQUEST bit on STEERING_CONTROL and look for it to go high when the radar starts sending it to the EPS. Then, we clear the steerTemporarilyUnavailableSilent alert which will set lateral control active (latActive) in OP, which starts the pid/torque controller.

I'm still waiting for a reply on the routes.

csouers avatar Aug 18 '22 20:08 csouers

@sshane you should be able to push to this branch now

csouers avatar Aug 19 '22 21:08 csouers

@sshane I brought over the changes from your temporary branch.

csouers avatar Aug 19 '22 22:08 csouers

here are the test routes: stock: c443ca9eee127f66|2022-08-22--19-10-22 op: c443ca9eee127f66|2022-08-22--19-25-29

@sshane Could you please save the stock route to the CI route bucket?

csouers avatar Aug 24 '22 16:08 csouers

Both routes are now in the CI bucket.

adeebshihadeh avatar Aug 24 '22 18:08 adeebshihadeh

Can you also add 2023 Honda Odyssey and which harness do I need for this vehicle?

ShamGod100 avatar Apr 23 '23 01:04 ShamGod100

Can you also add 2023 Honda Odyssey and which harness do I need for this vehicle?

DM'd you on Discord.

csouers avatar Apr 24 '23 23:04 csouers

My disord ID is

Shams#4982

ShamGod100 avatar Apr 24 '23 23:04 ShamGod100

@csouers is there a functional fork currently available for the 2022 Odyssey? Even if it wouldn’t steer below 45 mph? (Or is there already one that can steer down to zero?) Thanks! (you can DM me at yisig#0347 if this is not the right forum for this. Thanks!)

yisroel1 avatar May 11 '23 18:05 yisroel1

@csouers is there a functional fork currently available for the 2022 Odyssey? Even if it wouldn’t steer below 45 mph? (Or is there already one that can steer down to zero?) Thanks! (you can DM me at yisig#0347 if this is not the right forum for this. Thanks!)

Hi, yes there is. Here are the installer links. The comma three branch is outdated, but functional. For comma two: https://installer.comma.ai/csouers/odyssey For comma three: https://installer.comma.ai/csouers/odyssey_c3

csouers avatar May 11 '23 18:05 csouers

@csouers any updates on this port?

sshane avatar Aug 17 '23 03:08 sshane

This PR has had no activity for 30 days. It will be automatically closed in 7 days if there is no activity.

github-actions[bot] avatar Dec 10 '23 01:12 github-actions[bot]

This PR has been automatically closed due to inactivity. Feel free to re-open once activity resumes.

github-actions[bot] avatar Dec 17 '23 01:12 github-actions[bot]

moving this to back to draft for the moment while PR changes are being split up and re-worked

csouers avatar Feb 23 '24 04:02 csouers

@csouers, any update on this PR? More importantly, is there anything a programmer new to this type of programming can do to help you out?

bjb28 avatar Mar 19 '24 00:03 bjb28

@csouers, any update on this PR? More importantly, is there anything a programmer new to this type of programming can do to help you out?

I'm splitting up the changes for this car into a few different PRs. One of those is up now which cleans up the minSteerSpeed params for Honda. #31552.

This PR will get refactored down the line and will be much smaller.

csouers avatar Mar 21 '24 20:03 csouers