Mit arbejde er typisk at konstruere IT-systemer helt fra grunden. Jeg kommunikerer intensivt med kunden, således, at systemet kommer til at blive et godt redskab for kunden.

Nedenfor vil jeg beskrive et antal forskellige IT-systemer, som jeg har konstrueret.

Et program, som behandler data fra jordbrugforsøg

Kunden er et dansk universitet, som arbejder med jordbrugsforsøg.

Råmaterialet er billeder af forsøgsmarker, som er blevet taget af en drone. For hver mark bliver udvalgte dele af disse billeder sammensat til et stort billede, som har en høj opløsning, og alle områder på billedet er taget i en 90 graders vinkel i forhold til vandret. Billederne kan blive ret store - 100 Mbytes til 1 Gbytes.

Forsøgsmarken er inddelt i parceller, og parcellerne bliver udsat for forskellige forsøg, således, at man kan foretage sammenligninger (for eksempel kan man sammenligne 2 forskellige byg-arter). Der bliver taget billeder af forsøgsmarkerne løbende, således, at man se hvordan det udvikler sig.

Jeg har konstrueret et klassisk Windows program (skrevet i C#), som kan hjælpe forskerne med at klippe og strække billederne, og få hver enkelt parcel klippet ud, og foretage vurderinger af hvor meget grøndækning der i hver parcel. Programmet er ret komplet, da det indeholder mange features. De genererede data lægges i filer på computerens harddisk, eller de gemmes i en database (incl. genererede billeder).

Her er et par eksempler på grøndækning, som er en af de mange ting, som programmet kan - det grønt/sorte billede viser områderne med og uden plantevækst.


Kopiering af store mængder data til en server via Raspberry Pi

En virksomhed har en række biler, hvorpå der er monteret et antal kameraer, som tager billeder af de danske veje (på samme måde som googles Street view). I en periode blev der taget et stort antal billeder hver dag for hver bil, og billederne blev gemt på harddiske. Chaufførerne skulle selv kopiere billederne til en server, når de var kommet hjem. I alt skulle der kopieres flere terabytes til serveren hver eneste dag. Serveren behandlede billederne på passende vis.

Min opgave var at konstruere et simpelt system, som kunne kopiere billederne fra harddiskene til serveren. Systemet skulle være nemt at bruge for chaufførerne: Når de kom hjem skulle de blot sætte harddiskene til en computer via usb, og derefter vente på, at alle billederne blev kopieret (de havde gode internetforbindelser).

Jeg anvendte en lille Raspberry Pi computer, som blev forbundet til en lille monitor. Raspberry Pi og monitoren blev indbygget i en kasse, som var beregnet til formålet. Jeg lavede et java-program, som kiggede efter, om computeren blev forbundet med en harddisk, som var fyldt med billeder. Når en harddisk blev opdaget, så begyndte programmet at kopiere billederne fra harddisken til serveren.

Automatisk styring af drone via android APP

Dronen Phantom 4 Pro fra DJI har et godt kamera. Dronens fjernkontrol kan kobles til en androidenhed (tablet eller mobiltelefon), og via en APP kan vi opnå, at dronen kan flyve automatisk.

Jeg programmerede APP'en til android (java-programmering), og formålet med APP'en er at indhente et billedemateriale fra landmænds marker, for at kunne give et beslutningsgrundlag for behandling af ukrudt. Billederne bliver behandlet i et ekspertsystem, som blandt andet kan genkende, hvilken type ukrudt der er på markerne. APP'en vil overtage styringen af dronen, og dronen vil automatisk flyve en forudbestemt rute (via GPS-koordinater) og automatisk tage et antal nærbilleder (batteriet kan skiftes undervejs) af planterne i 1 til 3 meters højde.

Kameramodul

Jeg har lavet et kameramodul til en fastvinget drone (fly), som bruges i forbindelse med landmåling. Denne type drone anvendes til at tage billeder i 70-100 meters højde. Kameramodulet består af en lille Raspberry Pi, en GPS og et udvalgt kamera (plus lidt mere elektronik). Via et hack på kameraet, kan tidspunktet for billedtagningen findes ret præcis, således at GPS-koordinater og billeder synkroniseres. Kameramodulet vil blive udbygget i den kommende tid, så GPS-koordinaterne bliver endnu mere præcise.

Datalogger - dokumentation af variationer via sensorer

Projektet 'Datalogger' går ud på at dokumentere de varierende omstændigheder under et bestemt arbejde. En computer er placeret i en selvkørende maskine, og computeren reporterer de indhentede data til en central database. Hardwaren er helt konkret en (embedded Windows-baseret) computer, som er tilknyttet en række sensorer (GPS, meteorologiske sensorer, RFID, kamera med mere). IT-systemet kommunikerer med den centrale database via et mobil-modem.

Der indsamles følgende data: GPS (placering af maskinen og arbejdsstedet), lysforhold, temperatur, nedbørsforhold, fugtighed, vindhastighed, og lufttryk (dvs en række metrologiske data), der tages løbende billeder af omgivelserne, der genkendes forskellige objekter (primært lastbiler via RFID) og handlinger (modtager følgesedler med angivelse af materialer). Endvidere er der afstandsmålere (via ultralyd) og IR-temperatursensorer.

Sensorerne er RS232-baserede (der er flere protokoller og der anvendes analog til digital konvertere i forbindelse med analoge signaler) eller IP-baserede. Disse data (incl. billeder) gemmes lokalt og de synkroniseres med den centrale database, når det er muligt. Ved dårlig mobil-forbindelse sendes kun de vigtigste data - resten sendes når forbindelsen er blevet stabil.

IT-Systemet på den selvkørende maskine kan også modtage input fra de personer, som betjener maskinen. Dette kan gøres via tablet (her benyttes en klassisk hjemmeside og netværksforbindelsen er wifi), RFID og SMS.

Der er et antal af disse selvkørende maskiner, og de indhentede data synkroniseres mod en central server. Denne centrale server tilbyder en JSON-baseret web-service til de selvkørende maskiner og databaserne synkroniseres på denne måde. Den centrale server tilbyder også en hjemmeside, hvor brugere kan udtrække statistiske analyser og oversigter, og der er mulighed for at søge og filtrere data udfra specikke kriterier.

Programmet, som blandt andet indsamler data fra sensorer, er skrevet i C#, og web-services og web-sites er skrevet i asp.net/C#. Database-serveren er PostgreSQL, og den anvendes både på de selvkørende maskiner og på den centrale server.

Ventilatorsimulation

IT-systemet er udviklet til en kunde, som er førende inden for klimastyring og produktionsovervågning i forbindelse med animalsk produktion.

På baggrund af empiriske målinger af en række ventilationssystemer er det muligt at konstruere en matematisk model, som fortæller hvor meget udsugning et antal ventilatorer kan foretage under bestemte betingelser. Denne model er implementeret i systemet, og brugeren kan simulere anvendelse af et antal (ikke nødvendigvis ens) ventilatorer på samme tid. Systemet bruges til at vælge og projektere den optimale ventilationsløsning.