JavaScript is currently disabled.Please enable it for a better experience of Jumi. Dödsolyckan i Tempe: Lidarn förvirrade självkörningsdatorn

Självkörningsdatorn klarade inte av att lägga upp en plan för att undvika att köra på Elaine Herzberg eftersom bilens radar och lidar ständigt ändrade sina besked om vad för typ av objekt hon var. Det var grundorsaken till att Ubers testbil körde på och dödade en kvinna i Tempe i Arizona i mars i fjol.

Den amerikanska haverimyndigheten NTSB (National Transportation Safety Board) har släppt en ny rapport om dödsolyckan där en kvinna vid namn Elaine Herzberg blev påkörd av en av Ubers testbilar för autonom körning, en ombyggd Volvo XC90.

Uber har sedermera bland annat i samarbete med Volvo konstruerat om sina system så att olyckan idag inte skulle ha inträffat. Det hävdar i alla fall Uber med hänvisning till simuleringar.

Dessutom kommer samma kritiska situation inte att kunna uppträda igen, eftersom Uber numera endast testkör i upp till 25 mph (40 km/h) och bilen körde i 45 mph (70 km/h) vid olyckan. Det är en av många säkerhetsförbättringar på olika nivåer som Uber vidtagit.

I den film vi tidigare sett av olyckan verkar det som om bilen helt och hållet ignorerar Elaine Herzberg. Den saktar inte ens ner när kollisionen är omedelbart förestående. Det är som om bilen inte ens sett henne.

Men det har den. I själva verket pågår en febril aktivitet i Ubers självkörningssystem. NTSB:s rapport berättar för varje bråkdels sekund vad lidar och radar rapporterade och vad självkörningsdatorn beslutade.

Både radar och lidar har i god tid – 5,6 sekunder innan kollisionen – rapporterat att det finns ett objekt på vägen. Vi vet att idag att objektet var Elaine Herzberg och en cykel lastad med kassar.

Lidarn kan inte bestämma sig för vad den ser. Den växlar fram och tillbaka med att kategorisera ekipaget som ”fordon”, ”övrigt” och ”cykel”.

Detta snabba växlande mellan olika bedömningar är den kritiska faktorn bakom olyckan.

Varje gång som lidarn ändrar uppfattning om vad det är som den ser, så gör självkörningsdatorn nämligen en nollställning. Så är programvaran skriven. Datorn agerar som om den gång på gång upptäcker ett helt nytt objekt på vägen.

Det betyder att detta objekt inte har någon historia – till exempel en tidigare position. Vilket betyder att datorn inte kan räkna ut hur objektet rört sig sedan den förra rapporten.

Därför märker inte datorn att Elaine Herzberg och hennes cykel rör sig över vägen.

Idag är programvaran ändrad. Datorn formulerar parallella hypoteser om vart objekt kan vara på väg baserat på antagandet att skilda klassificeringar egentligen handlat om samma objekt.

Men den gamla programvaran fortsatte att se objektet byta kategori och nollställde gång på gång dess historia.

Efter varje nollställning gör datorn olika initialantaganden. Exempelvis vanligen att ett ”fordon” följer sin fil, och att ett ”övrigt” är orörligt (”static”).

Också en ”fotgängare” som upptäcks utanför ett övergångsställe, klassas som orörlig. Det krävs flera identifieringar i rad med olika positioner innan datorn gör några antaganden om att en ”övrigt” eller en ”fotgängare” är på väg någonstans. Rapporten skriver:

However, certain object classifications—other—are not assigned goals. For such objects, their currently detected location is viewed as a static location; unless that location is directly on the path of the automated vehicle, that object is not considered as a possible obstacle. Additionally, pedestrians outside a vicinity of a crosswalk are also not assigned an explicit goal. However, they may be predicted a trajectory based on the observed velocities, when continually detected as a pedestrian

Det som datorn inväntar är en serie samstämmiga besked om vad objektet är. Då kan den räkna ut vart objektet är på väg. Detta gäller oavsett om det handlar om en ”cykel”, ”fotgängare”, ”fordon” eller ”övrigt”. Ingen av dessa är objekt som bilen är programmerad att det är okej att köra på.

Elaine Herzberg och hennes cykel klassades aldrig som ”fotgängare” – detta är känt redan sedan tidigare rapporter. Men det hade inte nödvändigtvis gjort skillnad. En bil kan inte bromsa varje gång den ser en fotgängare eller en cykel nära sin fil.**

