\section{Videre arbeid}

3D-grafikk er sentralt i produktet, og de fleste relevante utvidelser av
	prosjektet fordrer kunnskap på denne fronten.
Kjennskap til robot-kinematikk vil også være sentralt for de fleste utvidelser.

\subsection*{Integrasjon av hjul}

Robotarmen er festet på en bil med fire servomotorer som hjul, og en naturlig utvidelse vil være å inkludere
	denne i prosjektet.
Hjulene på bilen har sensorer som gjør det mulig å inkludere bilen i 3D
	modellen.
Dette åpner også for styring av bilen igjennom det eksisterende
	brukergrensesnittet.

\subsection*{Banefølging}

Da forover- og inverskinematikk allerede er håndtert, legger dette til rette for
	å generere en bane som en ønsker robotarmen skal følge.
Man vil da kunne visualisere denne banen på forhånd med den transparente
	modellen før en gir kommandoen til roboten.

Dette kan kombineres med \emph{Integrasjon av hjul} for å følge mer komplekse
	kurver i rommet.

\subsection*{Visualisering av omgivelser}

For å bruke prosjektet i praksis vil en trenge en visuell referanse, og mulighet til å visualisere objektene som roboten skal arbeide på eller med.
Visualisering av omgivelsene vil gi en solid referanse for styring i
	3D-modellen.
For å oppnå dette kan en bruke kamera og sensorer, enten separat eller i
	kombinasjon.
En Kinect eller en LIDAR sensor vil gi 3D-informasjon om omgivelsene som kan overføres til klienten og visualiseres sammen med roboten i 3D-visningen.
Dersom man har en presis modell av fartøyets bevegelse, vil et kamera kunne
	kartlegge omgivelsene med god presisjon .
Et kamera vil også kunne bidra med farging av omgivelsene, og det vil være et
	godt supplement til 3D-visualiseringen.
Dette vil trolig kreve kunnskap om bildebehandling og 3D-grafikk.

\subsection*{Implementasjon av serveren og driver til portabel datamaskin}

Ved å overføre serveren og driveren til en mikrokontroller eller Raspberry Pi kan en oppnå
	trådløshet av robotarmen.
Dette antas å være relativt lite tidkrevende, og det vil være praktisk å kombinere med en mobil robot.
Det var et mål for prosjektet å implementere dette på en Raspberry Pi, men det
	ble forkastet da Qt 5.2 ikke var ferdig kompilert til ARM-plattformen til Raspberry Pi.

\subsection*{Implementere sikrere kommunikasjon}

Sikkerhet har ikke vært en prioritet for oss i dette prosjektet, men kan være
	interessant i senere implementasjoner.
I nåværende versjon av systemet er det ingen form for kryptering eller
	autentisering i kommunikasjonen mellom klient og server.
Det vil si at det ville vært uproblematisk for utenforstående å benytte seg av
	systemet og potensielt misbruke det.
For å motvirke dette bør det implementeres kryptering og også funksjonalitet som
	krever at operatører av systemet må logge seg på, for å sikre at kun de som
	faktisk skal ha tilgang til systemet får det.

\subsection*{Legge til flere ledd}

For en mer sofistikert robot kan en legge til flere ledd.
En kan utvide biblioteket for å støtte flere ledd uten å fysisk endre på roboten.
Inverskinematikken for flere ledd er dog meget eksponentiell i kompleksitet, og i stedet for å utlede denne selv, bør man forsøke å finne et mer generelt bibliotek.
