De exoskeletten die in de afgelopen jaren zijn gemaakt door de studententeams van Project March, werden gemaakt om een vooraf gedefinieerde hindernisbaan af te leggen. Dat is ingegeven door de Cybathlon, een internationale competitie waarin teams meedoen aan onderdelen als de Powered Exoskeleton Race. Vanwege de coronapandemie is het doorgaan van dergelijke evenementen erg onzeker en het team dat vorig jaar in september aan March VI begon, besloot een andere weg in te slaan. Het doel van dit team was om het exoskelet meer bewegingsvrijheid te geven in onbekende ruimten of de buitenlucht, met als eindresultaat een wandeling door het centrum van Delft met piloot Koen van Zeeland.
Project March
Sinds 2015 werkt ieder jaar een team van studenten aan Project March. Het doel van het project van de TU Delft is om de kwaliteit van leven van mensen met een dwarslaesie te verbeteren. Het gaat er niet om een exoskelet te maken dat daadwerkelijk op de markt komt, maar het project is gericht op onderzoek naar en de ontwikkeling van technieken. Deelnemende studenten zetten hun studie een jaar stop om zich volledig op het project te kunnen focussen.
Eerdere uitvoeringen van het March-exoskelet konden al traplopen en hellingen beklimmen, maar tot nu toe was altijd bekend hoe die obstakels eruitzagen en konden de bewegingen van het exoskelet daarop worden afgestemd. Die voorgaande versies zouden dus niet zomaar in een onbekende omgeving gebruikt kunnen worden.
Om met wisselende omstandigheden te kunnen omgaan, moet het exoskelet zijn omgeving kunnen waarnemen. De belangrijkste vernieuwing in het March VI-exoskelet is dan ook de toevoeging van dieptecamera's. We spraken met Thijs Veen, die zijn masterstudie Systeem en Regeltechniek onderbrak om zich aan te sluiten bij Project March. In de rol van Data Analyst werkte hij in het afgelopen jaar veel met de dieptecamera's van het exoskelet.
De keuze voor die camera's werd gemaakt nadat het team bepaald had om als einddoel een route door Delft te lopen. "Daar komt bij dat je trappen of hellingen op moet waarvan je niet weet hoe hoog of steil ze zijn. We hebben allerlei concepten bedacht om dat soort problemen te tackelen", vertelt Veen. Implementaties met laser en afstandssensoren bleken niet nauwkeurig genoeg. Dat zou misschien werken voor een stoepje, maar om een trap op te lopen, is hoge precisie vereist en dus koos het team voor Intel RealSense-dieptecamera's.
Dat was voor de studenten een flinke sprong in het diepe. "Niemand in het team had gewerkt met dieptecamera's en pointclouds. Het was lastig om te schatten hoe moeilijk dat is en het was vrij intimiderend om zo'n belangrijk deel van ons teamdoel hieraan te koppelen zonder dat we wisten of we het werkend zouden krijgen. We waren ervan overtuigd dat het nuttig was, maar of we het konden laten zien aan het einde van het jaar, was de vraag."
Na overleg met een oud-projectlid dat al wel praktijkervaring heeft opgedaan met RealSense-camera's, besloot het team om ervoor te gaan. Ook als het niet af zou komen, zou het immers een goede stap zijn om later op voort te bouwen door een ander team. Nadat de knoop eenmaal was doorgehakt, verdwenen de zorgen al snel. "Alles wat werkte in de simulatie, werkte binnen een of twee keer proberen ook in het echt."
Hardware en software
Bij de zoektocht naar dieptecamera's kwam het team al snel uit bij die van Intel, zegt Veen. "Het voordeel van de RealSense-camera's is dat ze heel goed aansluiten op het Robot Operating System. Je kunt meteen beginnen met het schrijven van je eigen implementaties."
De RealSense D435i die het team gebruikt, heeft verschillende sensoren. Voor het meten van diepte gebruikt de module twee camera's en een infraroodprojector. Dat werkt door een patroon van infrarood licht te projecteren en dat met de camera's aan weerszijden vast te leggen. Een Intel D4 Vision Processor in de RealSense-module vergelijkt die beelden en kan zo de afstand van de infraroodpunten bepalen. Dat wordt omgezet in een pointcloud; een soort 3d-weergave van de omgeving die uit duizenden punten bestaat.
In de RealSense D435i zitten dieptecamera's met een resolutie van 1280x720 pixels en de pointcloud kan maximaal negentig keer per seconde worden ververst. Ook heeft deze i-uitvoering van de D435 een imu, ofwel inertial measurement unit. Die bestaat uit diverse sensoren en gyroscopen die de beweging van de module over zes assen bijhouden. Die data wordt gecombineerd met de diepte-informatie en dat zorgt ervoor dat de pointcloud ook nauwkeurig is als de camera in beweging is. De D435i kan diepte zien op afstanden van 0,3 tot 10 meter afstand, maar het optimale bereik gaat volgens Intel tot 3 meter. Daarna neemt de nauwkeurigheid af.
In het March VI-exoskelet zitten twee RealSense D435i-modules. Rechts, vlak boven de heup zit een module die schuin naar beneden kijkt om het gebied voor het exoskelet in kaart te brengen. Aan de achterkant zit nog een naar beneden gerichte module die gebruikt wordt om de hoogte van bijvoorbeeld een bankje vast te stellen om daarop te gaan zitten.
/i/2004628796.png?f=thumblarge)
Via USB zijn de RealSense-camera's verbonden met het rekenhart van het March VI-exoskelet: een ASRock Industrial 4X4-V2000M-moederbord met een AMD Ryzen Embedded V2718-processor. Die is gebaseerd op de Zen 2-architectuur, heeft acht cores en zestien threads, en een Vega 7-gpu.
Voor het verwerken van de diepte-informatie gebruikt het team Point Cloud Library. Dat is een opensourceframework dat goed aansluit op het Robot Operating System. ROS is software voor het aansturen van robots, die draait boven op een ander OS, in dit geval Linux. Ook eerdere uitvoeringen van het Project March-exoskelet gebruikten ROS en het team bouwde daar in het afgelopen jaar op verder.
Het team heeft ook de transitie naar ROS 2 ingezet, maar het exoskelet draait nog op een combinatie van beide versies, vertelt Veen. "In ROS 1 zitten bepaalde beperkingen die niet makkelijk zijn op te lossen binnen het systeem zelf, maar we kunnen niet zomaar alles overzetten naar ROS 2, want niet alle packages die we gebruiken, zijn daarvoor geschikt. Een van de library's die we gebruiken voor de camera's, werkt bijvoorbeeld nog niet met ROS 2. Als daar updates of alternatieven voor beschikbaar komen, wordt dat ook overgezet."
Het March VI-exoskelet borduurt voort op het model van vorig jaar, maar naast de toevoeging van de camera's zijn er ook andere onderdelen verbeterd. Veel aanpassingen zijn gericht op het gebruik in de buitenlucht. Zo is de accucapaciteit verdubbeld en is de accu eenvoudiger te wisselen. Ook gebruikt het nieuwe exoskelet minder materiaal voor het frame, waardoor het lichter is. Verder is een scharnier toegevoegd om het been van het exoskelet zestig graden open te klappen. Dat maakt het gemakkelijker voor de piloot om in en uit te stappen.
Van pointcloud naar traplopen
Het March VI-exoskelet werkt met een afstandsbediening waarmee de piloot aangeeft welke beweging er gemaakt moet worden. Op een vlakke ondergrond gaat dat zonder de omgeving te scannen. De diepte-informatie van de RealSense-camera's wordt gebruikt voor complexere scenario's, zoals traplopen, lopen op een helling, of een stoepje op- of afstappen.
In het kort gaat dat als volgt: de pointcloud met diepte-informatie wordt naar een ROS-package gestuurd, dat denkt de te nemen stap uit en stuurt die vervolgens door naar andere onderdelen in ROS, waarmee de motoren van het exoskelet in gang worden gezet. De werking van het exoskelet staat uitgebreid gedocumenteerd op de Project March-website en de software die daarvoor geschreven is, staat op GitLab.
Het omzetten van de pointcloud in een beweging begint met het weggooien van veel informatie, legt Veen uit. "We krijgen een pointcloud binnen met ongeveer tienduizend punten. Alles met een afstand van meer dan anderhalve meter gooien we weg. Ook alle vlakken die rechtop staan, gooien we weg. Zo blijven alleen de oppervlakten over die gebruikt kunnen worden om een stap op te zetten." Door de overbodige informatie weg te gooien, kunnen berekeningen sneller uitgevoerd worden.
Vervolgens worden de overgebleven punten gegroepeerd. "Elke traptrede krijgt zijn eigen kleur. Punten die niet bij de gedefinieerde regio’s horen, worden rood gemarkeerd en later weggegooid." In de volgende stap gaat de software op zoek naar een vlak waar de voet neergezet kan worden. Daarvoor worden de traptreden eerst afgebakend, zodat de randen waarbinnen de stap gezet zal worden, bekend zijn. Vervolgens wordt de stap vooruit berekend en geprojecteerd op het afgebakende vlak. De software bekijkt alle punten waar de voet geplaatst kan worden en wijst zelf één positie aan die uiteindelijk gebruikt zal worden.
De diepte-informatie is het gedetailleerdst in de voorgrond en neemt snel af, dus niet alle traptreden kunnen in één keer in kaart worden gebracht. Wel is het mogelijk om een gemaakte stap te herhalen. Bij een trap met gelijke treden is het dus mogelijk om die op te lopen na het berekenen van de eerste stappen. Dat is echter niet zonder risico, want een kleine afwijking kan na het zetten van een aantal stappen toenemen, wat kan resulteren in een misstap. Bij de demonstratie die het team uitvoerde, werd de trap dan ook stap voor stap beklommen, met voor iedere stap een nieuwe berekening.
Met verbeteringen in de software moet het mogelijk zijn om stappen te herhalen en dan steeds te controleren, zegt Veen. "Daar zijn al opzetjes voor gemaakt, maar we hebben geen tijd gehad om dat uit te werken." Bij het lopen op een helling hoeft er niet voor iedere stap een nieuwe berekening gemaakt te worden. "Daarbij konden we na een berekening gewoon zes à zeven meter lopen, dat luistert minder nauw."
Eind augustus vond de publieke demonstratie van het March VI-exoskelet plaats. Het plan was om een 240 meter lange wandeling door het oude centrum van Delft te maken om te eindigen in het Prinsenhof. De buitenwandeling viel tijdens het evenement in het water, omdat er op het geplande moment net een zware regenbui over kwam. Het team besloot daarom de demonstratie naar binnen te verplaatsen. Enkele dagen voor het evenement had het team samen met piloot Koen van Zeeland tijdens een generale repetitie het geplande traject wel succesvol afgelegd.
Nieuw jaar, nieuw team
Met het ingaan van het nieuwe studiejaar is er inmiddels een nieuw team opgezet dat aan de slag gaat met Project March en zelf nieuwe doelen zal bepalen. Tijdens een overgangsperiode zijn de kennis en de bevindingen van het huidige team overgedragen. Volgens Veen is het nieuwe team onder andere enthousiast over het dynamischer maken van de bewegingen van het exoskelet. "Nu moet je steeds stoppen als je wilt wisselen tussen bijvoorbeeld lopen, traplopen of op een helling lopen." Als dat met een vloeiende overgang kan, wordt het exoskelet gebruiksvriendelijker.
Andere punten waar het nieuwe team aan denkt, zijn het toevoegen van obstakelherkenning en het verbeteren van de balans. Ook daarbij komen de RealSense-camera's goed van pas, dus het is goed mogelijk dat die ook hun weg weer vinden naar de volgende iteratie van het exoskelet. Dat Intel inmiddels gestopt is met het ontwikkelen van RealSense-camera's, is daarvoor geen bezwaar. De fabrikant heeft toegezegd de bestaande modellen te blijven ondersteunen.
Welke keuzes het nieuwe team zal maken, hangt voornamelijk af van het einddoel, zegt Veen. "Stel dat er weer een Cybathlon is met een voorgeprogrammeerde route, dan heb je geen dieptecamera nodig en dus is het niet slim om die te gebruiken als je de wedstrijd wilt winnen."
Juist het niet doorgaan van de wedstrijd leidde ertoe dat het team in het afgelopen jaar een andere weg koos. Ook veranderingen aan het reglement zouden dat kunnen stimuleren, denkt Veen. "Verander de opzet van de wedstrijd, bijvoorbeeld met een parcours waarin de exacte afmetingen van de te overwinnen obstakels niet bekend zijn. Er zijn nu teams die razendsnel over het parcours gaan. Ik denk dat innovatie ergens anders gehaald moet worden."