dc.contributor.advisor | Sverre, Hendseth | |
dc.contributor.advisor | Knudsen, Martinius | |
dc.contributor.author | Nilsen, Casper | |
dc.date.accessioned | 2021-09-23T18:11:23Z | |
dc.date.available | 2021-09-23T18:11:23Z | |
dc.date.issued | 2020 | |
dc.identifier | no.ntnu:inspera:56990118:34497083 | |
dc.identifier.uri | https://hdl.handle.net/11250/2780946 | |
dc.description.abstract | 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øyfe
med toveis kommunikasjon gjennom biologiske nevroner. Nevronene, som er
vokst fra enten mennesker eller rotters stamceller, kan tilpasse seg i henhold
til stimuli fra mikroelektroder og skape nevrale nettverk. Det endelige målet
er et system som kontinuerlig bruker målinger fra robotens miljø til å trene
de 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 den
kjø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. Den
navigerer ved hjelp av et selvprodusert kart, er motivert av sitt eget at-
ferdssystem og opererer i henhold til egen tilstandsmaskin. For øyeblikket
er roboten på "Supervisory Control" nivå 9 siden den ikke kan kjøre uten
tilsyn. For å komme til nivå 10, "Full Automation", må omfattende tester
bli 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 et
fullverdig grafisk brukergrensesnitt med sanntidsovervåkingskapasiteter som
presis styring og systematisk overvåking for å oppnå det stabile systemet.
I løpet av denne masteroppgaven ble en kommandomodul for toppnivåstyring
av andre moduler utviklet og testet i robotens viktigste programvareramme
som heter ROS (Robot Operating System). Tilstandsmaskinen ble kon-
solidert til en egen ’oppførsel’-tilstand eller modus som en rekke av andre
operasjonsmoduser. Ytterligere tilstander ble lagt til tilstandsmaskinen for
modusene manuell kontroll, demo og avbrudd. Et brukergrensesnitt i for-
men av en ny webapplikasjon ble evaluert, designet, implementert og testet
for 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 av
tastatur eller joystick på skjermen sammen med video fra "Computer vision"
modulen.
Brukergrensesnittet gir mulighet for overvåking av informasjon
som batterinivå, motortilstand, driftsmodus, tilstanden i tilstandsmaskinen
og oppførselssystemets PAD (Pleasure Arousal Dominance) verdier. Det har
også et kommandoverktøy som kan endre tilstand, spille av tekst til tale og
styre emosjonssystemet. Kommunikasjonen mellom web app og det eksterne
ROS-systemet ble også koblet sammen. De enkelte delene av modulen ble
diskutert, begrensningene deres definert og forslag til fremtidig arbeid ble
presentert. Fra problembeskrivelsen ble alle foreslåtte funksjoner for Kybor-
gens GUI (grafisk brukergrensesnitt) levert. | |
dc.description.abstract | A cyborg or cybernetic organism is the union between mechanical and living
biological parts. An interdisciplinary effort by NTNU Cyborg is in the
process of developing a robot body that is connected to biological neural
networks. This robot, fittingly named The Cyborg or The Robot aims to
have a closed-loop bi-directional data flow through the neurons. Grown from
the stem cells of either humans or rats, the neurons adapt to stimuli via
electronic circuitry, creating the neural networks. The final goal is to be
a continuous system using measurements from the robot’s environment to
train the cultured networks and using transmitted signals from the networks
to control the behaviour of the robot.
In the long term, the plan is for the Cyborg to act as a mascot, roaming
the hallways fully autonomously in Glassgården at NTNU Gløshaugen to
generate 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 navigates
using a self-made map, is motivated by its behaviour-system and operates
according to its state machine. Currently, the robot is at Supervisory Control
level 9 since it cannot be left without supervision. To get to level 10,
Full Automation, extensive testing must be conducted. The robot can be
controlled and monitored remotely on a computer, but the procedure is
non-trivial. There is therefore a need for a full-fledged GUI for real-time
supervisory capabilities like fine control and comprehensive monitoring to
aid in achieving a stable system.
During this Master Thesis a commander module for top-level management
of other modules was developed and tested in the robot’s main software
framework called ROS (Robot Operating System). The full state machine
at onset was added to a container and made into the ’behaviour’ mode
of operation state. Additional states were added to the state machine for
modes of operation like manual control, demo and suspension. The GUI in
the form of a new web application using Vue and Vue CLI (Command Line
Interface) was evaluated, designed, implemented and tested. Various reactive
functionalities for robot interaction, stored as separate Vue components was
implemented. These functionalities include selecting mode of operation,
click-to-navigate using navigation map and manual control using keyboard
input or on-screen joystick with robot camera from the Computer vision
Module.
The GUI allows for monitoring of information like battery charge,
motor state, mode of operation, SMACH state and behaviour-system PAD
Values. 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 part
of the GUI module was discussed, their limitations defined and suggestions
for future work was presented. From the problem description, every suggested
feature for the Cyborg GUI was delivered successfully. | |
dc.language | | |
dc.publisher | NTNU | |
dc.title | The Cyborg v4.0 - Implementing GUI for ROS with
real-time monitoring, commanding and controlling
capabilities | |
dc.type | Master thesis | |