Kategoriseringarna fortsatte olyckligtvis att växla. Vid 1,5 sekunder innan kollisionen klassades Elaine Herzberg med cykel som en ”övrigt”. Den här gången befann sig denna ”övrigt” i bilens väg, så datorn blev tvungen att planera en lätt undanmanöver.

Vid 1,2 sekunder kvar till kollisionen klassades objektet som en cykel. Dessutom konstaterade datorn att denna ”cykel” befann sig på en position där en lätt undanmanöver inte räckte och att det faktiskt krävdes en nödbromsning.

Tyvärr var datorn programmerad att i detta läge ge sig själv en extra betänketid på en sekund istället för att skrida till handling.

Extra betänketid när det återstår 1,2 sekunder till kollision? Jo, så absurd var faktiskt programmeringen.

Det finns en bakomliggande orsak. Uber ville undvika att ständigt bromsa för falsklarm. Uber utvecklar en taxi som ska frakta människor. Falska indikationer var vanliga och att reagera på alla dessa skulle göra resan obekväm.

Ansvaret för säkerheten överläts istället till den ensamma säkerhetsföraren. Ubers plan var att hon ständigt skulle hålla ögonen på vägen och direkt ingripa och avstyra farliga situationer, som denna. I väntan på att självkörningssystemet skulle mogna var säkerhetsföraren en kritisk säkerhetskomponent.

Hon hade gått en flera veckor lång utbildning för jobbet. Hon var tydligt instruerad att inte använda mobilen när hon jobbade. I garaget satt stora affischer som påminnelse. Likväl använde hon ändå sin mobil. Hon tittade på ett teveprogram. Då och då tittade hon upp från skärmen. Tyvärr missade hon Elaine Herzberg.

När betänketiden var till ända var det bara 200 millisekunder kvar till kollisionen. Självkörningsdatorn insåg att den inte längre kunde avstyra kollisionen. Så den gjorde – ingenting. Ja, ytterligare ett absurt villkor i koden.

Idag är systemet omkonstruerat. Bilen nödbromsar även om det är ”försent”. Dessutom hoppar den över betänketiden. Omkonstruktionen har efteråt inte lett till ett enda falsklarm.

Det omkonstruerade systemet skulle alltså i slutskedet ha gett Elaine Herzberg mer tid att komma över vägen. Alternativt hade det åtminstone gjort krockvåldet mindre och hon kunde ha klarat sig levande ur händelsen.

Med hänsyn taget även till andra systemändringar skulle datorn i själva verket vidtagit åtgärder ett antal sekunder tidigare och Elaine Herzberg skulle definitivt ha klarat sig, enligt Uber.

Idag skulle Elaine Herzberg dessutom kunna räddas av Volvos säkerhetssystem. En Volvo XC90, Ubers testfordon, har Auto Emergency Breaking och Forward Collision Detection som ska kunna undvika att köra på fotgängare.

Om de systemen skulle ha reagerat på Elaine Herzberg den kvällen? Det vet vi inte.* Men numera är de i alla fall påslagna ibland. Det var de inte tidigare under automatisk körning. Uber hade sitt eget nödsystem, som beskrivs ovan, och det var det som Uber vill utveckla. Volvos system var avstängda för att inte störa.

Numera har Ubers och Volvos programmerare träffat varandra och sytt ihop sina nödsystem – bland annat krävdes en anpassning av radarn – och gett dem olika prioriteter för olika situationer om de ger motstridiga kommandon.

Den 19 november kommer NTSB att kommentera sin rapport och offciellt fastställa vad som orsakade olyckan.


FOTNOT
* Thatcham Research testade hur Volvos säkerhetssystem skulle ha reagerat och fann att det skulle ha varnat föraren och bromsat bilen från 60 km/h till 37 km/h fram till kollisionen (tillagt den 9 november 2019).

** När Elaine Hertzberg klassades som ”cykel” och ”fordon” antog datorn preliminärt att hon skulle stanna i sin fil och inte korsa vägen. Numera kan datorn göra grundantagandet att objekt påträffade utanför övergångsställen är på väg att korsa vägen. Det finns till och med en ny klass för syftet – ”jaywalker” (tillagt 12 november 2019).

Prenumerera på Elektroniktidningens nyhetsbrev eller på vårt magasin.


MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Rainer Raitasuo

Rainer
Raitasuo

+46(0)734-171099 rainer@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)