Du har sikkert hørt at drone-racing er "den nye motorsporten"; altså løp hvor førere med videobriller styrer små racer-droner gjennom futuristiske baner fulle av LED-lys.
Men for oss utviklere er det en annen dronesport som er enda mer spennende: Konkurranser med autonome droner.
Her handler det ikke om lynraske reflekser, men om koding som får dronene til å løse oppgaver helt på egen hånd.
I Norge har vi faktisk et norsk lag i verdenstoppen: Ascend NTNU, bestående av studenter ved, ganske riktig, NTNU. Vi tok en prat om karbonfiber, koding, simulatorer og konkurranser med teoretisk sett umulige oppgaver.
Internasjonale drone-konkurranser
- Organisasjonen ble stiftet av en gruppe ingeniørstudenter i 2015, og har siden opplevd stor vekst, forteller nestleder Airin Thodesen i Ascend NTNU til kode24.
I år er de 42 medlemmer fra 10 ulike studieretninger, men naturlig nok mange fra tekniske studier, og aller flest fra Kybernetikk og Robotikk. Sammen utgjør de et styre, gruppeledere og seks undergrupper: Control, Perception, AI, Hardware, Alpha Pilot og Marketing.
«Ascend NTNU presterer i toppklassen.»
Sammen konkurrerer de i internasjonale konkurranser mot andre dronelag; i år International Aerial Robotics Competition (IARC) og AlphaPilot.
- Ascend NTNU presterer i toppklassen, forteller teknisk nestleder Kevin Meyer i Ascend NTNU til kode24.
- Siden 2016 har vi årlig deltatt i IARC-konkurransen i Atlanta, USA, hvor vi blant annet har vunnet priser for "Best system design" og "Most innovative design". Sommeren 2019 fikk Ascend sin beste plassering noensinne, hvor vi vant den amerikanske delen av konkurransen.
Umulige oppdrag i IARC
IARC-konkurransen er den eldste, og har blitt arrangert av The Association for Unmanned Vehicle Systems International Foundation (AUVSI foundation) siden 1991.
Jonas (35) er CTO for en norsk undervannsdrone
IARC består av en oppgave som skal være umulig å løse med teknologien som finnes når oppgaven gis, og når teknologien kommer på et høyt nok nivå til at noen faktisk klarer det, gis et nytt oppdrag. I år skal Ascend NTNU prøve seg på IARC Mission 9.
- Mission 9 går i korte trekk ut på å fly en distanse på 3 kilometer til "skip", hvor dronen må fjerne en komponent som sitter på masten av skipet og erstatte det med en lik komponent som den har tatt med. Den skal så kunne fly tilbake til startposisjonen og lande. Alt dette skal gjøres autonomt, med en mast som beveger seg og svinger som om det var på et skip, og man har kun 9 minutter fra start til slutt. Man må da regne med topphastigheter opp mot 80 kilometer i timen, og millimeterpresisjon på utbyggingsfasen, forteller Meyer.
Her ser du en presentasjon av det forrige IARC-oppdraget:
Konkurransen Alpha Pilot organiseres av Lockheed Martin og Drone Racing League. Her handler det om å fly autonomt rundt en kompleks bane, raskere enn verdens beste dronepiloter.
Men begge konkurransene handler altså i bunn og grunn om det samme: Å bygge og programmere en drone som kan bli sluppet løs og klare seg helt på egen hånd.
Bygger dronene selv
- Vi starter med utgangspunkt i en karbonfiber-ramme som er kjøpt inn. Dette er skjelettet til en drone som vi bygger ut ifra, men selv skjelettet vil være ganske ugjenkjennelig når vi er ferdig med den, forteller maskinvare-skaper Elias Bergquist i Ascend NTNU.
Mange av delene lager de selv, med karbonfiber og 3D-printing. Så er det elektronikken, da, hvor også mye må lages selv.
- Ofte fordi det helt enkelt ikke finnes noe på markedet som har de egenskapene vi trenger, sier Bergquist.
Da dronene altså skal være selvstyrende, handler mye av jobben om programmering. For det meste går det i C++ og Python, mye fordi dette støttes av Robot Operating System (ROS); et utbredt rammeverk for robotikk-kode.
- Ved å benytte ROS blir delsystemene våre uavhengige komponenter som kommuniserer med hverandre, og hvert medlem kan jobbe med og forbedre systemet deres uavhengig av de andre. Dette gjør det både lettere å teste hvert system før systemet settes sammen, forteller Nadia Wangberg i Ascend NTNU.
Kunstig intelligens
Som nevnt har Ascend NTNU flere grupper med folk, og mange av dem jobber på hver sin del av programvaren.
- I Perception blir sensordata håndtert, som hovedsakelig består av bildeanalyse. Deep learning har blitt brukt mye i tidligere år til gjenkjenning av ulike oppdrag-spesifikke elementer, og brukes blant annet av AlphaPilot-gruppen vår til å finne hjørnene til portene dronen vår skal fly gjennom, forteller Wangberg til kode24.
I tillegg jobber de mye med lokalisering av dronen, med eller uten GPS, og kartlegging av omgivelsene.
- AI-gruppen programmerer mye planning-algoritmer, som tar inn data fra Perception og gjør smarte valg som kontroll-modulen deretter utfører. Både dyp læring og tradisjonelle AI algoritmer brukes, fortsetter Wangberg.
Å teste drone-kode
Blant annet gjennom biblioteker og rammeverk som OpenCV, Point Cloud Library og PyTorch kan systemene testes uten å involvere noen fysisk drone.
Men Ascend NTNU har også begynt å utvikle dronesimulatorer, for å teste alle systemene sammen.
Marius lager selvspillende AI-bot 🤖
- Jeg var så fryktelig lei av at ungene hele tiden spurte etter penger.
- Tidligere har vi brukt Gazebo; et simulatormiljø som er tett knyttet til ROS. Men det ble bestemt at vi trengte en mer fotorealistisk løsning for å kunne teste datasynløsningene sammen med resten av stacken, forteller Meyer.
I jobben med IARC-utfordringen har de laget en simulator i Microsofts AirSim, bygget på Unreal Engine, hvor koden deres kan sende signaler til en virtuell dronekontroller som er lik den de skal koble seg på i den faktiske konkurransen. AlphaPilot-utfordringen jobbes med i FlightGoggles, basert på Unity-motoren.
Men av og til må ting testes i det virkelige liv; ikke minst for å sjekke at også den fysiske dronen de skal bruke fungerer som den skal.
- Nå som IARC-oppdraget skal foregå utendørs, må vi samarbeide med flystriper og klubber i nærområdet for å teste dronen skikkelig, forteller Meyer.
I tillegg får de testa litt innendørs, blant annet på NTNU sitt eget rom med bevegelsessporing som logger dronen posisjon til enhver tid.
Dommerne har killswitch
Men som alt annet; uansett hvor mye man tester, veit man aldri hva som kan skje. Og når det går galt med en flyvende drone, blir det potensielt farlig.
- Men vi har sikkerhetsrutiner som sørger for at ingen blir skadet, forsikrer Wangberg.
«Vi har sikkerhetsrutiner som sørger for at ingen blir skadet.»
- Hvis vi merker at dronen begynner å leve sitt eget liv, kan en dronepilot fra Ascend ta over kontrollen og lande dronen manuelt med en kontroller. Hvis ikke dette blir gjort raskt nok, er dommerne av konkurransen utstyrt med en killswitch som skrur av motorene til dronen, forteller hun.
Synes du autonome droner høres ut som en dyr hobby, har du nok et poeng. Men Ascend NTNU har sponsorer som dekker kostnadene til blant annet dronedeler, klær og reising, mot at sponsorene får nærmere kontakt med potensielle ansatte. Og medlemmene av Ascend NTNU får både faglig og sosialt utbytte.
- Ascend er et frivillig verv, så de som er med har gjerne en over middels interesse for droner, smiler Thodesen.
- Og medlemmene får en unik mulighet til å benytte teori i praksis, som kan være fordelaktig med tanke på jobb og karrière.
Vi testa norske apper på Google Assistant
Å snakke med dagens kunstige intelligens er en komisk feberdrøm. 🌡️