• No results found

Unders¨ okningsresultat

In document Hur är det att vara en robot? (Page 73-76)

A.7 Slutsatser

C.6.3 Unders¨ okningsresultat

Enk¨atunders¨okningen gjordes i en v¨aldigt liten skala och med individer som har en relativt lika bakgrund. D¨arav kan man inte dra n˚agra st¨orre slutsatser av den unders¨okningen. Till unders¨okningsfr˚agorna finns heller inte s˚a stor kontext, det ¨

ar ocks˚a d¨armed m¨ojligt att deltagarna har tolkat p˚ast˚aendena p˚a olika s¨att. P˚a den f¨orsta fr˚agan str¨ackte sig svaren fr˚an 1 ¨anda upp till 4. Kanske tycker den personen som svarade 1 att utvecklarens ansvar inte b¨or str¨acka sig l¨angre ¨an vad roboten ¨ar utvecklad f¨or, men det finns risker med att t¨anka s˚a. Historiskt sett s˚a ¨ar det inte ovanligt att produkter b¨orjat anv¨andas till annat ¨an vad som var t¨ankt fr˚an b¨orjan. Ett exempel p˚a det ¨ar dynamiten som uppfanns av Alfred Nobel [44]. Den var t¨ankt att fr¨amst anv¨andas som spr¨angmedel vid bergspr¨angning. Men tyv¨arr b¨orjade de ¨aven anv¨andas som vapen i krig. P˚a den andra fr˚agan ¨ar svaren i snitt h¨ogre p˚a skalan ¨an i den f¨orsta. Vilket kan k¨annas naturligt d˚a man s¨akerligen har testat roboten f¨or de saker den ¨ar t¨ankt att anv¨andas till. Det ¨ar d¨aremot fortfarande viktigt att utvecklaren funderar p˚a i vilka sammanhang roboten kan hamna i och vilka konsekvenser det kan f˚a. P˚a fr˚aga tre ¨ar meningarna skilda. Buggar kan vara sv˚ara att uppt¨acka och m¨ojligtvis ¨ar det d¨arf¨or n˚agra har angett en s˚a pass l˚ag siffra. Det ¨ar helt en- kelt sv˚art att garantera ett system helt utan buggar och att det ligger utanf¨or utvecklarens kontroll. N˚agra personer har angett att de ¨and˚a k¨anner ett stort ansvar. M¨ojligtvis f¨or att man ser det som sin skyldighet att se till s˚a att det inte finns s˚a pass stora buggar att det kan orsaka en olycka. P˚a den sista fr˚agan ¨

ar svaren entydiga. Vet man om att buggen fanns, och heller d˚a inte gjort n˚agot ˚at den, k¨anner de stort ansvar. Detta k¨anns ganska naturligt.

C.7

Slutsatser

P˚a fr˚agan “Hur mycket ansvar k¨anner utvecklaren vid olyckor?” kommer svaret s˚a klart att variera beroende p˚a vem man fr˚agar. I den h¨ar gruppen kunde man se en trend att utvecklaren skulle k¨anna sig mer ansvarig om hen visste sedan tidigare att det fanns en bugg eller om roboten anv¨andes p˚a ett korrekt s¨att och en olycka ¨and˚a skulle uppst˚a.

P˚a grund av den kulturella eftersl¨apningen finns det inga lagar som ¨ar anpas- sade f¨or robotar som kan svara p˚a fr˚agan “Vem har det juridiska ansvaret vid olyckor?” i dagsl¨aget. Ramar f¨or olyckor med robotar kommer beh¨ovas arbetas fram inom en snar framtid. Men f¨or detta kommer det beh¨ovas fler prejudice- rande r¨attsfall och samarbete mellan akademiska institutioner, f¨oretag, politiker med flera. F¨or att l¨amna ¨over ansvaret p˚a robotar, som det egentligen inneb¨ar om robotar ska kunna straffas f¨or sina handlingar, beh¨over vi st¨orre kunskap om vad det kan komma att inneb¨ara.

D

Inverterad kinematik av Emil Segerb¨ack

Denna del av rapporten ¨ar skriven av Emil Segerb¨ack som agerade arkitekt och konfigurationsansvarig under projektet.

D.1

Inledning

