The Openpilot Community needs your help to continue to keep opc.ai's lights on and support the path to Workbench v0.2. With only a one person crew and without commercial funding it's not always financially feasible to fund these services out of pocket. Please consider becoming a Patreon supporter of the Openpilot Community project and receive exclusive perks and benefits!
Become a patreon Learn more Maybe Later
2018 Camry Hybrid Longitudinal Control with openpilot
The 2018 Camry Hybrid incorporates some functions of the DSU in the radar unit. CAN0 of these radars is also directly connected to the PCM since pre-collision and ACC are directly handled by the Continental unit. This makes long control with openpilot difficult, since message 343 (the command to accelerate / decelerate ACC) is on CAN0.
To remedy this, I built a cable that would detach CAN0 of the radar from the car, and attach it to CAN2 of the Panda. With modified Panda firmware, we can forward all messages from CAN2 to CAN0 while preventing some (343, 2e4, and 412) from making it to CAN0. This will allow OP to send its own accel, lkas, and hud messages to the car, while allowing the car to “think” the radar and FRC are still plugged in.
For now, I am using the mock radar in radard.py just to prove that control can be achieved. With a proper ADAS DBC outlining the tracks from the radar, better control of the car will be possible.
My giraffe has a few modifications that are needed to make this work.
To start, a 120 ohm resistor is placed between pins 12 and 13 of the OBD2 connector. These go to CAN2 on the panda and need to be terminated in order to resolve errors on the car’s dash.
Additionally, another RJ45 is wired to the giraffe to connect to CAN2 externally. For this, I use the blue twisted pair (blue on pin 12 and bluewhite on 13). The green pair is used for CAN1 (green on pin 3 and greenwhite on pin 11). The orange pair is used for 12V power to the radar (orange for +12V and orangewhite for ground).
Please excuse my crusty soldering..
The wiring at the RJ45 connector is as follows:
The Radar Cable
The cable I made connects the radar to the giraffe via Cat6e cabling, using the B standard at the RJ45 side (Ow-O-Gw-B-Bw-G-BRw-B). The other connector is a Sumitomo 8-way TS 025 Connector (Toyota PN 90980-12520) and is available to purchase here:
The pinout for the Cat6e to Radar connector is as follows: