Maskinstyrning via VR – Utveckling av VR-applikation med OpenXR och Godot

Publicerad

Typ

Examensarbete på grundnivå

Modellbyggare

Tidskriftstitel

ISSN

Volymtitel

Utgivare

Sammanfattning

Allteftersom robotar och drönare är mer förekommande inslag i samhället behövs mer nytänkade sätt att styra dessa enheter. ’Extended reality’ erbjuder många nya möjligheter för en användare att på ett mer intuitivt vis styra en robot. Syftet och målet med denna studie var att uveckla en VR-applikation genom vilken användare bereds möjlighet att styra och ta emot data från en HiWonder JetAuto SLAM robot. Applikationen byggdes i spelmotorn Godot med ramverket OpenXR för att sammankoppla applikationen med olika VR-headset. För uppkoppling till robot nyttjades en av roboten förkonfigurerad Wifi-hotspot genom vilken instruktioner och data utbyttes mellan roboten och applikationen i formen av JSON i enlighet med ROSBridge API-specifikation. Applikationen möjliggör för en användare att ta kontroll över en robot och skicka instruktioner för förflyttning av hela roboten genom att interagera med roboten i en VR-miljö. Instruktioner för förflyttning genererades med hjälp av en A*-algoritm. Då den valda roboten var utrustad med en robotarm gavs användaren möjlighet att flytta på denna genom att interagera och dra i den virtuella representationen av robotarmen. Videodata från robotens olika kameralägen återfås inuti VR i formen av en virtuell skärm eller på insidan av en kamerasfär i realtid. Även om det kan tänkas finnas fler och mer intuitiva sätt att ta emot och se video inuti VR utgör applikationen ett bra utgångsläge för vidare efterforskning och utveckling. Fortsatt integration av övriga sensorer och datakällor hade kunnat nyttjas för att förbättra nyttovärdet av applikationen.

Beskrivning

Ämne/nyckelord

VR, Godot, ROS, Robot, OpenXR, Människa Robot Interaktion, Websocket

Citation

Arkitekt (konstruktör)

Geografisk plats

Byggnad (typ)

Byggår

Modelltyp

Skala

Teknik / material

Index

item.page.endorsement

item.page.review

item.page.supplemented

item.page.referenced