Viktiga utmaningar med autonom körning

Tekniken för ”autonom körning” bygger på specifika funktioner för förarstöd som adaptiva farthållare eller kollisionsundvikande system, tillfälligt övervakad automatstyrning, till helt självkörande fordon som klarar att genomföra resor från början till slut utan något mänskligt ingripande. Willard Tu från Xilinx fordonsgrupp tittar här på utmaningarna.


De fem nivåerna av autonomi (fig 1) som definierats av American Society of Automotive Engineers (SAE) hjälper till att visualisera hur maskiner i allt större utsträckning medverkar till att framföra dagens och – kanske ännu viktigare – framtidens fordon.


Fig 1. SAE:s nivåer av fordons autonomi, definierade av amerikanska SAE (klicka för större bild).

Det är tydligt att varje steg av dessa olika nivåer kräver en allt mer exakt situationsmedvetenhet. Uppgifter som igenkänning av föremål, rumslig medvetenhet och positionering är grundläggande mänskliga färdigheter och utmaningen i att replikera dessa i en maskin har helt nyligen börjat tacklas tack vare utvecklingen för kretsbearbetning enligt Moores lag jämfört mot kostnader och strömförbrukning.

Men med tanke på de framsteg som har skett är den högsta nivån av helt självkörande fordon faktiskt inom räckhåll. Några högprofilsprojekt, som Googles självkörande bilar, har redan uppnått över en miljon kilometer av helt autonom körning, med endast en handfull noterade olycksfall.

En ökad trafiksäkerhet talar till fördel för självkörande fordon. Eftersom över 80 % av alla trafikolyckor orsakas av den mänskliga faktorn, skulle man potentiellt kunna minska antalet olyckor genom att ta bort mänskligt beslutsfattande. Utmaningen ligger i att eliminera den mänskliga faktorn, utan att introducera oacceptabla nivåer av maskinfel. Toleransen för maskinfel kommer att vara extremt låg när det gäller denna allra heligaste av mänskliga aktiviteter.

System för autonom körning på de högre SAE-nivåerna måste utvecklas inom ett ramverk som garanterar säkerheten för konstruktionen och alla dess delar. Säkerhetsstandarden för vägfordon ISO 26262 ger ett ramverk som all utveckling av autonoma system måste följa, genom en uppsättning av definierade integritetsnivåer för säkerhet inom bilindustrin (ASIL) och tillhörande tillåtna felfrekvenser. De system för autonom körning som släpps ut på vägarna i framtidens bilar kommer dessutom att utsättas för olika tuffa miljöer, allt från tropisk hetta till arktisk kyla. Motorvärme, temperaturcykling, vibrationer, stötar, fukt, damm och mer kommer också att sätta funktion och tillförlitlighet på prov. Därför måste datorplattformarna bakom autonom körning, utöver att vara mycket kraftfulla, snabba och energieffektiva, även uppfylla och överträffa AEC-Q100-kraven på kvalificering och certifiering.

Multipla sinnesmodaliteter – systemets ögon, öron och mer
Precis som en mänsklig förare är beroende av visuell information, ljud, rörelser och till och med luktsinnet för att styra fordonet i olika sammanhang och förutse händelser förlitar sig autonoma system på multipla sinnesmodaliteter för att ge rådata för beslutsfattande. Maskinen har en fördel mot människan, eftersom många fler sinnen kan tillvaratas för att förbättra såväl kameror som arbetar i det visuella spektrumet som tröghetssensorer likartade med de mänskliga sinnet för balans, rörelse och positionering. Dessa inkluderar radar, LIDAR, ultraljud, infraröd teknik, GPS och även trådlösa V2X-data som kan ge medvetenhet om risker utom synhåll.

Kopplingen mellan systemets alla sinnesmodaliteter – ögon, öron och mer – är en centraliserad bearbetningsmodul (CPM) som måste fatta beslut i realtid utifrån alla data som kontinuerligt strömmas från de olika kanalerna. Det är denna moduls kapacitet som definierar gränserna för systemets kapacitet, i fråga om vilka lägen för autonom körning som kan ske på ett säkert sätt.

