8 augustus 2011
Onlangs hebben een grote hoeveelheid vooruitzichten beschikbaar komen voor de mens-robot interactieve systemen. In dit artikel schetsen we de integratie van een nieuwe robot toestel met open source software die snel kan maken mogelijk een bibliotheek van interactieve functionaliteit. Vervolgens hebben we schetsen een klinische toepassing voor een neurorevalidatie toepassing.
Het algemene doel van deze procedure is om een robot te integreren in een bibliotheek voor virtuele omgevingen en de robot vervolgens te gebruiken voor slagadertherapie. Dit wordt bereikt door eerst een wrapper-klasse te maken om de haptiekbibliotheek uit te breiden en deze wrapper-klasse vervolgens in de haptiekbibliotheek te integreren. De volgende stap is het maken van een wrapper-klasse om de grafische bibliotheek uit te breiden en deze wrapper-klasse in de grafische bibliotheek te integreren zodra de wrapper-klassen voltooid zijn.
De H 3D API-interface wordt gebruikt om een eindige toestandsautomaat (finite state machine) in te stellen voor het testen van berotepatiënten. De geïntegreerde robot wordt vervolgens ingezet om berotepatiënten bij hun revalidatie te helpen. Het belangrijkste voordeel van deze techniek is dat u niet langer voor elke robot een aparte softwareapplicatie hoeft te schrijven.
Bovendien kunnen deze applicaties worden uitgevoerd door wetenschappers over de hele wereld, ongeacht welke robot hun laboratorium gebruikt. Deze methode kan helpen bij het beantwoorden van kernvragen in de velden van revalidatie, robotica en motorische controle, zoals in welke mate ons zenuwstelsel baat zou kunnen hebben bij foutaugmentatie. Deze methode kan inzicht bieden in beperkingen na een beroerte en ons begrip van gezonde functies verder vergroten.
Over het algemeen moeten patiënten met een beroerte die nieuw zijn aan revalidatierobotica bepaalde hindernissen overwinnen, zoals het leren vastpakken van de handgreep. We kwamen voor het eerst op het idee voor deze methode toen we beseften dat we een robot nodig hadden met een grote operationele werkruimte in gravitatiecompensatie. We wilden daarnaast het herschrijven van software minimaliseren, zodat toekomstige promovendi konden profiteren van hun voorgangers zonder hetzelfde werk opnieuw te hoeven doen.
Deze video geeft instructies voor het integreren van een whole arm manipulation- of WHAM-robot met de opensourcecode die beschikbaar is op www.hthreedpi.org. Om een nieuwe robot in de haptiekbibliotheek te integreren, is de eerste stap het schrijven van een wrapper-klasse voor HAP, de haptische rendering-engine die wordt gebruikt om de beweging van de WHAM-robot te besturen. Begin met het maken van een CPP- en headerbestand.
De bestandsnamen die voor dit voorbeeld worden gebruikt zijn happy, wham, cpp en happy wham h. Plaats het bestand happy wham cpp in de bronmap. Happy slash source, en plaats vervolgens happy.
Voeg wham.h toe aan de directory met headerbestanden. happy/include/happy. Voeg bovenaan happy_wham.h de belangrijkste headerbestanden van de robot toe.
Let op dat extern C vereist is om compiler mangling op te lossen, aangezien de geïncludeerde bibliotheek in C is geschreven en de H 3D API in C++. Maak in happy wham h de klasse voor de robot aan en neem de vier functies hierin op: haptics device release, haptics device, update device values en send output. Zorg ervoor dat de klasse publiekelijk overerft van de happy haptics device-klasse.
Maak vervolgens een header guard voor de klasse. Maak daarna de statische device output en de statische haptics device registration-attributen aan onder de happy WHAM-klasse. Maak vervolgens de statische lidfuncties voor callbacks specifiek voor uw robot.
Voor een WHAM-robot wordt de callbackfunctie gebruikt in de bull- en haptische apparaatfunctie. Nu de prototypes in het headerbestand zijn ingesteld, opent u happy wham dot cpp en voegt u de juiste headerbestanden en namespace toe. Definieer vervolgens de constructor en destructor in Happy Wam cpp.
Registreer vervolgens het apparaat in Happy Wam cpp. Definieer nu de vier overgeërfde functies en callbacks in happy Wam cpp. De functie voor het bijwerken van apparaatwaarden vertelt de computer de positie van de robotarm en hoeveel kracht de robot op de omgeving uitoefent.
Na het aanmaken van de Happy Wrapper-klasse is de volgende stap het bouwen van een wrap in de Happy-bibliotheek. De WAM is afhankelijk van enkele bibliotheken waar de H 3D API in zijn ruwe vorm niet van afhankelijk is. Daarom moeten deze bibliotheken aan happy worden toegevoegd.
Ga naar de H 3D 2.1 slash happy slash build-directory en bewerk C make lists text. Voeg de afhankelijke bibliotheken toe na de regel waar Set optional libs staat. Open een opdrachtprompt, navigeer naar H 3D 2.1 slash happy slash build en typ in deze volgorde see make dot pseudo make en pseudo make install om de integratie van de nieuwe robot met de H 3D open source-code te voltooien.
Schrijf een tweede wrap-klasse voor de scene graph. API genaamd H 3D API. Dit voorbeeld maakt gebruik van een wrap-klasse genaamd wam device.
Ga naar de brondirectory, H 3D AP I slash source, en maak het WAM-apparaat CPP-bestand en wam device.Cpp aan. Voeg de standaardbron voor alle H 3D PI-apparaten toe. Plaats vervolgens Wam device H in de directory voor headerbestanden.
Het bestand wam device H moet het standaard header-bestand bevatten voor alle H 3D API-apparaten. Nu de wrapperklasse is aangemaakt, moet de H 3D PI-bibliotheek opnieuw worden opgebouwd door het bestand C make lists text in de map H three DPI slash build te bewerken. Ten slotte in de map H 3D PI slash build.
Bouw de H 3D API-bibliotheek opnieuw op met de commando's CMake, pseudo make en pseudo make install. De nieuwe wrapper-klassen zijn nu gereed voor gebruik met een robot. Zodra de juiste wrapper-klassen zijn geïnstalleerd, wordt er een finite-state-machine aangemaakt om het experimentele protocol voor de gerichte reiktaak te besturen die wordt gebruikt met de Barrett WHAM-robot. De toestanden van de state-machine zijn start van de trial, lancering, contact met het doel en einde van de trial.
De beginfase van de trial start met de toewijzing van een doelwit. Doelwitlocaties kunnen willekeurig worden ingesteld voor elke trial of kunnen uit een bestand worden geladen. De beginfase van de trial eindigt en de lanceerfase begint.
Zodra de hand van de proefpersoon naar het doel is bewogen boven de drempelwaarde voor snelheid, doorgaans 0,06 meters per second. De lanceerfase eindigt en de contactfase met het doel begint wanneer de cursor van de patiënt het doel raakt. Zodra er contact is gemaakt, verdwijnt het doel, eindigt de contactfase en begint de fase van het einde van de trial.
Het einde van de proeffase geeft de software voor gegevensverzameling het signaal om het gegevensbestand te markeren met een scheidingsteken voor het einde van de proef. Tenzij de laatste proef is voltooid, maakt het beëindigen van de proeffase de startfase van de proef mogelijk en wordt er een nieuw doel toegewezen. Deze sectie demonstreert een andere robot, genaamd de Phantom, die wordt gebruikt bij de revalidatie van patiënten na een beroerte.
Door de wrap class-code van de fantoom in de juiste bibliotheken te substitueren, kan de nieuwe robot worden geïntegreerd in de virtuele omgeving; hier wordt gebruikgemaakt van een driedimensionaal haptisch grafisch systeem genaamd de virtual reality Robotic and optical operations machine of room. Dit systeem combineert een geprojecteerde stereo head-tracked rendering op een semi-zilveren spiegel-overlay display met een robotisch systeem dat de polspositie kan registreren en een krachtvector kan genereren. Een digitale projector van bioscoopkwaliteit projecteert beelden over een display van 5 voet breed, wat resulteert in een kijkhoek van 110 graden.
Infraroodzenders synchroniseren afzonderlijke beelden voor het linker- en rechteroog via de LCD-shutterbril. Hoofdbewegingen worden gevolgd met de Ascension Flock of Birds magnetische elementen, zodat het visuele display wordt weergegeven met het bijbehorende, op het hoofd gecentreerde perspectief. Een exo-tendon handschoen met een polsspalk helpt bij een neutrale uitlijning van de pols en hand.
Het midden van de robotgreep wordt op de onderarm geplaatst, posterior van het radiocarpale gewricht. Hierdoor kunnen de krachten op de pols inwerken, terwijl de hand vrij kan bewegen. Het gewicht van de arm van de patiënt wordt verminderd met behulp van een op veren werkende Wilmington robotische exoskelet gravitatie-gebalanceerde orthese.
De therapeut die naast de patiënt zit, gebruikt een trackingapparaat om een cursor over het scherm te bewegen. De patiënt krijgt de instructie om met de robotische handgreep de cursor te volgen. Foutvergroting wordt zowel visueel als door de robot gegenereerde krachten aangeboden.
Wanneer de cursor van de patiënt afwijkt van de cursor van de therapeut en de onmiddellijke fout, wordt vector E vastgesteld als het verschil in positie tussen de cursor van de therapeut en de hand van de patiënt. De fout wordt visueel vergroot met een factor van 1,5 E als onderdeel van de foutaugmentatie. Daarnaast wordt een foutaugmenterende kracht van 100 E op de arm van de patiënt uitgeoefend, die is geprogrammeerd om te verzadigen bij een maximum van vier Newtons.
Om veiligheidsredenen vergroot de foutaugmentatie de fouten die door de patiënt worden waargenomen, wat het herleermonster versterkt. Het behandelprotocol vereist dat de patiënt verschillende specifieke bewegingen oefent, waaronder voorwaartse en zijwaartse reikbewegingen met schouder-elleboogkoppeling en diagonale reikbewegingen over het lichaam. Voor de volgende demonstratie wordt de bovenste klassecode gewisseld en wordt de Barrett WHAM-robot gebruikt.
Het doel van deze volgende taak is dat gezonde proefpersonen of berotepatiënten een virtueel projectiel vangen binnen de semi-transparante groene bol. Als de handen van de patiënt buiten de bol treden, wordt de bol rood en ontvangt de arm van de patiënt foutaugmentatie-feedback van de robot. Wanneer de patiënt het projectiel succesvol binnen de gedefinieerde ruimte vangt, blijft de bol groen.
Deze figuur toont de mediane reikfout. Elk punt vertegenwoordigt de mediane fout gemeten voor een blok van twee minuten van stereotypische functionele bewegingen. Hoewel de patiënten vooruitgang tonen over de periode van twee weken, was er niet elke dag sprake van verbetering.
Deze figuur illustreert het resulterende voordeel van foutaugmentatie bij het selectief verminderen van de variabiliteit tussen bewegingen. De bovenste grafieken tonen gegevens van de controlegroep en de onderste grafieken tonen gegevens van de behandelgroep. Elke kleur vertegenwoordigt een andere proefpersoon.
De twee horizontale lijnen geven de locatie van de grenzen voor de taak weer. Het doel van de proefpersoon was om het virtuele projectiel binnen deze grenzen te vangen. De locatie van een stip laat zien waar een bepaalde proefpersoon het dichtst bij contact kwam.
In de projectie tonen de blauwe halftransparante histogrammen, die over de ruwe gegevens zijn gelegd, de bewegingsdistributie van de groep. Langs de anterieure as voerden de berote patiënten 600 trials uit van de vangtaak; gedurende de eerste 200 trials en de laatste 200 trials werd er voor trials 201 tot 400 geen foutaugmentatie-feedback gegeven. De robot gaf foutaugmentatie-feedback aan de patiënt, wat resulteerde in een significante verbetering van het vermogen van de patiënt om het doel binnen de opgegeven grenzen te vangen.
Na deze procedure kunnen traditionele rehabilitatiemethoden nog steeds worden uitgevoerd, maar met de robot kunnen we bij vele herhaalde pogingen op elk moment kwantificeren waar de hand van de patiënt zich bevindt. Deze techniek maakte de weg vrij voor nieuw onderzoek op het gebied van neurale engineering, waarbij we gesimuleerd reiken binnen een regio kunnen verkennen zodat er meerdere mogelijke oplossingen zijn. Na het bekijken van deze video zou u moeten begrijpen hoe u de H 3D API-bibliotheek kunt uitbreiden voor een gekozen rehabilitatierobot en hoe u diverse haptische grafische interfaces kunt toepassen voor de beoordeling en behandeling van beroertepatiënten.
Aangezien het werken met robots potentieel gevaarlijk kan zijn, moet er zorgvuldig worden nagedacht bij de keuze van een robot voor dergelijke menselijke interacties. We hebben de Barrett WHAM gekozen voor ons meest recente project omdat deze krachtiger is en back-drivable is. Back-drivable betekent dat de robot nagenoeg weerstandvrij kan aanvoelen als we hem zo programmeren, en toch is dit een van de veiligste beschikbare opties voor mens-machine-interactie.
Een afzonderlijke watchdog-computer bewaakt de hoofdcomputer en kan het systeem uitschakelen als er iets misgaat, terwijl dynamisch remmen ervoor zorgt dat het systeem als demper fungeert wanneer het inactief is. Hoewel veel robots verschillend presteren, overlappen veel van hun functies. De overdraagbaarheid van onze technieken tussen robots kan daarom de uitwisseling tussen laboratoria bevorderen.
Het is duidelijk dat trainingbehandelingen, zoals die in deze studie zijn aangetoond, bemoedigend bewijs leveren voor het herstellen van functies bij patiënten, evenals voor het verbeteren van training in sporten, het besturen van teleoperaties, muzikale uitvoeringen, chirurgische technieken en elke andere taak die repetitieve oefening vereist.
Dit artikel bespreekt de integratie van een robotisch apparaat met opensourcesoftware voor neurorevalidatietoepassingen, specifiek gericht op therapie na een beroerte. Deze aanpak maakt het mogelijk om een bibliotheek van interactieve functionaliteiten in een virtuele omgeving te gebruiken.
Dit werk richt zich op een cruciale flessenhals in de translationele neurowetenschappen en revalidatieengineering: het gebrek aan software-interoperabiliteit tussen robotplatforms. Door een enkele codebase mogelijk te maken die kan koppelen met diverse haptische apparaten, vermindert deze aanpak de ontwikkelingslast en ondersteunt het de reproduceerbare preklinische evaluatie van motorische leerinterventies. Deze mogelijkheid vergroot het voorspellende vertrouwen bij de vroege validatie van targets voor neurorevalidatietherapieën door gedragsmatige meetwaarden over verschillende laboratoria heen te standaardiseren.
De methode past binnen het continuüm van ontdekking tot preklinisch onderzoek door robotische systemen om te vormen tot gestandaardiseerde fenotyperingsinstrumenten voor de modulatie van motorische circuits, met directe toepasbaarheid voor het identificeren van lead-verbindingen bij de ontwikkeling van geneesmiddelen voor neurorehabilitatie.