Selvkjørende biler: Hvordan fungerer de egentlig?

Som barn var jeg begeistret for å se animasjonsfilmer der biler så ut til å kjøre helt av seg selv. Det fikk meg til å undre om slike kjøretøy kunne være virkelige, og om det var små roboter inni dem som magisk styrte dem.

Nå, som vi blir eldre, er selvkjørende biler i ferd med å bli en realitet! Jeg er virkelig fascinert av denne utviklingen. Kan de virkelig forstå når de skal stoppe ved for eksempel stoppskilt og røde lys? Er de i stand til å oppdage dyr og mennesker som beveger seg rundt på veiene? Og hvordan klarer de seg med kjøring i mørke, regn eller snø?

La oss dykke ned i verdenen av selvkjørende biler! Dette er kjøretøyer som er i stand til å navigere på egenhånd, uten behov for en menneskelig sjåfør. Selskaper som Tesla og Waymo bruker avanserte datateknikker, som dyp læring, for å gi disse bilene intelligens. Dyp læring hjelper bilene å utføre imponerende oppgaver, som å tolke veiskilt og kjøre sikkert, selv under utfordrende værforhold. Det dreier seg om å anvende toppmoderne teknologi for å forme fremtidens transport!

Historisk overblikk

Historien til selvkjørende biler kan beskrives som en lang og engasjerende reise. Tenk deg tilbake til 1920-tallet, da ideen om autonome kjøretøyer bare var en fjern drøm. En oppfinnsom person, Francis Houdina, skilte seg ut ved å konstruere en bil som kunne følge linjer på veien. Imidlertid krevde den spesielle, skjulte ledninger under veibanen for å kunne styre.

Kilde: theatlantic.com

På 1980- og 1990-tallet gjorde de kloke hodene ved Carnegie Mellon University betydelige fremskritt. De utviklet biler som var i stand til å «se» ved hjelp av kameraer, som hjalp dem å navigere i travle bymiljøer. Disse bilene var som lærevillige oppdagere, som gradvis forsto kunsten å kjøre ved hjelp av synssansen.

I 2004 fant et avgjørende øyeblikk sted, som kulminerte i en ørkenutfordring. Selvkjørende biler entret scenen, og deltok i et utfordrende løp – et løp de ikke vant, men det markerte begynnelsen. Dette kan betraktes som deres treningsarena for å utvikle seg til bedre sjåfører.

Det reelle gjennombruddet skjedde imidlertid i 2000- og 2010-årene, da store selskaper som Tesla, Uber og Google (nå Waymo) gikk inn i bilindustrien. Google startet testing av selvkjørende biler i 2009. Frem til 2015 introduserte Teslas biler en funksjon som ga delvis selvkjørende kapasitet på utvalgte veier. De kunne håndtere styring og holde seg innenfor veibanen uten kontinuerlig menneskelig inngripen.

Etter hvert som flere selskaper ble med på kappløpet, intensiverte konkurransen om å utvikle fullstendig selvkjørende biler. Forestill deg team av oppfinnere som kjemper om å skape biler som er i stand til å kjøre helt uten menneskelig assistanse.

Men historien fortsetter. Vi arbeider fortsatt med å perfeksjonere biler som kan kjøre helt selvstendig, og dette vil forandre måten vi reiser på. Dette eventyret er fortsatt i utvikling, og det betyr at vi kan se frem til tryggere og enklere reiser, takket være disse sofistikerte selvkjørende bilene som stadig blir bedre.

Hvordan fungerer selvkjørende biler?

Selvkjørende biler er som superintelligente beslutningstakere! De bruker kameraer, LiDAR, RADAR, GPS og treghetssensorer for å samle inn data om omgivelsene. Deretter behandler spesielle algoritmer, kalt dyp læringsalgoritmer, disse dataene for å forstå hva som skjer rundt dem. Basert på denne forståelsen tar de viktige beslutninger for å kjøre trygt og effektivt.