Arkitektur för bearbetningssystem
Fig 2 visar de funktioner som behövs för att CPM ska kunna konvertera råa sensordata till säkra och lämpliga beslut för autonom körning.


Fig 2. Arkitektur för centraliserade bearbetningsmoduler för autonom körning och helt självkörande fordon (klicka för större bild).

Bland de funktioner som visas samverkar blocket för aggregering av data, förbearbetning och distribution (DAPD) med de olika sensormodaliteterna för att utföra grundläggande bearbetning, routning och koppling av information mellan bearbetningsenheter och acceleratorer inom bearbetningsenheten.

Högpresterande seriell bearbetning extraherar data och utför sensorfusion och beslutsfattande på hög nivå baserat på indata. I vissa applikationer kommer neurala nätverk att implementeras inom den högpresterande seriella bearbetningen.

Säkerhetsbearbetning utför bearbetning och fordonskontroll i realtid baserat på den identifierade miljö som tillhandahålls av förbearbetning i DAPD-enheten och är ett resultat av det neurala nätverkets acceleration och högpresterande seriella bearbetningselement.

Konstruktörerna av CPM står inför flera utmaningar gällande gränssnitt, skalbarhet, efterlevnad och prestanda. Och naturligtvis är strama begränsningar för relationen mellan storlek, vikt och kraft och kostnad (SWaP-C) en del av bilindustrins realitet. Dessutom kan tillämpliga standarder, bästa praxis och maskininlärningsalgoritmer förväntas att utvecklas snabbt då den högsta nivån av system för autonom körning genomgår riktig prototypframtagning och införande på ett tidigt stadium.

Vi kan för att klara av dessa utmaningar tänka oss en integrerad och programmerbar lösning som hanterar inte bara gränssnitt, förbearbetning och routningskapacitet hos DAPD, men som även kan integrera vissa funktioner för säkerhetsbearbetning och potentiellt har funktionalitet för maskininlärning med neurala nätverk på samma chip eller som fristående maskinvara med en acceleratorenhet. Denna möjlighet driver uppkomsten av en ny klass av integrerade kretsar med programmerbara multiprocessor-SoC (MPSoC) av fordonsgrad, som utnyttjar Mer än Moore-teknik för att integrera multipla applikationsprocessorkärnor och processorkärnor i realtid, med programmerbar logik med kraftfull parallellbearbetning och gränssnitt med hög bandbredd som är branschstandard, alla på samma chip.

Med två lockstep-kärnor kan en bearbetningsenhet med dataöverföring i realtid (RPU) hantera säkerhetskritisk funktionalitet upp till ASIL-C. För att ge nödvändig funktionell säkerhet behöver en sådan RPU också minska, upptäcka och begränsa enstaka slumpmässiga fel, inklusive fel orsakade av maskinvara och enstaka händelser.

Säkerhetsprocessorer krävs för att interagera direkt med fordonskontroll som styrning, acceleration och inbromsning. Det är givetvis absolut nödvändigt att undvika bearbetningsfel i detta undersystem. Andra viktiga begränsningsåtgärder, förutom lockstep-kapaciteten hos kärnorna, inkluderar stöd för felrättande koder på cacheminnen och minnen för att säkerställa integriteten hos både applikationsprogramvara och data som behövs för att implementera autonom fordonskontroll. Ett inbyggt självtest (BIST) under påslagning är också viktigt för att säkerställa att den underliggande maskinvaran är felfri före drift och har förmågan att funktionellt isolera minne och kringutrustning inom enheten om dessa visar sig vara defekta. Xilinx Zynq UltraScale+x MPSoC av fordonsgrad har dessa funktioner och gör det även möjligt för användaren att efter behov begära ytterligare inbyggda självtest under drift.