N¨ar man ska r¨ora p˚a armar eller ben p˚a en robot eller en virtuell 3D-figur vill man ofta kunna g¨ora det genom att placera h¨anderna eller f¨otterna p˚a vissa speciella positioner ist¨allet f¨or att s¨aga vilka vinklar de olika lederna ska vridas till. Detta kallas f¨or inverterad kinematik (IK) och det finns flera s¨att att g¨ora det p˚a.

D.1.1 Syfte

Syftet med detta avsnitt ¨ar att g˚a igenom n˚agra olika metoder f¨or inverterad kinematik, hur det fungerar i Unity och hur det anv¨ands i v˚art projekt.

D.1.2 Fr˚agest¨allning

Vad f¨or IK-metod passar f¨or ett projekt som liknar v˚art?

D.2

Bakgrund

Det h¨ar avsnittet ¨ar en del av en st¨orre rapport till ett projekt om att skapa ett VR-gr¨anssnitt till roboten Pepper som tillverkas av f¨oretaget Aldebaran. Roboten styrdes med hj¨alp av en HTC Vive som ¨ar ett VR-system best˚aende av ett VR-headset och tv˚a handkontroller. Headsetet anv¨andes f¨or att kontrollera robotens huvud och visade en kamerabild fr˚an en kamera som placerades p˚a robotens huvud. Anv¨andaren kunde anv¨anda handkontrollerna f¨or att r¨ora p˚a robotens armar. Den f¨ardiga produkten ¨ar t¨ankt att anv¨andas vid forskning p˚a Institutionen f¨or datavetenskap vid Link¨opings universitet.

D.3

Teori

Inverterad kinematik kan g¨oras analytiskt eller iterativt. En analytisk metod r¨aknar ut resultatet direkt medan en iterativ metod utg˚ar ifr˚an ett startl¨age f¨or alla leder och letar sig successivt mot en b¨attre l¨osning. [45]

Rotationer i tre dimensioner kan representeras p˚a flera olika s¨att. Ett intuitivt s¨att att t¨anka sig ¨ar s˚a kallade eulervinklar som g˚ar ut p˚a att man har tre ortogonala axlar och en vinkel runt vardera av dessa [46]. Vinklarna appliceras i

en best¨amd ordning f¨or att f˚a den ¨onskade rotationen. Desv¨arre kan eulervinklar leda till vissa problem. Bland annat kan de r˚aka ut f¨or n˚agot som kallas gimbal lock vilket inneb¨ar att en axel har vridits s˚a mycket att den har blivit parallell med en annan axel s˚a att den inte l¨angre tillf¨or extra information. [47]

Ett annat s¨att att representera orientationer ¨ar med n˚agot som kallas kvater- nioner [48]. Kvaternioner ¨ar som komplexa tal som har expanderats till fyra dimensioner ist¨allet f¨or tv˚a. De ¨ar lite mer abstrakta och inte lika enkla att f¨orest¨alla sig i huvudet. Ett m¨ojligt s¨att att f¨orest¨alla sig kvaternioner ¨ar att t¨anka sig en punkt p˚a en fyrdimensionell enhetssf¨ar (sf¨ar med radie 1) [49] vilket kanske inte blir s˚a mycket l¨attare att f¨orest¨alla sig. Kvaternioner ¨ar dock enkla att kombineras efter varandra, enkla att interpolera mellan och de lider inte av gimbal lock. [47]

F¨or att representera leder och deras rotation och position i en virtuell milj¨o anv¨ander man sig av ett skelett som byggs upp som en hierarki av ben. Om man till exempel vill f˚a ut ett resultat i form av en grafisk figur med en 3D- modell binder man de punkter som ¨ar 3D-modellens best˚andsdelar med olika vikt till olika ben. Punkterna placeras genom ett viktat genomsnitt baserat p˚a de vikter de tilldelats till olika ben s˚a att de visas i en viss pose. [50]

Animationsystemet i Unity kallas f¨or Mecanim. Det har m˚anga funktioner, bland annat inverterad kinematik, ¨overg˚angar mellan olika animationer och del- ning av animationer mellan olika 3D-modeller. Animationer best˚ar av s˚a kallade animations-klipp som ¨ar specifika r¨orelser, till exempel att g˚a eller plocka upp ett objekt. Animationsklippen kombineras ihop i ett sorts fl¨odesschema som kal- las f¨or en “Animator Controller” d¨ar man kan v¨alja villkor f¨or n¨ar animationer ska spelas och vilka animations-klipp som f¨oljer vilka. [51]

In document Hur är det att vara en robot? (Page 73-76)