Kilde: arxiv.org

For å få en dypere forståelse av hvordan selvkjørende biler faktisk fungerer, la oss undersøke de fire nøkkelkomponentene som er illustrert i diagrammet ovenfor. Det er som å løse et puslespill – forståelsen av hver enkelt del vil hjelpe oss med å se det store bildet av hvordan disse fantastiske bilene opererer:

  • Oppfatning
  • Lokalisering
  • Prediksjon
  • Beslutningstaking
    • Veivalg på høyt nivå
    • Atferdsmekling
    • Bevegelseskontroll

Oppfatning

#1. Kamera

Kameraene fungerer som øynene til en selvkjørende bil – de er helt essensielle! De gjør det mulig for bilen å forstå hva som skjer rundt den. Disse kameraene utfører en rekke oppgaver, inkludert å gjenkjenne objekter, skille mellom ulike elementer og kartlegge bilens posisjon.

For å sikre at bilen ikke overser noe, er den utstyrt med kameraer plassert rundt hele kjøretøyet – foran, bak, til venstre og til høyre. Disse kameraene samarbeider om å skape et komplett bilde av alle omgivelsene. Det er som bilens egen 360-graders visning!

Disse kameraene er ikke bare for utseendets skyld. De er utrolig intelligente. Noen fokuserer på lang avstand, opptil 200 meter, slik at bilen er forberedt på det som kommer. Andre er designet for nært hold, slik at bilen kan følge nøye med på detaljer. Dette kamerateamet hjelper bilen med å observere og forstå alt, som en pålitelig guide, og gjør det mulig å kjøre trygt og ta informerte beslutninger.

Kameraer er spesielt nyttige ved parkering, da de tilbyr vidvinkelvisning og hjelper deg med å ta sikre beslutninger.

Det å basere seg kun på kameraer har imidlertid sine begrensninger, spesielt i krevende værforhold som tåke, kraftig regn og nattestid. Under slike forhold kan kamerabildene fremstå forvrengte og uskarpe, noe som kan utgjøre en sikkerhetsrisiko.

For å håndtere disse utfordringene trenger vi spesialiserte sensorer som er i stand til å operere i mørke eller nattemørke omgivelser. De skal også kunne måle avstander uten å være avhengig av synlig lys. Ved å integrere disse sensorene i bilens oppfatningssystem, forbedres bilens evne til å kjøre i dårlig vær eller under vanskelige lysforhold. Dette sikrer tryggere kjøring for alle trafikanter.

#2. LiDAR

LiDAR, som står for Light Detection And Ranging, er en avansert teknologi som bruker lasere til å måle avstander. LiDAR sender ut laserstråler og måler tiden det tar for lyset å reflekteres tilbake fra ulike objekter.

Ved å kombinere LiDAR og kameraer kan bilen danne en tydeligere forståelse av omgivelsene. Den konstruerer et 3D-kart over området rundt bilen. Denne spesielle informasjonen analyseres deretter av intelligente dataprogrammer, noe som gjør det mulig for bilen å forutse andre bilers bevegelser. Dette er spesielt nyttig i utfordrende trafikksituasjoner, som ved travle kryss, der bilen kan observere andre kjøretøy og navigere trygt.

LiDAR har imidlertid noen begrensninger som kan være problematiske. Selv om det fungerer utmerket i mørke omgivelser, kan den ha problemer under regn eller tåke, noe som kan føre til unøyaktigheter i persepsjonen. For å løse dette, bruker vi både LiDAR og RADAR-sensorer samtidig. Disse sensorene gir tilleggsinformasjon som gjør at bilen kan forstå ting klarere. Dermed kan bilen kjøre selvstendig på en tryggere og bedre måte.

#3. RADAR

RADAR, som står for Radio Detection and Ranging, har lenge vært brukt i hverdagslige applikasjoner og også av militæret. RADAR, som opprinnelig ble brukt av militæret for å oppdage objekter, beregner avstander ved hjelp av radiobølger. I dag er RADAR et viktig element i mange biler, særlig selvkjørende.

RADAR er svært nyttig fordi den kan fungere i alle vær- og lysforhold. I stedet for lasere, bruker den radiobølger, noe som gjør den fleksibel og svært nyttig. RADAR anses imidlertid som en støyende sensor, noe som betyr at den kan oppdage hindringer selv når kameraet ikke registrerer noen.

Den selvkjørende bilens hjerne kan bli forvirret av de ekstra signalene fra RADAR, som vi kaller «støy». For å løse dette, må bilen «rydde» i RADAR-informasjonen slik at den kan ta gode valg.

Å rense dataene innebærer å bruke spesielle teknikker for å skille de sterke signalene fra de svake, og dermed skille det viktige fra det mindre viktige. Bilen bruker en smart metode kalt Fast Fourier Transforms (FFT) for å forstå informasjonen enda bedre.

RADAR og LiDAR gir informasjon om enkeltpunkter, som prikker på et papir. For å forstå disse punktene bedre, bruker bilen en slags gruppering. Det er som å sette sammen lignende ting. Bilen bruker smarte statistiske metoder, som Euklidisk Clustering eller K-means Clustering, for å kombinere lignende prikker og forstå dem. Dette gjør at bilen kan kjøre smartere og tryggere.

Lokalisering

I selvkjørende biler spiller lokaliseringsalgoritmer en avgjørende rolle for å fastslå kjøretøyets posisjon og retning under navigering, kjent som Visual Odometry (VO). VO fungerer ved å identifisere og matche nøkkelpunkter i påfølgende videobilder.

Bilen ser etter spesielle punkter i informasjonen, som markører på et kart. Deretter bruker bilen statistiske metoder kalt SLAM for å fastslå posisjonen og bevegelsene til objekter. Dette hjelper bilen med å forstå omgivelsene, som veier og andre mennesker.

For å forbedre denne prosessen ytterligere, benytter bilen seg av dyp læring. Dette er som en superintelligent datamaskin.

Disse teknikkene gjør bilen flink til å forstå omgivelsene svært godt. Neurale nettverk, som PoseNet og VLocNet++, bruker punktdatamateriale for å anslå 3D-posisjonen og retningen til objekter. Disse estimerte 3D-posisjonene og -retningene brukes deretter til å tolke scenesemantikk, som vist i bildet nedenfor. Når bilen bruker matematikk og smarte datatriks, vet den hvor den er, og hva som befinner seg rundt den. Dette gjør at bilen kan kjøre trygt og jevnt på egen hånd.

Prediksjon

Å forstå menneskelige sjåfører er en kompleks oppgave, da det innebærer følelser og reaksjoner i stedet for ren logikk. Ettersom vi ikke kan forutse hva andre sjåfører kommer til å gjøre, er det viktig for selvkjørende biler å gjøre gode antakelser om deres handlinger. Dette bidrar til å sikre sikkerheten på veien.

Se for deg selvkjørende biler med «øyne» hele veien rundt, som en 360-graders visning. Dette gjør det mulig for dem å se alt som skjer. De bruker denne informasjonen sammen med dyp læring. Bilen bruker smarte teknikker for å forutsi hva andre sjåfører kan gjøre. Det er som å spille et spill der du planlegger å gjøre det bra.

Prediksjon ved hjelp av Deep Learning

De spesialiserte sensorene i selvkjørende biler fungerer som øynene deres. De hjelper bilene med å identifisere objekter på bilder, oppdage objekter i omgivelsene, kartlegge posisjonen og forutsi bevegelsesbaner. Dette gir bilen et klart bilde av omgivelsene og gjør det mulig å ta velinformerte beslutninger.

