Ändra sökning
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf
Embedded Implementation of Lane Keeping Functionality Using CNN
KTH, Skolan för elektroteknik och datavetenskap (EECS).
2018 (Engelska)Självständigt arbete på avancerad nivå (masterexamen), 20 poäng / 30 hpStudentuppsats (Examensarbete)
Abstract [en]

The interest in autonomous vehicles has recently increased and as a consequence many companies and researchers have begun working on their own solutions to many of the issues that ensue when a car has to handle complicated decisions on its own. This project looks into the possibility of relegating as many decisions as possible to only one sensor and engine control unit (ECU) — in this work, by letting a Raspberry Pi with a camera attached control a vehicle following a road. To solve this problem, image processing, or more specifically, machine learning’s convolutional neural networks (CNN) are utilized to steer a car by monitoring the path with a single camera.

The proposed CNN is designed and implemented using a machine learning library for Python known as Keras. The design of the network is based on the famous Lenet, but has been downscaled to increase computation speed and to reduce memory size while still maintaining a sufficient accuracy. The network was run on the ECU, which in turn was fastened to a RC car together with the camera. For control purposes wires were soldered to the remote controller and connected to the Raspberry Pi. As concerns steering, a simple bang-bang controller was implemented.

Glass box testing was used to assess the effectiveness of the code, and to guarantee a continuous evaluation of the results. To satisfy the network’s requirements in terms of both accuracy and computation speed larger experiments were performed. The final experiments showed that the network achieved sufficient accuracy and performance to steer the prototype car in real time tasks, such as following model roads and stopping at the end of the path, as planned.

This shows that despite being small with moderate accuracy, this CNN can handle the task of lane-keeping using only the data of one single camera. Since the CNN could do this while running on a small computer such as the Raspberry Pi, it has been observed that using a CNN for a lane-keeping algorithm in an embedded system looks promising.

Abstract [sv]

På senare tid så har intresset angående självkörande bilar ökat. Detta har lett till att många företag och forskare har börjat jobbat på sina egna lösningar till den myriad av problem som upstår när en bil behöver ta komplicerade beslut på egen hand. Detta projekt undersöker möjligheten att lämna så många av dessa beslut som möjligt till en enda sensor och processor. I detta fall så blir det en Raspberry Pi (RPI) och en kamera som sätts på en radiostyrd bil och skall följa en väg. För att implementera detta så används bildbehandling, eller mer specifikt, convolutional neural networks (CNN) från maskininlärning för att styra bilen med en enda kamera.

Det utvecklade nätverket är designat och implementerat med ett bibliotek för maskininlärning i Python som kallas för Keras. Nätverkets design är baserat på det berömda Lenet men den har skalats ner för att öka prestandan och minska storleken som nätverket tar men fortfarande uppnå en anständing träffsäkerhet. Nätverket körs på RPIn, vilken i sin tur är fastsatt på en radiostyrd bil tillsammans med kameran. Kablar har kopplats och blivit lödda mellan RPIn och handkontrollen till radiostyrda bilen så att RPIn kan styra bilen. Själva styrningen lämnats åt en simpel "Bang Bang controller".

Utvärdering av nätvärket och prototypen utfördes löpande under projektets gång, enhetstester gjordes enligt glasboxmetoden för att testa och verifiera olika delar av koden. Större experiment gjordes för att säkerställa att nätverket presterar som förväntat i olika situationer. Det slutgiltiga experimentet fastställde att nätverket uppfyller en acceptabel träffsäkerhet och kan styra prototypen utan problem när denne följer olika vägar samt att den kan stanna i de fall den behöver.

Detta visar att trots den begränsade storleken på nätverket så kunde det styra en bil baserat på datan från endast en sensor. Detta var dessutom möjligt när man körde nätverket på en liten och svag dator som en RPI, detta visar att CNN var kraftfulla nog i det här fallet.

Ort, förlag, år, upplaga, sidor
2018. , s. 55
Serie
TRITA-EECS-EX ; 2018:12
Nyckelord [en]
Lane Keeping, Convolutional Neural Network, Machine Learning, Computer Vision
Nyckelord [sv]
Körfälthållning, CNN, Maskininlärning, datorsyn
Nationell ämneskategori
Data- och informationsvetenskap Elektroteknik och elektronik
Identifikatorer
URN: urn:nbn:se:kth:diva-230193OAI: oai:DiVA.org:kth-230193DiVA, id: diva2:1216820
Ämne / kurs
Elektroteknik
Utbildningsprogram
Teknologie masterexamen - Inbyggda system
Examinatorer
Tillgänglig från: 2018-06-12 Skapad: 2018-06-12 Senast uppdaterad: 2018-06-12Bibliografiskt granskad

Open Access i DiVA

fulltext(11384 kB)348 nedladdningar
Filinformation
Filnamn FULLTEXT01.pdfFilstorlek 11384 kBChecksumma SHA-512
d4d6642dea669e61cafd5544d67e5f669898ba86ea185601cabdac74b44d77920e396181a173438dfcfcbcb85c00727084b8a9653e431bfa7165613db9900cec
Typ fulltextMimetyp application/pdf

Av organisationen
Skolan för elektroteknik och datavetenskap (EECS)
Data- och informationsvetenskapElektroteknik och elektronik

Sök vidare utanför DiVA

GoogleGoogle Scholar
Totalt: 348 nedladdningar
Antalet nedladdningar är summan av nedladdningar för alla fulltexter. Det kan inkludera t.ex tidigare versioner som nu inte längre är tillgängliga.

urn-nbn

Altmetricpoäng

urn-nbn
Totalt: 474 träffar
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf