add notebook back

pull/31124/head
Cameron Clough 1 year ago
parent 31b53aba05
commit 7243262016
  1. 201
      selfdrive/car/ford/tests/ford_fuzzy_fingerprint.ipynb

@ -30,7 +30,7 @@
{ {
"data": { "data": {
"application/vnd.jupyter.widget-view+json": { "application/vnd.jupyter.widget-view+json": {
"model_id": "9ddb0675cd4a4f46a23b608252324ed4", "model_id": "b0f15fd6447f48748524dbd26507cccf",
"version_major": 2, "version_major": 2,
"version_minor": 0 "version_minor": 0
}, },
@ -63,107 +63,30 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 3, "execution_count": 5,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
"name": "stdout", "name": "stdout",
"output_type": "stream", "output_type": "stream",
"text": [ "text": [
"vin: 3FTTW8E3XPRXXXXXX expected: FORD MAVERICK 1ST GEN fuzzy: mock correct: False\n", "Ignoring mismatch for vin: 3FTTW8E3XPRXXXXXX platform: FORD MAVERICK 1ST GEN, no radar\n",
" source: fw\n",
" fuzzy: True\n",
" car_fw:\n",
" abs b'PZ6C-2D053-ED'\n",
" engine b'PZ6A-14C204-JE'\n",
" eps b'NZ6C-14D003-AL'\n",
" fwdCamera b'NZ6T-14F397-AC'\n",
"vin: 3FTTW8E3XPRXXXXXX expected: FORD MAVERICK 1ST GEN fuzzy: mock correct: False\n",
" source: fw\n",
" fuzzy: True\n",
" car_fw:\n",
" abs b'PZ6C-2D053-ED'\n",
" engine b'PZ6A-14C204-JE'\n",
" eps b'NZ6C-14D003-AL'\n",
" fwdCamera b'NZ6T-14F397-AC'\n",
"Skipping vin: 00000000000XXXXXX platform: FORD F-150 14TH GEN, no car fw\n", "Skipping vin: 00000000000XXXXXX platform: FORD F-150 14TH GEN, no car fw\n",
"Ignoring mismatch for vin: 3FTTW8E3XPRXXXXXX platform: FORD MAVERICK 1ST GEN, no radar\n",
"Ignoring mismatch for vin: 3FTTW8E3XPRXXXXXX platform: FORD MAVERICK 1ST GEN, no radar\n",
"Ignoring mismatch for vin: 3FTTW8E3XPRXXXXXX platform: FORD MAVERICK 1ST GEN, no radar\n",
"Ignoring mismatch for vin: 3FTTW8E3XPRXXXXXX platform: FORD MAVERICK 1ST GEN, no radar\n",
"Ignoring mismatch for vin: 3FTTW8E3XPRXXXXXX platform: FORD MAVERICK 1ST GEN, no radar\n",
"Ignoring mismatch for vin: 3FTTW8E3XPRXXXXXX platform: FORD MAVERICK 1ST GEN, no radar\n",
"Skipping vin: 00000000000XXXXXX platform: FORD F-150 14TH GEN, no car fw\n", "Skipping vin: 00000000000XXXXXX platform: FORD F-150 14TH GEN, no car fw\n",
"vin: 3FTTW8E3XPRXXXXXX expected: FORD MAVERICK 1ST GEN fuzzy: mock correct: False\n", "Ignoring mismatch for vin: 3FTTW8E3XPRXXXXXX platform: FORD MAVERICK 1ST GEN, no radar\n",
" source: fw\n", "Ignoring mismatch for vin: 3FTTW8E3XPRXXXXXX platform: FORD MAVERICK 1ST GEN, no radar\n",
" fuzzy: True\n",
" car_fw:\n",
" abs b'PZ6C-2D053-ED'\n",
" engine b'PZ6A-14C204-JE'\n",
" eps b'NZ6C-14D003-AL'\n",
" fwdCamera b'NZ6T-14F397-AC'\n",
"vin: 3FTTW8E3XPRXXXXXX expected: FORD MAVERICK 1ST GEN fuzzy: mock correct: False\n",
" source: fw\n",
" fuzzy: True\n",
" car_fw:\n",
" abs b'PZ6C-2D053-ED'\n",
" engine b'PZ6A-14C204-JE'\n",
" eps b'NZ6C-14D003-AL'\n",
" fwdCamera b'NZ6T-14F397-AC'\n",
"vin: 3FTTW8E3XPRXXXXXX expected: FORD MAVERICK 1ST GEN fuzzy: mock correct: False\n",
" source: fw\n",
" fuzzy: True\n",
" car_fw:\n",
" abs b'PZ6C-2D053-ED'\n",
" engine b'PZ6A-14C204-JE'\n",
" eps b'NZ6C-14D003-AL'\n",
" fwdCamera b'NZ6T-14F397-AC'\n",
"Skipping vin: 00000000000XXXXXX platform: FORD F-150 14TH GEN, no car fw\n", "Skipping vin: 00000000000XXXXXX platform: FORD F-150 14TH GEN, no car fw\n",
"vin: 3FTTW8E3XPRXXXXXX expected: FORD MAVERICK 1ST GEN fuzzy: mock correct: False\n",
" source: fw\n",
" fuzzy: True\n",
" car_fw:\n",
" abs b'PZ6C-2D053-ED'\n",
" engine b'PZ6A-14C204-JE'\n",
" eps b'NZ6C-14D003-AL'\n",
" fwdCamera b'NZ6T-14F397-AC'\n",
"vin: 3FTTW8E3XPRXXXXXX expected: FORD MAVERICK 1ST GEN fuzzy: mock correct: False\n",
" source: fw\n",
" fuzzy: True\n",
" car_fw:\n",
" abs b'PZ6C-2D053-ED'\n",
" engine b'PZ6A-14C204-JE'\n",
" eps b'NZ6C-14D003-AL'\n",
" fwdCamera b'NZ6T-14F397-AC'\n",
"vin: 3FTTW8E3XPRXXXXXX expected: FORD MAVERICK 1ST GEN fuzzy: mock correct: False\n",
" source: fw\n",
" fuzzy: True\n",
" car_fw:\n",
" abs b'PZ6C-2D053-ED'\n",
" engine b'PZ6A-14C204-JE'\n",
" eps b'NZ6C-14D003-AL'\n",
" fwdCamera b'NZ6T-14F397-AC'\n",
"Skipping vin: 00000000000XXXXXX platform: FORD F-150 14TH GEN, no car fw\n", "Skipping vin: 00000000000XXXXXX platform: FORD F-150 14TH GEN, no car fw\n",
"Skipping vin: 00000000000XXXXXX platform: FORD F-150 14TH GEN, no car fw\n", "Skipping vin: 00000000000XXXXXX platform: FORD F-150 14TH GEN, no car fw\n",
"vin: 3FTTW8E3XPRXXXXXX expected: FORD MAVERICK 1ST GEN fuzzy: mock correct: False\n", "Ignoring mismatch for vin: 3FTTW8E3XPRXXXXXX platform: FORD MAVERICK 1ST GEN, no radar\n",
" source: fw\n", "Ignoring mismatch for vin: 3FTTW8E3XPRXXXXXX platform: FORD MAVERICK 1ST GEN, no radar\n",
" fuzzy: True\n", "Success rate: 100.00%\n"
" car_fw:\n",
" abs b'PZ6C-2D053-ED'\n",
" engine b'PZ6A-14C204-JE'\n",
" eps b'NZ6C-14D003-AL'\n",
" fwdCamera b'NZ6T-14F397-AC'\n",
"vin: 3FTTW8E3XPRXXXXXX expected: FORD MAVERICK 1ST GEN fuzzy: mock correct: False\n",
" source: fw\n",
" fuzzy: True\n",
" car_fw:\n",
" abs b'PZ6C-2D053-ED'\n",
" engine b'PZ6A-14C204-JE'\n",
" eps b'NZ6C-14D003-AL'\n",
" fwdCamera b'NZ6T-14F397-AC'\n",
"vin: 3FTTW8E3XPRXXXXXX expected: FORD MAVERICK 1ST GEN fuzzy: mock correct: False\n",
" source: fw\n",
" fuzzy: True\n",
" car_fw:\n",
" abs b'PZ6C-2D053-ED'\n",
" engine b'PZ6A-14C204-JE'\n",
" eps b'NZ6C-14D003-AL'\n",
" fwdCamera b'NZ6T-14F397-AC'\n",
"Success rate: 95.70%\n"
] ]
}, },
{ {
@ -204,97 +127,85 @@
" <tr>\n", " <tr>\n",
" <th>1</th>\n", " <th>1</th>\n",
" <td>fw</td>\n", " <td>fw</td>\n",
" <td>FORD ESCAPE 4TH GEN</td>\n", " <td>FORD FOCUS 4TH GEN</td>\n",
" <td>FORD ESCAPE 4TH GEN</td>\n", " <td>FORD FOCUS 4TH GEN</td>\n",
" <td>True</td>\n", " <td>True</td>\n",
" </tr>\n", " </tr>\n",
" <tr>\n", " <tr>\n",
" <th>5</th>\n", " <th>2</th>\n",
" <td>fixed</td>\n", " <td>fw</td>\n",
" <td>FORD EXPLORER 6TH GEN</td>\n", " <td>FORD MAVERICK 1ST GEN</td>\n",
" <td>FORD EXPLORER 6TH GEN</td>\n", " <td>FORD MAVERICK 1ST GEN</td>\n",
" <td>True</td>\n", " <td>True</td>\n",
" </tr>\n", " </tr>\n",
" <tr>\n", " <tr>\n",
" <th>8</th>\n", " <th>3</th>\n",
" <td>fw</td>\n", " <td>fw</td>\n",
" <td>FORD EXPLORER 6TH GEN</td>\n", " <td>FORD EXPLORER 6TH GEN</td>\n",
" <td>FORD EXPLORER 6TH GEN</td>\n", " <td>FORD EXPLORER 6TH GEN</td>\n",
" <td>True</td>\n", " <td>True</td>\n",
" </tr>\n", " </tr>\n",
" <tr>\n", " <tr>\n",
" <th>11</th>\n", " <th>4</th>\n",
" <td>fw</td>\n", " <td>fixed</td>\n",
" <td>FORD MAVERICK 1ST GEN</td>\n", " <td>FORD MAVERICK 1ST GEN</td>\n",
" <td>FORD MAVERICK 1ST GEN</td>\n", " <td>FORD MAVERICK 1ST GEN</td>\n",
" <td>True</td>\n", " <td>True</td>\n",
" </tr>\n", " </tr>\n",
" <tr>\n", " <tr>\n",
" <th>12</th>\n", " <th>8</th>\n",
" <td>fw</td>\n",
" <td>FORD MAVERICK 1ST GEN</td>\n",
" <td>mock</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>fw</td>\n", " <td>fw</td>\n",
" <td>FORD FOCUS 4TH GEN</td>\n", " <td>FORD ESCAPE 4TH GEN</td>\n",
" <td>FORD FOCUS 4TH GEN</td>\n", " <td>FORD ESCAPE 4TH GEN</td>\n",
" <td>True</td>\n", " <td>True</td>\n",
" </tr>\n", " </tr>\n",
" <tr>\n", " <tr>\n",
" <th>103</th>\n", " <th>18</th>\n",
" <td>fixed</td>\n", " <td>fw</td>\n",
" <td>FORD MAVERICK 1ST GEN</td>\n",
" <td>FORD MAVERICK 1ST GEN</td>\n", " <td>FORD MAVERICK 1ST GEN</td>\n",
" <td>mock</td>\n",
" <td>True</td>\n", " <td>True</td>\n",
" </tr>\n", " </tr>\n",
" <tr>\n", " <tr>\n",
" <th>119</th>\n", " <th>27</th>\n",
" <td>fw</td>\n", " <td>fw</td>\n",
" <td>FORD F-150 LIGHTNING 1ST GEN</td>\n", " <td>FORD F-150 LIGHTNING 1ST GEN</td>\n",
" <td>FORD F-150 LIGHTNING 1ST GEN</td>\n", " <td>FORD F-150 LIGHTNING 1ST GEN</td>\n",
" <td>True</td>\n", " <td>True</td>\n",
" </tr>\n", " </tr>\n",
" <tr>\n", " <tr>\n",
" <th>149</th>\n", " <th>70</th>\n",
" <td>fw</td>\n", " <td>fw</td>\n",
" <td>FORD MUSTANG MACH-E 1ST GEN</td>\n", " <td>FORD MUSTANG MACH-E 1ST GEN</td>\n",
" <td>FORD MUSTANG MACH-E 1ST GEN</td>\n", " <td>FORD MUSTANG MACH-E 1ST GEN</td>\n",
" <td>True</td>\n", " <td>True</td>\n",
" </tr>\n", " </tr>\n",
" <tr>\n",
" <th>71</th>\n",
" <td>fixed</td>\n",
" <td>FORD EXPLORER 6TH GEN</td>\n",
" <td>FORD EXPLORER 6TH GEN</td>\n",
" <td>True</td>\n",
" </tr>\n",
" </tbody>\n", " </tbody>\n",
"</table>\n", "</table>\n",
"</div>" "</div>"
], ],
"text/plain": [ "text/plain": [
" source expected fuzzy \\\n", " source expected fuzzy correct\n",
"0 fw FORD BRONCO SPORT 1ST GEN FORD BRONCO SPORT 1ST GEN \n", "0 fw FORD BRONCO SPORT 1ST GEN FORD BRONCO SPORT 1ST GEN True\n",
"1 fw FORD ESCAPE 4TH GEN FORD ESCAPE 4TH GEN \n", "1 fw FORD FOCUS 4TH GEN FORD FOCUS 4TH GEN True\n",
"5 fixed FORD EXPLORER 6TH GEN FORD EXPLORER 6TH GEN \n", "2 fw FORD MAVERICK 1ST GEN FORD MAVERICK 1ST GEN True\n",
"8 fw FORD EXPLORER 6TH GEN FORD EXPLORER 6TH GEN \n", "3 fw FORD EXPLORER 6TH GEN FORD EXPLORER 6TH GEN True\n",
"11 fw FORD MAVERICK 1ST GEN FORD MAVERICK 1ST GEN \n", "4 fixed FORD MAVERICK 1ST GEN FORD MAVERICK 1ST GEN True\n",
"12 fw FORD MAVERICK 1ST GEN mock \n", "8 fw FORD ESCAPE 4TH GEN FORD ESCAPE 4TH GEN True\n",
"17 fw FORD FOCUS 4TH GEN FORD FOCUS 4TH GEN \n", "18 fw FORD MAVERICK 1ST GEN mock True\n",
"103 fixed FORD MAVERICK 1ST GEN FORD MAVERICK 1ST GEN \n", "27 fw FORD F-150 LIGHTNING 1ST GEN FORD F-150 LIGHTNING 1ST GEN True\n",
"119 fw FORD F-150 LIGHTNING 1ST GEN FORD F-150 LIGHTNING 1ST GEN \n", "70 fw FORD MUSTANG MACH-E 1ST GEN FORD MUSTANG MACH-E 1ST GEN True\n",
"149 fw FORD MUSTANG MACH-E 1ST GEN FORD MUSTANG MACH-E 1ST GEN \n", "71 fixed FORD EXPLORER 6TH GEN FORD EXPLORER 6TH GEN True"
"\n",
" correct \n",
"0 True \n",
"1 True \n",
"5 True \n",
"8 True \n",
"11 True \n",
"12 False \n",
"17 True \n",
"103 True \n",
"119 True \n",
"149 True "
] ]
}, },
"execution_count": 3, "execution_count": 5,
"metadata": {}, "metadata": {},
"output_type": "execute_result" "output_type": "execute_result"
} }
@ -323,6 +234,18 @@
" fuzzy_fingerprint = list(fuzzy_fingerprint)[0]\n", " fuzzy_fingerprint = list(fuzzy_fingerprint)[0]\n",
"\n", "\n",
" correct = fuzzy_fingerprint == expected_platform\n", " correct = fuzzy_fingerprint == expected_platform\n",
"\n",
" if not correct and fuzzy_fingerprint == \"mock\":\n",
" found_radar = False\n",
" for fw in car_fw:\n",
" if fw.ecu == 0x764:\n",
" found_radar = True\n",
" break\n",
" # If the radar is missing, it should not match\n",
" if not found_radar:\n",
" print(f\"Ignoring mismatch for vin: {vin} platform: {expected_platform}, no radar\")\n",
" correct = True\n",
"\n",
" rows.append((source, expected_platform, fuzzy_fingerprint, correct))\n", " rows.append((source, expected_platform, fuzzy_fingerprint, correct))\n",
" if not correct:\n", " if not correct:\n",
" print(f\"vin: {vin} expected: {expected_platform: <30} fuzzy: {fuzzy_fingerprint: <30} correct: {correct}\")\n", " print(f\"vin: {vin} expected: {expected_platform: <30} fuzzy: {fuzzy_fingerprint: <30} correct: {correct}\")\n",

Loading…
Cancel
Save