Under opplæringen modellerer dyp læringsalgoritmer komplekse data fra bilder og punktskyer som er hentet fra LiDAR og RADAR. Under faktisk kjøring (inferens) hjelper den samme modellen bilen å forberede seg på mulige bevegelser, inkludert bremsing, stans, filskifte og mer.

Dyp læring er som en intelligent assistent for bilen. Dette gjør at bilen kan forstå usikkerheter, fastslå posisjonen og forbedre kjøreegenskapene. Dette bidrar til en trygg og smidig kjøreopplevelse.

Den utfordrende delen er likevel å bestemme den beste handlingen fra flere alternativer. Valget av de riktige handlingene krever nøye vurdering for å sikre at bilen kjører effektivt og trygt.

Beslutningstaking

Selvkjørende biler må ta viktige beslutninger i komplekse situasjoner, men dette er ingen lett oppgave. Dette er fordi sensorene ikke alltid er 100 % nøyaktige, og andre trafikanter kan oppføre seg uforutsigbart. Bilen må forutsi hva andre kommer til å gjøre og manøvrere for å unngå kollisjoner.

For å ta beslutninger trenger bilen mye informasjon. Bilen samler inn denne informasjonen ved hjelp av sensorer, og deretter benytter den seg av dyp læringsalgoritmer for å forstå posisjoner og forutsi hva som kan skje. Lokalisering hjelper bilen med å fastslå sin posisjon, mens prediksjon genererer flere mulige handlinger basert på omgivelsene.

Spørsmålet som gjenstår er: Hvordan velger bilen den mest optimale handlingen fra de mange mulige alternativene?

Kilde: semanticscholar.org

Deep Reinforcement Learning (DRL) er en metode for å ta beslutninger, og den bruker en algoritme kalt Markov Decision Process (MDP). MDP er nyttig for å gjette hvordan andre trafikanter kan oppføre seg i fremtiden. Når det er flere bevegelige objekter, blir det mer komplisert. Dette betyr at den selvkjørende bilen må vurdere enda flere mulige handlinger.

For å takle utfordringen med å finne den beste løsningen for bilen, optimaliseres dyp læringsmodellen ved hjelp av Bayesiansk optimalisering. I noen tilfeller brukes et rammeverk som kombinerer en skjult Markov-modell og Bayesisansk optimalisering for beslutningstaking, noe som gjør at den selvkjørende bilen kan navigere effektivt og trygt i ulike komplekse scenarioer.

Kilde: arxiv.org

Beslutningstaking i selvkjørende biler følger en hierarkisk prosess som består av fire hovedkomponenter:

Ruteplanlegging: Ved starten av reisen bestemmer bilen den beste ruten fra sin nåværende posisjon til det ønskede målet. Målet er å finne en optimal løsning blant de ulike mulige rutene.

Atferdsmekling: Bilen må manøvrere seg langs den planlagte ruten. Bilen er klar over statiske objekter, som veier og kryss, men den har ikke evnen til å forutse de nøyaktige handlingene til andre sjåfører. For å håndtere denne usikkerheten benytter vi oss av smarte metoder, som Markov Decision Processes (MDPs) for planlegging.

Scenarioavgjørelse ved hjelp av tilstandsmaskin

Bevegelsesplanlegging: Etter at ruten er planlagt og atferdslaget bestemmer hvordan man skal navigere, koordinerer bevegelsesplanleggingssystemet bilens bevegelser. Dette innebærer å sikre at bilen beveger seg på en måte som er både trygg og behagelig for passasjerene. Den tar hensyn til faktorer som hastighet, filskifte og omgivelsene.

Kjøretøykontroll: Det siste trinnet er kjøretøykontroll, som følger referansebanen som er generert av bevegelsesplanleggingssystemet, og sørger for at bilen følger den tiltenkte banen jevnt og sikkert.

Ved å dele opp beslutningstaking i disse ulike elementene, kan selvkjørende biler kjøre effektivt og trygt i komplekse trafikksituasjoner. Dette sikrer en smidig og behagelig tur for passasjerene.

