dc.contributor.advisor | Skavhaug, Amund | |
dc.contributor.author | Sørebø, Kristian Svinterud | |
dc.date.accessioned | 2021-09-24T18:20:56Z | |
dc.date.available | 2021-09-24T18:20:56Z | |
dc.date.issued | 2020 | |
dc.identifier | no.ntnu:inspera:57228313:35325532 | |
dc.identifier.uri | https://hdl.handle.net/11250/2781734 | |
dc.description.abstract | Ettersom teknologien rundt autonome bakke-kjøretøy (AGV’er) stadig er i utvikling, trenger man
også mer datakraft for å realisere disse systemene. Samtidig er lav-kost ettkorts datamaskiner
(SBC’er) med høy ytelse blitt et utbredt og tilgjengelig produkt. Derfor er motivasjonen bak denne
masteroppgaven å utvikle et lav-kost system for navigasjon og kollisjonsunngåelse. Det finnes
allerede lignende systemer, et eksempel er Turtlebot. Målet med denne oppgaven er ikke å utvikle
et alternativ til Turtlebot, men heller et sensorsystem som kan brukes av Turtlebot og andre autonome bakke-kjøretøy. Målet med systemet er at det skal være i stand til å gi robotkjøretøy nok
informasjon om de omkringliggende omgivelsene så de har muligheten til å operere trygt og effektivt.
Denne oppgaven bygger videre på et for-prosjekt skrevet av den samme forfatteren. Dette forprosjektet er lagt ved som vedlegg, Appendix A. For-prosjektet er en litteraturstudie av eksisterende
teknologi for AGV’er. I for-prosjektet blir de eksisterende teknologiene sammenlignet og veid opp
mot hverandre. Samtidig diskuteres det hva som kreves av et system for at en AGV skal kunne
operere trygt og effektivt i et dynamisk miljø. For-prosjektet konkluderer med et konsept for et
sensor-system som oppfyller disse kravene. Dette konseptet er videreutviklet og dokumentert gjennom denne rapporten. For å sørge for at systemet som utvikles er i stand til å gi et robotkjøretøy
den informasjonen den trenger, ble det satt opp et sett med krav i startfasen av dette prosjektet.
Hovedkravene er:
• Systemet skal gi nok informasjon om det omkringliggende området slik aten AGV som bruker
systemet kan unngå ulykker
• Systemet bør gi muligheten for å automatisk lage et kart av, og oppdatere eksiterende kart
basert på de omkringliggende omgivelsene.
• Systemet bør gi muligheten til å finne og følge AGVens posisjon i forhold til de omkringliggende omgivelsene.
Videre, i sammenheng med denne oppgaven er «lav-kost» definert som rimelig nok til å kunne
kjøpes inn til bruk i lab sammenheng uten noen spesiell støtte fra instituttet. Som på Institutt for
maskinteknikk og produksjon (MTP) ved NTNU ligger på rundt 5000 Norske kroner, i følge prof.
Amund Skavhaug. Derfor sikter systemet seg inn på å koste omkring 5000 Norske kroner. I tillegg
er det ønskelig at systemet er lett å integrere med eksisterende robotkjøretøy. Av den grunn i tillegg
til et aktivt utvikler-miljø og mange eksisterende verktøy er det valgt å utvikle systemet i ROS. ROS
versjonen som i hovedsak brukes i dette prosjektet er ROS2 Dashing, og ettkorts maskinen som
systemet utvikles på en en Raspberry Pi 4 Model b(RBPi4).
Med mål om å realisere de definerte kravene består systemet av tre sub-systemer. Et sub-system
for å oppdage hindringer. Dette systemet består av både ultrasoniske- og infrarøde sensorer. Denne
kombinasjonen av sensorer er valgt med bakgrunn i at hver av sensorene har sine styrker og
svakheter, hvor styrkene til den ene overlapper svakhetene til den andre, og omvendt. Dette bidrar
til at systemet er mer rustet for å kunne oppdage hindringer uavhengig av overflateegenskapene til
hindringen.
Videre, for å automatisk kunne kartlegge de omkringliggende omgivelse benytter systemet seg av
en Intel Realsense D435 dybde sensor. Intel har utviklet en egen pakke for å bruke denne sensoren
sammen med ROS. Kartlegging av omgivelsene gjøres ved å bruke ROS pakken Rtabmap. Utover
dette er det utviklet en metode som benytter seg av et Raspberry Pi V2 kamera og QR-koder i taket
for å estimere posisjonen til systemet.
For å teste systemet er det utarbeidet et sett med forskningsspørsmål. Forskningsspørsmålene,
samt de utførte ekspimentene og resultatene er presentert i Kapittel 7. Systemet for å oppdage
hindringer ved hjelp av ultrasoniske- og infrarøde sensorer ga gode resultater og var i stand til å
oppdage hindringer innenfor deres rekkevidde uavhengig av overflateegenskapene til hindringen.
Dette tyder på at et robotkjøretøy som bruker dette systemet bør være i stand til å oppdage mennesker, andre robotkjøretøy og hindringer som skulle befinne seg i det samme området.
Ved å bruke en Intel Realsense D435 sensor og ROS pakken Rtabmap var systemet i stand til å
lage tre-dimensjonale kart av de omkringliggende omgivelsene. Dette var mulig både med og uten
bruk av noen annen kilde for odometri. Uten å bruke en annen kilde for odometri var resultatene
varierende, og prosessen tok lang tid. Derfor anbefales å bruke odometri data fra en annen kilde
en Intel Realsense D435 sensoren. Videre er ikke pakken Rtabmap tilgjengelig for ROS2 Dahsing,
derfor ble ROS Melodic brukt for kartlegging. Det vil si at hele systemet ikke er integrert på den
samme plattformen ennå.
Ved manuell kalibrering av Raspberry Pi V2 kamera var systemet i stand til å estimere posisjonen sin med varierende nøyaktighet, basert på QR-koder i taket. Posisjonen blir estimert ut ifra
QR-koden. I QR-koden er kodens plassering i forhold til omgivelsene kodet inn. Ved å bruke denne
informasjon sammen med den estimerte posisjonen i forhold til QR-koden kan systemet estimere
sin posisjon i forhold til de omkringliggende omgivelsene.
Som konklusjon har systemet vist gode resultater med tanke på å oppfylle de satte kravene, men
systemet er ikke ferdigutviklet ennå. Selv om systemet ikke er ferdig, har grunnarbeidet blitt gjort –
resultatet er et lav-kost system for navigasjon og kollisjonsunngåelse som fremtidige studenter kan
bygge videre på. | |
dc.description.abstract | As the technology related to autonomous ground vehicles(AGV’s) advance, more computational
power is needed in order to realize the systems. At the same time low-cost single board computers(SBC’s) with significant calculation power have become a common product. Consequently, the
motivation for this master-project is to develop a low-cost navigation and collision avoidance system. Similar systems already exist, one example being the Turtlebot. The aim of this project is
not to develop an alternative to the Turtlebot, but rather a stand-alone sensor system that can be
used by the Turtlebot and other robotic vehicles. The objective of the sensor-system is to provide a
robotic vehicle equipped with the system enough information about the surrounding environment
so that it has the possibility to function efficiently and safely in a dynamic environment.
This thesis builds upon a pre-study conducted by the author of this thesis, which is included in
Appendix A. The pre-study is a literature study of existing AGV technology where different technologies are compared. Further, the pre-study explored the requirements for an AGV to be able to
navigate on its own, as well as operate safely around other agents, especially humans. The pre-study
concludes with a conceptional design for a prototype sensor-system. This design was further developed and documented throughout the scope of this project. In order to develop a sensor-system
capable of providing the necessary data for an AGV to operate safely and efficiently a list of system
requirements was declared at the beginning of this project. The main requirements being:
• The system should provide enough information about a large enough area and be able to
detect all obstacles within the range of the system so that an AGV can react in time to avoid
accidents.
• The system should be able to automatically update the map of the working environment.
• The system should have a method for keeping track of its position withing the working environment.
Further, in the context of this thesis «low-cost» is defined as affordable for lab use without
any extra support from the institute. Which at the Department of Mechanical and Industrial Engineering(MTP), NTNU is around 5000 Norwegian kroners. As stated by prof. Amund Skavhaug.
Therefore, the total cost of the system aims to be around 5000 Norwegian kroners. Additionally,
the system aim to be easy to integrate with existing robotic vehicles. For this reason, as well as
the community support and existing packages available, the system is developed using the popular
robotic framework ROS. The main distribution used in relation to this project being ROS2 Dashing.
The SBC used in the development of this project is the Raspberry Pi 4 Model B(RBPi4).
In order to realize the system requirements the sensor-system consist of three sub-systems. One
obstacle avoidance grid consisting of both ultrasonic- and infrared range sensors. This combination
of sensors is chosen as both sensors has their strength and weaknesses, where the strengths of one
type of sensor covers the weaknesses of the other, and vice versa. Thus minimizing the change of
being unable to detect an obstacle and resulting in a system capable of detecting obstacles independent of the obstacles surface characteristics.
Further, for the purpose of automatic mapping the system utilizes an Intel Realsense D435 depth
sensor. Which provides accurate depth data about the surrounding environment. Intel has released
a ROS package for communicating with its depth sensor, and mapping is achieved using the existing
ROS package Rtabmap. Furthermore, a method utilizing a Raspberry Pi V2 camera and QR-codes
attached to the roof was developed in order to estimate the position of the system.
To test the system and its capabilities a set of research questions were devised. The research
questions, as well as the related experiments and results is presented in Chapter 7. The obstacle
avoidance grid consisting of both ultrasonic- and infrared sensor proved able of detecting obstacles
within their operating range independent of the obstacles surface characteristics. Suggesting that
an robotic vehicle equipped with this system should be able to detect both humans, other AGV’s
and other obstacles within the working environment.
With the use of the Intel Realsense D435 and the ROS package Rtabmap the system was able to
create three-dimensional maps of its surrounding environment. However, it is recommended to use
an external and reliable source of odometry in order to achieve the efficiency needed for an AGV
to automatically map the surrounding environment. Further, Rtabmap is not available for ROS2
Dashing, thus ROS Melodic was used to perform mapping. Consequently the whole system is not
yet integrated on the same ROS distribution.
By manually calibrating the Raspberry Pi V2 camera the system was able to estimate its position with varying accuracy utilizing QR-codes attached to the roof. The position is estimated with
respect to the detected QR-code, in which the QR-codes position with respect to the working environment is encoded. Using this information the position of the system with respect to the working
environment is estimated.
In conclusion the system showed good results in its aim to achieve the system requirements,
but it is not a finalized system yet. Although the system is not complete, the basic groundwork has
been done - thus a low-cost navigation and collision avoidance system to build upon is available for
future students. | |
dc.language | | |
dc.publisher | NTNU | |
dc.title | Low-cost Navigation and Collision Avoidance System | |
dc.type | Master thesis | |