När det gäller gränssnitt med sensormodaliteter i hela fordonet kommer typiskt snabba gränssnitt att inkludera MIPI, JESD204B, LVDS- och Gigabit Ethernet (GigE) för gränssnitt som ska ge hög bandbredd som kameror, RADAR och LIDAR. MPSoC integrerade kretsar innehåller vanligtvis flexibla I/O-system som kan konfigureras för att ansluta direkt med MIPI, LVDS och gigabit seriella länkar, vilket låter protokoll på högre nivå implementeras i det programmerbara logiksystemet, ofta med IP-kärnor. Gränssnitt som CAN, SPI, I2C och UART är redan etablerade inom fordonsprogramvara och tillhandahålls som användarfärdiga funktioner inom bearbetningssystemet för enheter som Zynq UltraScale+ MPSoC.

Att tillämpliga protokoll implementeras inom det programmerbara logiksystemet för en MPSoC-enhet möjliggör också att ändringar eller uppdateringar av standarder lätt kan integreras samt ger flexibilitet kring hur många specifika gränssnitt för sensorer som stöds i en lösning.

Maskinen lär sig att köra
Människor förvärvar kunskap och erfarenhet varje gång de kör och det gör även de autonoma maskiner som vi tränar för att köra framtida generationer av fordon. Maskininlärning kommer att spela en viktig roll för autonom körning, för att underlätta beslutsfattandet i situationer som liknar sådana som inträffat förut, trots att de bara mycket sällan, om någonsin, är identiska.

Bildigenkänning är för närvarande en av de viktigaste användningarna av maskininlärning med neurala nätverk för autonom körning. Det hjälper fordon att känna igen viktiga föremål som andra fordon, fotgängare, sårbara trafikanter som cyklister, korsningar, spårkorsningar, vägskyltar, föremål som t.ex. hinder på vägen och andra risker. När fordonet är i rörelse är resultaten från dessa analyser tidskritiska, och det kommer att driva efterfrågan på inbäddade lågförbrukande maskininlärningssystem som fungerar i realtid.

Bildrutor/sekund/Watt är ett viktigt godhetstal för inbäddade implementeringar av neurala nätverk. Lätta, inbyggda neurala nätverk kan implementeras i FPGA-kretsar med högnivåspråk som C, C++ och OpenCL, vilket gör att funktionalitet kan flyttas sömlöst från processorsystem till programmerbar logik. Konstruktörer av neurala nätverk har upptäckt att FPGA-bearbetningens kraftfulla parallellbearbetning inom programmerbar logik, kombinerat med frånvaron av externt minne som flaskhalsar, ger större determinism och känslighet än alternativa arkitekturer, till exempel grafikprocessorer (GPU:er).

Övrigt arbete för att öka bildrutor/sekund/Watt visar att modeller av senare generationer, som spikande neurala nätverk (SNN:er), kan öka genomflödet och minska strömförbrukningen jämfört med mer traditionella modeller som neurala faltningsnätverk. SNN:er med flera kärnor har framgångsrikt instansierats i FPGA-kretsar för att hantera ett stort antal videokanaler, med ett högt antal bildrutor per sekund och låg energiförbrukning på bara några Watt.

Sammanfattning
Färdplanen till helt autonoma självkörande fordon är färdig och har rört sig igenom flera nivåer av autonomi med början vid grundläggande system för förarstöd. Säkerheten är naturligtvis avgörande, men en livskraftig datorplattform måste också ta sig an extrema utmaningar för SWaP-C. Kraftfull parallellbearbetning och omprogrammerbar bearbetning i integrerade kretsar med multiprocessor-SoC kan uppfylla behoven hos nästa generations system för automatstyrning och helt självkörande fordon. När även lämpliga säkerhetsprocessorer som uppfyller branschens säkerhetsstandarder som ISO 26262 är integrerade, kan dessa enheter uppfylla viktiga systemkrav på de högsta nivåerna av autonom körning.

Willard Tu, Sr. Director – Automotive Business Unit at Xilinx

Comments are closed.