The Cyborg v4.0 - Implementing GUI for ROS with real-time monitoring, commanding and controlling capabilities
Master thesis
Permanent lenke
https://hdl.handle.net/11250/2780946Utgivelsesdato
2020Metadata
Vis full innførselSamlinger
Sammendrag
En kyborg eller kybernetisk organisme er fusjonen mellom mekaniske og lev-ende biologiske deler. En tverrfaglig innsats fra NTNU Cyborg er i ferd med åutvikle en robot som er koblet til biologiske nevrale nettverk. Denne roboten,passende nok kalt Kyborgen eller Roboten, har som mål å ha en lukket sløyfemed toveis kommunikasjon gjennom biologiske nevroner. Nevronene, som ervokst fra enten mennesker eller rotters stamceller, kan tilpasse seg i henholdtil stimuli fra mikroelektroder og skape nevrale nettverk. Det endelige måleter et system som kontinuerlig bruker målinger fra robotens miljø til å trenede kultiverte nettverkene og bruke overførte signaler fra nettverkene til åkontrollere oppførselen til roboten.
På lang sikt er planen at Kyborgen skal fungere som en maskot ved at denkjører helt autonomt gjennom gangene i Glassgården ved NTNU Gløshaugen.Dette gjøres for å øke interessen for studentene innenfor relevant forskn-ing som bioteknologi, nevrovitenskap, ingeniørvitenskap og data- og infor-masjonsvitenskap. Kyborgen er nå i versjon 3.0 og er semi-autonom. Dennavigerer ved hjelp av et selvprodusert kart, er motivert av sitt eget at-ferdssystem og opererer i henhold til egen tilstandsmaskin. For øyeblikketer roboten på "Supervisory Control" nivå 9 siden den ikke kan kjøre utentilsyn. For å komme til nivå 10, "Full Automation", må omfattende testerbli utført. Roboten kan kontrolleres og overvåkes eksternt på en datamaskin,men fremgangsmåten for dette er ikke-triviell. Det er derfor behov for etfullverdig grafisk brukergrensesnitt med sanntidsovervåkingskapasiteter sompresis styring og systematisk overvåking for å oppnå det stabile systemet.
I løpet av denne masteroppgaven ble en kommandomodul for toppnivåstyringav andre moduler utviklet og testet i robotens viktigste programvarerammesom heter ROS (Robot Operating System). Tilstandsmaskinen ble kon-solidert til en egen ’oppførsel’-tilstand eller modus som en rekke av andreoperasjonsmoduser. Ytterligere tilstander ble lagt til tilstandsmaskinen formodusene manuell kontroll, demo og avbrudd. Et brukergrensesnitt i for-men av en ny webapplikasjon ble evaluert, designet, implementert og testetfor Vue og Vue CLI (Command Line Interface). Ulike reaktive funksjon-aliteter for robotinteraksjon, lagret som separate Vue-komponenter, ble im-plementert. Disse funksjonalitetene inkluderer valg av driftsmodus, navi-gasjonskart som navigerer robot ved trykk og manuell kontroll ved bruk avtastatur eller joystick på skjermen sammen med video fra "Computer vision"modulen.
Brukergrensesnittet gir mulighet for overvåking av informasjonsom batterinivå, motortilstand, driftsmodus, tilstanden i tilstandsmaskinenog oppførselssystemets PAD (Pleasure Arousal Dominance) verdier. Det harogså et kommandoverktøy som kan endre tilstand, spille av tekst til tale ogstyre emosjonssystemet. Kommunikasjonen mellom web app og det eksterneROS-systemet ble også koblet sammen. De enkelte delene av modulen blediskutert, begrensningene deres definert og forslag til fremtidig arbeid blepresentert. Fra problembeskrivelsen ble alle foreslåtte funksjoner for Kybor-gens GUI (grafisk brukergrensesnitt) levert. A cyborg or cybernetic organism is the union between mechanical and livingbiological parts. An interdisciplinary effort by NTNU Cyborg is in theprocess of developing a robot body that is connected to biological neuralnetworks. This robot, fittingly named The Cyborg or The Robot aims tohave a closed-loop bi-directional data flow through the neurons. Grown fromthe stem cells of either humans or rats, the neurons adapt to stimuli viaelectronic circuitry, creating the neural networks. The final goal is to bea continuous system using measurements from the robot’s environment totrain the cultured networks and using transmitted signals from the networksto control the behaviour of the robot.
In the long term, the plan is for the Cyborg to act as a mascot, roamingthe hallways fully autonomously in Glassgården at NTNU Gløshaugen togenerate interest for students in its relevant fields like biotechnology, neu-roscience, engineering cybernetics and computer and information science.The current cyborg is in version 3.0 and is semi-autonomous. It navigatesusing a self-made map, is motivated by its behaviour-system and operatesaccording to its state machine. Currently, the robot is at Supervisory Controllevel 9 since it cannot be left without supervision. To get to level 10,Full Automation, extensive testing must be conducted. The robot can becontrolled and monitored remotely on a computer, but the procedure isnon-trivial. There is therefore a need for a full-fledged GUI for real-timesupervisory capabilities like fine control and comprehensive monitoring toaid in achieving a stable system.
During this Master Thesis a commander module for top-level managementof other modules was developed and tested in the robot’s main softwareframework called ROS (Robot Operating System). The full state machineat onset was added to a container and made into the ’behaviour’ modeof operation state. Additional states were added to the state machine formodes of operation like manual control, demo and suspension. The GUI inthe form of a new web application using Vue and Vue CLI (Command LineInterface) was evaluated, designed, implemented and tested. Various reactivefunctionalities for robot interaction, stored as separate Vue components wasimplemented. These functionalities include selecting mode of operation,click-to-navigate using navigation map and manual control using keyboardinput or on-screen joystick with robot camera from the Computer visionModule.
The GUI allows for monitoring of information like battery charge,motor state, mode of operation, SMACH state and behaviour-system PADValues. The GUI also got a command tool for changing SMACH states,perform text-to-speech and selecting emotion in emotion-system. Finally,communication between the GUI and ROS system was bridged. Each partof the GUI module was discussed, their limitations defined and suggestionsfor future work was presented. From the problem description, every suggestedfeature for the Cyborg GUI was delivered successfully.