Skip to content

Preparing For First Drive

MankaranSingh edited this page May 24, 2023 · 3 revisions

There are certain minor things that need to be taken care of to get flowpilot properly working.

Fingerprinting

flowpilot/openpilot when connected to a car will scan it's incoming CAN messages to determine what car is it connected to. If this step fails, flowpilot will remain in Dashcam Mode throwing a Car Unrecognised warning on the gui. It also looks for car VIN which is done via car's OBD port and requires comma power (optional) to be connected for it to work otherwise fingerprinting process can get stuck.

Hardcoding Fingerprint

In case flowpilot fails to recognise your car, hardcode the fingerprint in launch_flowpilot.sh and relaunch flowpilot. Your car's fingerprint can be found in selfdrive/car/<car brand>/values.py. For example, if your car is volswagen jetta, go to selfdrive/car/vw/values.py and look for your car fingerprint name. we see JETTA_MK7 = "VOLKSWAGEN JETTA 7TH GEN". The value on the right is your car's fingerprint VOLKSWAGEN JETTA 7TH GEN.

Once you get your car fingerprint, open launch_flowpilot.sh and replace this line:

#export FINGERPRINT="HONDA CIVIC 2016" -> export FINGERPRINT="VOLKSWAGEN JETTA 7TH GEN". Dont forget to remove the # to un-comment the line. Be aware that, if your fingerprint has a typo, flowpilot will not work. SO double check everything.

Getting out of Dashcam Mode.

By default flowpilot is in read-only state and cannot control your car. it can still give you alerts and warnings like Lane Departure Warnings, etc.

To allow flowpilot to take control of your car, go to Settings -> toggles and turn on the Enable FLowpilot toggle and restart the app (important).

Calibrations

Flowpilot needs to do certain calibration to drive your car. There are 2 calibrations that are needed to be done:

  • Intrinsic calibration: This calibration analyses your camera's parameters like field of view, distortion, etc. This requires you to capture the chessboard from different orientations. Move your phone slowly while doing this calibratoin.

  • Extrinsic calibration: While its recommended to put phone in centre of the windshield fully perpendicular to ground, there can be errors in mounted orientation. These are estimated and corrected by this calibration which is done during first ride.

If the calibrations are correct, the lane lines should match the actual lines in the video/camera stream.

Good Calibration:

image

Bad Calibration:

image

Do not expect the drivnig performance to be good at all if calibration is off. If the calibration is off for some reason, you can go to settings -> reset intrinsic /extrinsic calibrations to re calibrate.