Low-cost Navigation and Collision Avoidance System
Abstract
Ettersom teknologien rundt autonome bakke-kjøretøy (AGV’er) stadig er i utvikling, trenger manogså 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 dennemasteroppgaven å utvikle et lav-kost system for navigasjon og kollisjonsunngåelse. Det finnesallerede lignende systemer, et eksempel er Turtlebot. Målet med denne oppgaven er ikke å utvikleet 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 nokinformasjon 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 eksisterendeteknologi for AGV’er. I for-prosjektet blir de eksisterende teknologiene sammenlignet og veid oppmot hverandre. Samtidig diskuteres det hva som kreves av et system for at en AGV skal kunneoperere trygt og effektivt i et dynamisk miljø. For-prosjektet konkluderer med et konsept for etsensor-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øyden 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 brukersystemet kan unngå ulykker• Systemet bør gi muligheten for å automatisk lage et kart av, og oppdatere eksiterende kartbasert 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 å kunnekjøpes inn til bruk i lab sammenheng uten noen spesiell støtte fra instituttet. Som på Institutt formaskinteknikk 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 tillegger det ønskelig at systemet er lett å integrere med eksisterende robotkjøretøy. Av den grunn i tilleggtil et aktivt utvikler-miljø og mange eksisterende verktøy er det valgt å utvikle systemet i ROS. ROSversjonen som i hovedsak brukes i dette prosjektet er ROS2 Dashing, og ettkorts maskinen somsystemet 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-systemfor å oppdage hindringer. Dette systemet består av både ultrasoniske- og infrarøde sensorer. Dennekombinasjonen av sensorer er valgt med bakgrunn i at hver av sensorene har sine styrker ogsvakheter, hvor styrkene til den ene overlapper svakhetene til den andre, og omvendt. Dette bidrartil at systemet er mer rustet for å kunne oppdage hindringer uavhengig av overflateegenskapene tilhindringen.
Videre, for å automatisk kunne kartlegge de omkringliggende omgivelse benytter systemet seg aven Intel Realsense D435 dybde sensor. Intel har utviklet en egen pakke for å bruke denne sensorensammen med ROS. Kartlegging av omgivelsene gjøres ved å bruke ROS pakken Rtabmap. Utoverdette er det utviklet en metode som benytter seg av et Raspberry Pi V2 kamera og QR-koder i taketfor å 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 å oppdagehindringer 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 utenbruk av noen annen kilde for odometri. Uten å bruke en annen kilde for odometri var resultatenevarierende, og prosessen tok lang tid. Derfor anbefales å bruke odometri data fra en annen kildeen 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å densamme 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 ifraQR-koden. I QR-koden er kodens plassering i forhold til omgivelsene kodet inn. Ved å bruke denneinformasjon sammen med den estimerte posisjonen i forhold til QR-koden kan systemet estimeresin posisjon i forhold til de omkringliggende omgivelsene.Som konklusjon har systemet vist gode resultater med tanke på å oppfylle de satte kravene, mensystemet 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 kanbygge videre på. As the technology related to autonomous ground vehicles(AGV’s) advance, more computationalpower 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, themotivation 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 isnot to develop an alternative to the Turtlebot, but rather a stand-alone sensor system that can beused by the Turtlebot and other robotic vehicles. The objective of the sensor-system is to provide arobotic vehicle equipped with the system enough information about the surrounding environmentso 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 inAppendix 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 tonavigate on its own, as well as operate safely around other agents, especially humans. The pre-studyconcludes 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-systemcapable of providing the necessary data for an AGV to operate safely and efficiently a list of systemrequirements 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 todetect all obstacles within the range of the system so that an AGV can react in time to avoidaccidents.• 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 withoutany 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 asthe community support and existing packages available, the system is developed using the popularrobotic 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. Oneobstacle avoidance grid consisting of both ultrasonic- and infrared range sensors. This combinationof sensors is chosen as both sensors has their strength and weaknesses, where the strengths of onetype of sensor covers the weaknesses of the other, and vice versa. Thus minimizing the change ofbeing 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 depthsensor. Which provides accurate depth data about the surrounding environment. Intel has releaseda ROS package for communicating with its depth sensor, and mapping is achieved using the existingROS package Rtabmap. Furthermore, a method utilizing a Raspberry Pi V2 camera and QR-codesattached 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 researchquestions, as well as the related experiments and results is presented in Chapter 7. The obstacleavoidance grid consisting of both ultrasonic- and infrared sensor proved able of detecting obstacleswithin their operating range independent of the obstacles surface characteristics. Suggesting thatan robotic vehicle equipped with this system should be able to detect both humans, other AGV’sand other obstacles within the working environment.
With the use of the Intel Realsense D435 and the ROS package Rtabmap the system was able tocreate three-dimensional maps of its surrounding environment. However, it is recommended to usean external and reliable source of odometry in order to achieve the efficiency needed for an AGVto automatically map the surrounding environment. Further, Rtabmap is not available for ROS2Dashing, thus ROS Melodic was used to perform mapping. Consequently the whole system is notyet 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 withrespect 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 workingenvironment 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 hasbeen done - thus a low-cost navigation and collision avoidance system to build upon is available forfuture students.