CS-veldsessie
Achtergrond
Tijdens de zomer van 2020 volgde ik CSCI370 of “Geavanceerde Software Engineering” als onderdeel van mijn bacheloropleiding informatica aan de Colorado School of Mines. CSCI370 is een cursus waarin studenten softwaregerelateerde oplossingen voor een bedrijf moeten ontwerpen, implementeren en documenteren. Het stelt studenten in staat hun kennis uit de opleiding toe te passen op echte problemen in de informatica. Je kunt meer over de cursus leren hier.
In de cursus krijg je zelf te kiezen aan welk project/bedrijf je wilt werken. De cursus bood pdf’s aan met details over elk project en bedrijf. Uiteindelijk besloot ik te werken aan een project dat was geplaatst door een bedrijf genaamd Lunar Outpost met de titel Real Time Wheel Slip Detection and Error Corrections for Enhanced Lunar Navigation. Omdat de naam lang is, zullen we het project de alias “Wheel Slippage Detection” geven.
Probleem
Lunar Outpost is een startup die probeert autonome maanrovers te creëren. Op de maan is er veel maanstof dat erom bekend staat veel wielslip te veroorzaken. Dit is niet ideaal, omdat wielslip ervoor kan zorgen dat autonome systemen hun werkelijke locatie uit het oog verliezen. Op aarde wordt dit opgelost door GPS-gegevens te gebruiken om eventuele afwijkingen te corrigeren die door wielslip worden veroorzaakt. Maar het probleem met GPS is dat het alleen werkt doordat er 30+ navigatiesatellieten zijn die voortdurend in een baan om de aarde cirkelen en unieke signalen uitzenden waarmee computers hun positie kunnen berekenen. Maar op de maan bestaat er op dit moment zoiets als GPS niet. Met dit in gedachten moet een andere methode dan GPS worden gebruikt om wielslip te detecteren. Een gedetailleerder rapport over het probleem van het project kan hier worden bekeken.
Teamgenoten
Dit project was geen eenvoudig project, dus moest het in teamverband worden uitgevoerd. Het team bestond uit vijf medestudenten van de Colorado School of Mines:
- Mehmet Yilmaz
- Kane Bruce
- Braedon O’Callaghan
- Liam Dempsey
- Kevin Grant
Voor het project moesten we enige kennis hebben van ROS, C++, Python, Linux, Raspberry Pi en Arduino. De meesten van ons hadden ervaring met een of meer van deze technologieën, maar ik was de enige met ervaring in ROS, omdat ik ROS gebruikte in mijn vak Human Centered Robotics (CSC470) tijdens het semester voorjaar 2020. Daarom hielp ik al vroeg iedereen op snelheid te brengen over ROS en hoe je ervoor ontwikkelt.
Uitdagingen
In dit project waren er veel uitdagingen. Maar de grootste uitdaging waarmee we werden geconfronteerd, was dat we geen toegang hadden tot een echte robot om te testen. Dit kwam doordat COVID alles op afstand deed verlopen en ons verhinderde om in het laboratorium/de gebouwen van Lunar Outpost te werken. Daarom moesten we simulaties gebruiken.
Ook gingen we door een deel academisch onderzoek van het WVU Navigation Lab om een idee te krijgen van hoe het probleem van wielslip kon worden opgelost voor de gebruikssituatie van Lunar Outpost. Wat voor ons, als tweede- en derdejaars studenten, moeilijker was dan we hadden verwacht.
Een andere uitdaging waarmee we werden geconfronteerd, was de hoeveelheid tijd die we hadden om aan dit project te werken. CSCI370 is een cursus van één maand. Maar het probleem zelf is een enorm probleem dat veel bedrijven en academici al decennialang proberen op te lossen/perfectioneren. Dus één maand is lang niet genoeg tijd om dit probleem op te lossen. Maar ondanks al deze uitdagingen hebben we doorgezet en ervoor gezorgd dat we een resultaat konden opleveren.
Conclusie
In deze post had ik graag een meer gedetailleerde uitleg gegeven van onze oplossingen. En ook een goede conclusie gegeven waarin wordt uitgelegd wat we ontdekten en wat de eindresultaten waren. Maar helaas hebben ik en mijn teamgenoten allemaal een geheimhoudingsverklaring (NDA) ondertekend, die ons verhindert iets vertrouwelijks over dit project te delen. Alle informatie die ik hierboven heb verstrekt is openbaar en kan op internet worden geraadpleegd.
Tijdens dit project hebben we echt geleerd hoe we ROS moeten gebruiken en hoe we simulaties kunnen maken met ROS en Gazebo. We hebben ook een beter begrip gekregen van het onderzoeksgebied van wielslipdetectie. We hadden ook de eer om met enkele academici/onderzoekers van het WVU Navigation Lab te ontmoeten.
Als ik dat alles weet, moet ik zeggen dat dit project mij in staat stelde een leiderschapsrol binnen het team op me te nemen, als docent op te treden om mijn medestudenten te helpen ROS beter te begrijpen, en mij meer ervaring gaf met ROS, Gazebo en Python. Het stelde me ook bloot aan het probleem van wielslip, een probleem waarvan ik me niet bewust was totdat ik aan dit project werkte. Al met al ben ik dankbaar dat Lunar Outpost, vooral tijdens COVID, tijd vrijmaakte in hun drukke schema om ons dit project te laten doen. Ik ben ook dankbaar dat ik geweldige teamgenoten had die heel hard aan dit project hebben gewerkt.