Konvolusjonelle nevrale nettverk

Konvolusjonelle nevrale nettverk (CNN) er mye brukt i selvkjørende biler på grunn av deres evne til å modellere romlig informasjon, spesielt bilder. CNN er svært effektive til å trekke ut egenskaper fra bilder, noe som gjør dem velegnet til å gjenkjenne en rekke objekter og elementer.

I et CNN, når nettverkets dybde øker, fanger ulike lag opp ulike mønstre. Tidligere lag oppdager enkle egenskaper som kanter, mens dypere lag gjenkjenner mer komplekse egenskaper, som objektformer (som blader på trær eller dekk på biler). Denne tilpasningsevnen er grunnen til at CNN er en så viktig algoritme i selvkjørende biler.

Hovedkomponenten i et CNN er konvolusjonslaget, som bruker en konvolusjonskjerne (filtermatrise) for å behandle lokale deler av inndatabildet.

Filtermatrisen oppdateres under treningen for å oppnå meningsfulle vekter. En grunnleggende egenskap ved CNN er vektdeling, der de samme vektparametrene brukes til å representere ulike transformasjoner, noe som sparer prosessorkraft og gir mulighet for ulike funksjonsrepresentasjoner.

Utdataene fra konvolusjonslaget sendes vanligvis gjennom en ikke-lineær aktiveringsfunksjon, som Sigmoid, Tanh eller ReLU. ReLU er å foretrekke da den konvergerer raskere enn de andre. I tillegg behandles resultatet ofte gjennom et maks-pooling-lag. Dette bevarer viktige detaljer fra bildet, som bakgrunn og teksturer.

Tre viktige egenskaper ved CNN gjør dem allsidige og grunnleggende i selvkjørende biler:

  • Lokale mottaksfelt
  • Delte vekter
  • Romlig sampling

Disse egenskapene reduserer overtilpasning og lagrer kritiske representasjoner og egenskaper som er avgjørende for bildeklassifisering, segmentering, lokalisering og mer.

Her er to CNN-nettverk som brukes av selskaper som er ledende innen utviklingen av selvkjørende biler:

  • HydraNet fra Tesla
  • ChauffeurNet fra Google Waymo

Lær mer om konvolusjonelle nevrale nettverk.

#1. HydraNet fra Tesla

HydraNet er en dynamisk arkitektur som ble introdusert av Ravi et al. i 2018, og som primært er utviklet for semantisk segmentering i selvkjørende biler. Hovedmålet er å forbedre beregningseffektiviteten under inferens.

Konseptet bak HydraNet innebærer å ha flere CNN-nettverk, kalt grener, som er tildelt spesifikke oppgaver. Hver gren mottar ulike inndata, og nettverket kan selektivt velge hvilke grener som skal kjøres under inferens, og til slutt samle utdataene fra de forskjellige grenene for å ta en endelig beslutning.

Teslas Hydranet

I forbindelse med selvkjørende biler kan inndata representere ulike aspekter av miljøet, for eksempel statiske objekter (trær og autovern), veier og kjørefelt, trafikklys osv. Disse inndataene trenes i separate grener. Under inferens avgjør portmekanismen hvilke grener som skal aktiveres, og kombinasjonsmekanismen samler utdataene for å ta den endelige avgjørelsen.

Deteksjon av hastighet, kjørefelt og bevegelse

Tesla har tilpasset HydraNet-arkitekturen, inkludert en felles ryggrad, for å håndtere utfordringene med å skille data for individuelle oppgaver under konklusjon. Den felles ryggraden, vanligvis modifiserte ResNet-50-blokker, gjør at nettverket kan trenes på data fra alle objekter. Oppgavespesifikke hoder, basert på semantisk segmenteringsarkitektur, som U-Net, gjør det mulig for modellen å forutsi utdata som er spesifikke for hver oppgave.

