Show simple item record

dc.contributor.advisorSkavhaug, Amund
dc.contributor.authorSørebø, Kristian Svinterud
dc.date.accessioned2021-09-24T18:20:56Z
dc.date.available2021-09-24T18:20:56Z
dc.date.issued2020
dc.identifierno.ntnu:inspera:57228313:35325532
dc.identifier.urihttps://hdl.handle.net/11250/2781734
dc.description.abstractEttersom 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.abstractAs 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.publisherNTNU
dc.titleLow-cost Navigation and Collision Avoidance System
dc.typeMaster thesis


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record