Real-time 360-degree bird's eye view for the operator of milliAmpere2
Master thesis
Permanent lenke
https://hdl.handle.net/11250/3113423Utgivelsesdato
2023Metadata
Vis full innførselSamlinger
Sammendrag
Innen det voksende feltet autonom maritim navigasjon, er presis oppfatning og representasjon av det nærliggende miljøet avgjørende for sikker og effektiv drift. Denne masteroppgaven bidrar til å løse dette problemet gjennom å utvikle og teste et system som produserer et "360 graders fugleperspektiv"-bilde i opp imot sanntid, for situasjoner der fergen, milliAmpere2, må styres manuelt av en lokal operatør ombord.
Målet var å hjelpe operatøren i den kritiske fasen der fergen legger til kai, ved å vise området rundet fergen fra et fugleperspektiv. Fugleperspektivet ble laget ved å bruke "inverse perspective mapping" på de korrigerte bildene fra kameraene ombord.
Systemet, som er implementert i Python, var designet for å kjøre i sanntid og måtte derfor ha en kjøretid på mindre enn 200ms mellom hvert fugleperspektivbilde. Dette ble oppnådd under kode optimaliseringen fasen. På tross av måloppnåelsen, førte den tregere CPU-en om bord på milliAmpere2, sammen med den ekstra belastningen fra ROS2 nodestrukturen og påvirkningen fra andre kjørende prosesser på fergens datamaskin, til at kjøretiden var i grenseland for sanntidskjøring under selve eksperimentet.
Selv med systemets svakheter tatt i betraktning, som unøyaktig kamera kalibrering og et for stort bilde av milliAmpere2 i midten av fugleperspektivbilde, syntes operatørene at systemet var et "nyttig verktøy" for å legge til kai. Likevel krever systemet videre forbedringer før det er klart for bruk i vanlig drift. In the evolving domain of autonomous marine operations, accurate perception and representation of the surrounding environment is crucial for safe and effective execution. This thesis addresses this issue by developing and testing a near real-time 360 degrees bird's eye view system for the situations where the ferry, milliAmpere2, has to be manually controlled by a local operator onboard. The goal was to aid the operator during the critical phase of docking, by displaying the surrounding area of the ferry from a bird's eye view. The bird's eye view was made by using inverse perspective mapping on the undistorted images from the 8 cameras onboard.
Implemented in Python, the system aimed to run in real-time, necessitating a run-time of less than 200ms between each bird's eye view image. During the code optimization phase, this goal was reached. However, the slower CPU onboard milliAmpere2 and the overhead of accommodating ROS2 node-structure, combined with the impact of other processes running concurrently on the ferry's computer, resulted in borderline real-time performance during the live experiment.
Despite the system's shortcomings, such as inaccurate calibration causing image artifacts, and an oversized image of milliAmpere2 in the center of the IPM image, the operators found the system to be a "useful additional assistance" during the docking process. Nevertheless, the system needs further refinement before it is ready for continuous real-world deployment.