Teslas HydraNet utmerker seg med sin evne til å projisere et fugleperspektiv, og skaper en 3D-representasjon av miljøet fra alle vinkler. Denne forbedrede dimensjonaliteten hjelper bilen med bedre navigering. Det er bemerkelsesverdig at Tesla oppnår dette uten bruk av LiDAR-sensorer. I stedet er den avhengig av bare to sensorer: et kamera og en radar. Effektiviteten til Teslas HydraNet gjør det mulig å behandle informasjon fra åtte kameraer og generere dybdeoppfatning, noe som viser imponerende kapasitet uten bruk av ekstra LiDAR-teknologi

#2. ChauffeurNet fra Google Waymo

ChauffeurNet er et RNN-basert nevralt nettverk som brukes av Google Waymo for å trene selvkjørende biler ved hjelp av imitasjonslæring. Selv om det først og fremst er avhengig av et RNN for å generere kjørebaner, inneholder det også en CNN-komponent kjent som FeatureNet.

Dette konvolusjonelle funksjonsnettverket trekker ut kontekstuelle funksjonsrepresentasjoner som deles av andre nettverk, og brukes til å trekke ut funksjoner fra persepsjonssystemet.

Kilde: Researchgate

Konseptet bak ChauffeurNet er å trene den selvkjørende bilen ved å imitere ekspertsjåfører ved hjelp av imitasjonslæring. For å overvinne begrensningen med utilstrekkelige treningsdata fra den virkelige verden, introduserte forfatterne av artikkelen «ChauffeurNet: Learning to Drive by Imitating the Best and Synthesizing the Worst» syntetiske data.

Disse syntetiske dataene introduserer ulike avvik, som å forstyrre banen, legge til hindringer og skape unaturlige scener. Det ble funnet at det å trene bilen med syntetiske data var mer effektivt enn å bare bruke data fra den virkelige verden.

I ChauffeurNet er ikke persepsjonssystemet en del av den end-to-end-prosessen, men fungerer som et mellomnivåsystem. Dette gjør at nettverket kan ha ulike inngangsvariasjoner fra persepsjonssystemet. Nettverket observerer en mellomnivå-representasjon av scenen fra sensorene, og ved å bruke denne inndataen sammen med syntetiske data, imiterer det ekspert kjøreatferd.

Ved å ta hensyn til persepsjonsoppgaven og skape et fugleperspektiv på høyt nivå av miljøet, forenkler ChauffeurNet overføringslæring, slik at nettverket kan ta bedre beslutninger basert på både reelle og simulerte data. Nettverket genererer kjørebaner ved iterativt å forutsi påfølgende punkter i kjørebanen basert på mellomnivå-representasjoner. Denne tilnærmingen har vist seg å være lovende for å trene selvkjørende biler mer effektivt, og gir en vei mot sikrere og mer pålitelige autonome kjøresystemer.

#3. Delvis observerbar Markov-beslutningsprosess brukt for selvkjørende biler

Partially Observable Markov Decision Process (POMDP) er et matematisk rammeverk som brukes i forbindelse med selvkjørende biler for å ta beslutninger under usikkerhet. I reelle scenarier har selvkjørende biler ofte begrenset informasjon om omgivelsene på grunn av sensorstøy, okklusjoner eller ufullkomne persepsjonssystemer. POMDP er utviklet for å håndtere slik delvis observerbarhet og ta optimale beslutninger ved å ta hensyn til både usikkerhet og tilgjengelige observasjoner.

I en POMDP opererer beslutningstakeren i et miljø med delvis observerbare tilstander. Agenten iverksetter tiltak, og miljøet går over til nye tilstander med en viss sannsynlighet. Agenten mottar imidlertid bare delvise observasjoner eller støyende informasjon om miljøets faktiske tilstand. Målet er å finne en policy som maksimerer den forventede kumulative belønningen over tid, samtidig som usikkerheten i miljøet og agentens observasjoner vurderes.

Kilde: Researchgate

I forbindelse med selvkjørende biler