Real-Time Trajectory Planning and Motion Execution in a Small-Scale Car-Like Robot
Abstract
Denne masteroppgaven utforsker en implementasjon for autonom navigering i en liten bil-aktig robot kalt LIMO. Oppgaven tar for seg utfordringene og begrensningene knyttet til fysiske komponenter i roboten, spesielt tilknyttet prosesseringsevne, og derav kompromissene som ble tatt for å tilpasse seg disse. Hovedmålet er å utvikle et rammeverk for beslutningstaking inspirert av kjøreprosessen, ved å sanse, oppfatte, avgjøre, og handle, og benytte seg av dette for sanntidsnavigering i variert miljø.
Undersøkelsen omfatter ulike aspekter av autonom kjøretøyteknologi, inkludert LIDAR-sensorsystemer, datasyn, objekt-gjennkjenning og lokalisering ved bruk av algoritmen You Only Look Once (YOLO), og integrering av Robot Operating System (ROS). Metodene Frenet Optimal Trajectory Generation (FOT) og Dynamic Window Approach (DWA) blir implementert og testet for å vurdere prestasjonen i ulike navigasjonsscenarier, og en planleggingsmodul og et atferdstree blir implementert for høynivå planlegging og beslutningstaking
Fire eksperimenter gjennomføres for å simulere optimale kjørebaner, utføre planlagt kjøring, og revurdere kjørebaner mens roboten beveger seg mot stasjonære og bevegelige mål. Gjennom eksperimentene blir bilens ferdigheter demonstrert, der mer kompleks oppførsel kreves for hvert følgende eksperiment. Resultatene av disse eksperimentene viser LIMO-bilens evne til å navigere autonomt, og fremhever styrker og mulige forbedringsområder i det implementerte beslutningstakingssystemet.
Selv om oppgaven i stor grad fokuserer på robotplattformen LIMO, kan det angitte systemet tilpasses andre robotplattformer ved å justere parametere deretter. Systemet er også svært fleksibelt med tanke på spesifikke krav til kjøremåte og annen ønsket oppførsel.
Kodebasen som inneholder den fullstendige implementasjonen kan finnes på Github på (https://github.com/Thesis-Limo/ProjectLimo), mens de ulike situasjonene LIMO-bilen navigerte gjennom i eksperimentene kan ses på Youtube-kanalen (https://www.youtube.com/@njaalsoerland) This master's thesis explores an implementation of autonomous navigation, specifically focusing on a small-scale car-like robot called the LIMO robotic platform. The study addresses the challenges and limitations posed by the physical components of the LIMO, particularly its processing capabilities, and the compromises made to accommodate for this. The primary objective is to develop a decision-making framework inspired by the Identify, Predict, Decide, and Execute (IPDE) method, tailored for real-time navigation in dynamic environments.
The research encompasses various aspects of autonomous vehicle technology, including Light Detection and Ranging (LIDAR) sensory systems, Computer Sereo Vision, object detection and localization using the You Only Look Once (YOLO) algorithm, and the integration of the Robot Operating System (ROS). Key methodologies for trajectory generation such as Frenet Optimal Trajectory Generation (FOT) and the Dynamic Window Approach (DWA) are implemented and tested to determine their effectiveness in different navigation scenarios, and a Motion Planning Module (MPM) and Behaviour tree is implemented for higher-level planning and decision making.
Four experiments were conducted to simulate optimal trajectories, execute planned trajectories, and re-plan trajectories while moving towards stationary and moving targets. The experiments outline the vehicle's capabilities with increasing complexity, displaying more advanced behaviour for each completed experiment. The results of these experiments demonstrate the LIMO platform's ability to navigate autonomously, highlighting the strengths and areas for improvement in the implemented decision-making system.
While the thesis largely focuses on the implementation in the LIMO, the proposed system is adaptable to other robotic platforms by adjusting parameters accordingly. The implementation is also highly customizable to custom demands in steering dynamics and other desired behaviour.
The codebase containing the full implementation can be found on Github at (https://github.com/Thesis-Limo/ProjectLimo), while the different situations the LIMO navigated throughout the experiments can be seen on the Youtube channel (https://www.youtube.com/@njaalsoerland)