Pose Estimate for Quadcopter Using Stereo Camera
Abstract
Denne masteroppgaven er en fortsettelse på et pågående Lego-robot prosjekt, som består av flere roboter som samarbeider om å løse en labyrint. Hver robot har ulike sensorer og informasjon, og ved å samle informasjonen fra alle robotene i en Java-server applikasjon ønsker man å gi alle robotene muligheten til å løse labyrinten ved samarbeid. Droneaspektet ved Lego-prosjektet setter søkelys på det å lage en drone som kartlegger labyrinten ovenfra, og rapporterer dette tilbake til serveren. Foreløpig er hovedoppgaven å implementere et system som kan erstatte GPS lokasjon, siden labyrinten er innendørs. Denne masteroppgaven er en fortsettelse på arbeidet utført av Bendik Iversen \cite{Master_prev}, som består av en VO algoritme som til en viss grad klarer å lokalisere hvor stereokameraet befinner seg, og oppretteholder enkel serverkommunikasjon. Denne masteren har som mål å øke presisjonen og frekvensen til algoritmen, slik at den blir i stand til å lokalisere dronen innen en akseptabel feilverdi.
Hovedarbeidet i denne masteren har vært å restrukturere systemet så det aksepterer bilder fra KITTI-datasettet, istedenfor bildestrømmen som kommer fra Duo M stereokameraet. Dette ble gjort for å oppnå konsekvente resultater, uten påvirkning fra dårlige lysforhold, ukonsekvent bevegelse eller andre faktorer som forringer resultatene. På det nye systemet ble det utført en rekke tester av ulike kombinasjoner av funksjoner som alle er en del av en veldig lovende visuell odometrialgoritme, SOFT. Basert på resultatene fra disse testene ser det lovende ut at resultatene på KITTI-datasettet er gode nok til å gi input til en drone, spesielt med tanke på at algoritmen kun skal erstatte GPS-posisjonen til dronens egen maskinvare, og ikke IMU-delen (som tar hånd om den høyfrekvente posisjonskorreksjonen).
Det gjenstår fortsatt å teste systemet i et ekte scenario, på en multirotor og med Duo M stereokameraet som bildekilde. Til dette er gjort, er det ingen måte å vite med sikkerhet at SOFT algoritmen kombinert med Duo M gir høyt nok resultat. Det vi derimot vet, er at den nye algoritmen er mye bedre enn den forrige basert på resultatene og diskusjonen i denne masteren. This master thesis is a continuation of an ongoing Lego-robot project, comprised of several robots that cooperate on solving a maze. Each robot has different sensors and information, giving them different abilities to orient themselves in the maze. Combing the information from all the robots in a Java server application should make all the robots able to solve the maze. The drone part of the Lego project focus on constructing a drone that maps the labyrinth from above, and reports this back to the server. At this stage in the process, the main task is to implement a system to replace GPS (global positioning system) localization, as the maze exists in an indoor, GPS isolated environment. This master is a continuation of the work performed by Bendik Iversen\cite{Master_prev}, which consists of a visual odometry algorithm that to some extent manages to track the location of a stereo camera, and provide basic server communication. This master thesis aims to increase the performance of this algorithm, making it able to locate the drone's position within an acceptable distance of error.
The main workload in this master has been to change the system to accept a dataset called KITTI as the image stream, rather than the Duo M stereo camera. This was done in order to get consistent results that were not contaminated by inaccurate lighting, movement or other factors. On this altered system I performed several tests of different functions used by a promising visual odometry algorithm, the SOFT (stereo odometry based on careful feature selection and tracking) algorithm. Based on the results from these test it looks promising that the results on the KITTI dataset are good enough to give input to a drone, especially considering that the VO algorithm only aims to replace the GPS portion of the drones hardware, and not the IMU(Inertial measurement unit) portion (which takes care of the high frequency pose adjustment).
The system should still be tested in a real test scenario, on a multirotor using the Duo M stereo camera. Until this is done, there is no way to know for sure that the SOFT algorithm in combination with the Duo M camera provides high enough accuracy. What we do know, is that the updated VO works much better than the original VO, based on the results found and discussed in this thesis.