Project@ALTEN: moon rover
Kevin McElligott is sinds oktober 2018 in dienst bij ALTEN als Software Developer. Hij is hier begonnen na zijn brugjaar aan de TU Delft en heeft daarvoor de opleiding Elecktrotechniek afgerond met de minor Embedded Systems aan de Hogeschool Rotterdam. Voor zijn studie aan de TU Delft had hij een baan nodig om zijn opleiding te kunnen financieren. Zo is hij in contact gekomen met het project `Zebro` (red. tegenwoordig `Lunar Zebro`). ALTEN Is één van de sponsoren van Lunar Zebro en heeft kennis op het gebied van software ontwikkeling gedoneerd. En zo is Kevin weer terug bij dit project. Hij zet zich vooral in om een goed ROS project te ontwikkelen met een architectuur waar elke unit op aansluit, zodat er één geïntegreerd systeem is.
“Bij mijn afstuderen aan de Hogeschool Rotterdam ben ik in aanraking gekomen met Lunar Zebro. Mijn opdracht was een sensor te ontwikkelen waarbij de robot kan bepalen of het een drempel naar beneden zou kunnen nemen. Met als voorwaarde dat de robot na een val weer terug zou kunnen klimmen naar zijn originele positie. Indien de sensor waarnam dat hij niet terug zou kunnen, nam de robot de drempel niet. Dat klinkt heel intelligent, maar dat is niet per se de doelstelling. De robots van Lunar Zebro moeten eigenlijk zo eenvoudig mogelijk zijn.
‘Zebro‘ staat voor ‘zesbenige robot’. Deze robot is ongeveer zo groot als een schoenendoos en heeft poten in de vorm van een ‘C’. Deze robot is geïnspireerd op zwermende insecten, met als doel om een robotische zwerm te creëren. In een zwerm ontstaat collectieve intelligentie en kan elk individu samenwerken naar een gemeenschappelijk doel. Een robotische zwerm kan geprogrammeerd worden om taken te verrichten die nuttig kunnen zijn voor de mens. In tegenstelling tot andere insecten, zoals bijvoorbeeld de mug.
We maken dus niet één robot, maar een zwerm. We moeten de robot zelf daarom ook zo simpel mogelijk maken. En als één van de robots dan iets ‘mankeert’ dan nemen we dat voor lief, zolang het geen enorme impact heeft op de zwerm. In een zwerm maakt elk individu zijn eigen beslissingen (decentraal) en is afhankelijk van informatie van zijn buren. Een individuele robot is relatief `dom` maar collectief kan er intelligentie ontstaan dat groter is dan de robot zelf.
Voorbeeld: wanneer je iemand moet zoeken, kun je een hele complexe robot maken. Maar je kunt ook 20 kleine robotjes maken en deze op verschillende plekken laten zoeken. Zolang ze maar weten waarnaar ze op zoek zijn. De complexere robot kan maar op één plek tegelijk zijn. De zwerm is op meerdere plekken aanwezig. Zolang ze maar weten wat ze zoeken, niet te ver uit elkaar gaan, dan hebben ze een grotere range. Wat ze met deze robot willen doen is de omgeving van de maan scannen en bepaalde points of interest vinden. Dit wordt binnenkort getest in de bergen van Zwitserland (red. Igluna Mission ).”
Geschiedenis
“Het leukst aan dit project vind ik toch wel de mensen. Ik was hier in 2017 voor het laatst bij betrokken. Het is leuk om een aantal mensen van de TU D elft weer opnieuw te zien na al die jaren. Het is een soort reünie. En natuurlijk is het leuk om te zien hoe het met het Zebro project gaat; waar we staan en waar we naar toe gaan.
Het is lastig om precies te bepalen wanneer dit project is gestart. Chris Verhoeven , associate professor bij de TU Delft, is gestart met dit project. Hij heeft ooit met een Ardruino, een ultrasoon sensor en een paar servomotoren een robotje gemaakt. De robot moest steeds meer kunnen en er werden steeds meer sensoren aan toegevoegd. Het werd steeds ingewikkelder. Toen vroeg hij zich af hoe het zou zijn als we een soort zwerm van insecten kunnen maken die we kunnen programmeren en iets nuttigs kunnen laten doen wat wij mensen zouden kunnen waarderen. Chris is ook hoofd van het Robotics instistute for Swarm Robotics. Daar valt o.a. het Zebro project onder.
Wanneer we inzoomen op het lopen van de Lunar Zebro, dan komen we uit bij Gabriel Lopez . Hij heeft jaren geleden een scriptie geschreven over het lopen met c-poten. Hij heeft deze kennis meegenomen naar de TU Delft en dit is in het Zebro project opgenomen. Een mooie samenwerking dus. Tot op dat moment waren er vooral professoren mee bezig. Met de komst van Maneesh Verma (Student TU Delft en project manager Lunar Zebro) ging het al snel over aerospace. Maneesh was namelijk onderdeel van DARE dat als doel heeft de ruimte te bereiken. Toen het project een vlucht begon te nemen ben ik erbij gekomen.”
Uitdaging
“Mijn grootste uitdaging is om alle software te integreren zodat we één software-versie hebben waarmee de robot wordt aangestuurd. Dat lijkt misschien eenvoudig, maar als je ziet dat iedereen een onderdeel maakt, maar nog niemand aan het integreren is, dan moeten we wel heel goed communiceren hoe alles op elkaar aansluit. Dat is vaak heel lastig. Je kunt het vergelijken met het in elkaar te zetten van een auto, terwijl nog niemand eerder heeft geprobeerd of alle onderdelen wel passen. In het begin is ervoor gekozen om iedereen zijn eigen GIT repository (versiebeheer programma) te geven, zodat je in de ontwikkelfase geen conflicten krijgt tussen de verschillende members. We hebben te maken met allemaal verschillende studenten van verschillende faculteiten die moeten samenwerken aan een software project.
Iedereen werkt op een iets andere manier; de één werkt in een wat nieuwere versie van ROS (Robot Operating System) dan de ander. Die individualiteit geeft iedereen veel vrijheid om snel te ontwikkelen. Dat is voor studenten heel fijn. Ze zijn dan direct productief. Het gevaar is dan wel dat het samenvoegen lastig wordt. Hier probeer ik orde in te brengen en tot een basismodel te komen. Ik heb een repository opgezet met als doel de robot zelf erin te zetten, met de input – output simulatie etc. Vervolgens moeten de studenten hun kennis overhevelen naar deze basis repo. Het leuke is natuurlijk dat we met z’n allen van alles moeten uitzoeken en oplossen.
Voor mij persoonlijk is de grootste uitdaging het bijhouden van alle ontwikkelingen. Ik probeer 1x per week een goede update te krijgen van alles wat er speelt. De ontwikkelingen gaan supersnel. Je zit soms nog met je hoofd bij de stand van zaken van een week geleden, maar in die tijd is er alweer zo veel veranderd. Omdat iedereen eigen prioriteiten en tijdslijnen heeft, is het moeilijk om vaste contactmomenten af te spreken.
We hebben te maken met een groep enthousiaste studenten die allemaal vanuit een andere opleiding naar het project kijken, van Aerospace tot Werktuigbouwkunde. Dat maakt het uitdagend om alles en iedereen met software development te laten integreren. Er is besloten om dit met ROS te doen. In het begin hadden we allerlei verschillende code bases. Dan is het risico groot dat er bij de integratie van alles mis kan gaan.
Ik help de studenten die ergens vastzitten graag op het gebied van software ontwikkeling. Ik probeer hun probleem dan zo snel en zo goed mogelijk op te lossen. Dat gaat tot nu toe vrij goed. Wat grappig is om te zien, is dat zij op dezelfde dingen vastlopen als ik destijds. De uitdagingen zijn in de basis dus niet heel erg veranderd. Dit betekent dat ik ze makkelijk en snel verder kan helpen. Een voorbeeld daarvan zijn de protocollen van netwerk interfaces: hoe zet je een netwerk op, hoe zorg je ervoor dat er geen conflicten zijn tussen de verschillende devices, enzovoorts. Ik heb bepaalde dingen al een keer uitgezocht en weet dat het werkt, dus daar kan ik makkelijker in adviseren. De studenten hoeven dan niet zelf iteratief uit te vinden wat wel en niet werkt.”
Resultaten
“Op het moment van publiceren hebben we nog geen resultaten. Ik wacht op de hardware en de devices die in de robot samen moeten komen, zodat we echt fysiek op de robot kunnen testen. Dan komen we te weten of dat wat we opgezet hebben ook daadwerkelijk een goede basis is om op door te ontwikkelen. De robot moet eerst nog zijn eerste stapjes zetten. Letterlijk. Dit moet gebeuren voordat we met de Igluna Mission naar Zwitserland gaan.”
Kevin McElligott
Ben je benieuwd naar welke mogelijkheden die ALTEN jou kan bieden op het gebied van afstudeeropdrachten of loopbaanontwikkeling? Klik dan hier.