Hverdagen for oss forskere er som regel veldig travel, og det er ikke alltid vi rekker å pynte til Halloween selv. Så i år bestemte vi oss for å bruke vår teknologiske ekspertise til å automatisere gresskar utskjæringsprosessen. Vi har jo allerede en robot som kan brukes til å smelte metall med lasere, så hvorfor ikke bytte ut laseren med en “drill” og la roboten gjøre jobben for oss?
Det høres kanskje lettere ut enn det er, så i denne bloggen skal vi forklare dere mer om hvordan vi gikk frem for å få det til, og hvilke problemer vi måtte løse for å få til det perfekte gresskaret.
Disclaimer: Dette blogginnlegget er ment for å gi en informativ og underholdende fremstilling av produksjonssprosesser, og er ikke ment som en oppfordring til å gjøre det samme hjemme. Vi er erfarne forskere med tilgang til avansert utstyr og sikkerhetstiltak som vet hva vi gjør (for det meste). Vi anbefaler derfor ingen å bruke en robotarm til å skjære ut et gresskar selv, men om dere har et produkt som passer til våre prosesser er dere velkommen til å ta kontakt med oss.
Steg 1: Lage en digital kopi av gresskaret
Det første steget var å lage en digital kopi av gresskaret som vi kunne bruke til å planlegge hvordan vi skulle skjære det ut. For å gjøre dette brukte vi et 3D-kamera som heter Zivid 2 +, som kan lage en punktsky av gresskaret ved å ta et enkelt eller flere bilder fra ulike vinkler. Dette ga oss en nøyaktig modell av gresskarets form og størrelse, som vi kunne bruke videre.
Scanning av gresskar med Zivid 2+
Et sort/hvit bilde projisert oppå gresskargeometrien
Men en punktsky er ikke nok for å fortelle roboten hvordan den skal skjære. Vi trengte også en måte å overføre et bilde av det mønsteret vi ønsket på gresskarets overflate. For å gjøre dette brukte vi en matematisk metode som heter B-spline, som kan lage en glatt flate som passer til punktskyen. På denne flaten kunne vi så legge på et bilde som viste hvor dypt roboten skulle skjære i gresskaret.
B-spline mønster til utskjæring
Planen er å skjære ut et bilde i gresskaret. Så et svart-hvitt bilde må oversettes til forskjellige dybder, i henhold til gråskalaen på bildet. Med en kode var det mulig å generere en maske ut av et bilde og å projisere banen på toppen av masken. For å unngå uønskede kutt mot gresskaret, inkluderer baneplanleggingen at verktøyet trekkes tilbake før neste kutt blir gjort.
Steg 2: Stabilisering og festing av gresskaret
Det neste steget var å feste gresskaret til roboten slik at det ikke skulle bevege seg mens roboten skulle skjære mønsteret. Dette steget er viktig da roboten trenger å vite nøyaktig hvor gresskaret befinner seg i forhold til borren. Vi hadde ikke noen ferdige gresskar holdere, så vi måtte lage noen selv. For å gjøre dette brukte vi et 3D-modelleringsprogram til å designe flere forskjellige holdere som vi tenkte kunne hjelpe oss med å holde gresskaret stabilt. 3D-printe prosessen tar ca. 3 timer og vi startet med å printe en holder med en spiss som vi kunne sette gresskaret på med to hull slik at vi kunne skru fast platen på bordet roboten jobber rundt.
3D-modell av den første holderen. Denne versjonen holdt ikke gresskaret stabilt nok.
Men denne holderen holdt ikke gresskaret stabilt nok. Gresskar er jo verken runde eller symmetriske og materialet gjør det også lettere at det ruller, vipper eller beveger seg mens roboten jobber. Hvis gresskaret bare flytter seg noen millimeter, er det nok til å ødelegge det ferdige resultatet. Vi måtte derfor printe en ny holder som bestod av to deler, den ene til å feste på bordet og den andre ble montert inne i gresskaret og skrudd sammen til den nederste platen. Denne holderen holdt gresskaret stabilt nok til at vi kunne fortsette prosessen.
3D-modell av den siste holderen. Dette ble en holder printet i to deler, der delen til høyre monteres på platen, og delen til venstre inne i gresskaret. De ble så skudd sammen, og gjorde at gresskaret var stabilt nok til å kunne fortsette.
Steg 3: Kalibrering av kamera, robot og verktøy
Det tredje steget var å kalibrere kameraet og roboten slik at de var enige om hvor alt var i rommet. Kameraet visste hvor hvert punkt på gresskaret var, men det hjalp ikke hvis roboten hadde et annet referansesystem. De måtte begge vite hvor nullpunktet var, ellers kunne de ikke samarbeide.
For å gjøre dette brukte vi en spesiell kalibreringsplate som hadde et kjent mønster av svarte og hvite firkanter. Vi plasserte platen foran kameraet og lot roboten peke fire forskjellige vinkler på en side av platen med en spiss. På denne måten kunne vi finne ut hvordan kameraet og roboten så på verden, og justere dem slik at de var i synk.
Zivid kalibreringsplate
Steg 4: Skjære ut gresskaret
Det siste steget var å skjære ut gresskaret med roboten. Vi hadde nå alt vi trengte for å gjøre dette: En digital kopi av gresskaret med et bilde av mønsteret, en holder som holdt gresskaret fast, og en kalibrert kamera-robot kombinasjon. Da er det bare å trykke på play og satse på suksess ved første forsøk.
Et av våre første forsøk på gresskar. Før og etter fjerning av overflødig gresskarmasse.
Et lite utvalg av de maaaaaange gresskarene vi skjærte ut.
Og voila! Her er resultatet av vårt projekt
Gjennom denne bloggen har vi delt hvordan prosessen var med å skjære ut et gresskar med en robotarm og utfordringene vi møtte på veien. Var det like enkelt som du tenkte? Vi håper i hvert fall at du har lært noe nytt og interessant om matematikk, robotikk, og kanskje også gresskar. Vi håper også at du har likt å se vår mer kreative og kanskje litt gale prosess. Vi er i hvert fall veldig fornøyde med resultatet, og synes vi har laget det mest episke gresskaret i Norge.
Og med det ønsker vi deg en skrekkelig god halloween.
Forresten, har du lyst å se en video av prosessen? Tenkte meg det…….da kan du se den her:
Ansvarlige for prosjektet:
- Kjetil André Johannessen, Forskningsleder, SINTEF Digital, Mathematics and Cybernetics, johannessen@sintef.no
- Martin Albertsen Brandt, MSc, SINTEF Digital, Mathematics and Cybernetics, brandt@sintef.no
- Eirik Njåstad, fosker, SINTEF Manufacturing, Produksjonsteknologi, njaastad@sintef.no
- Joana Goerg, student, SINTEF Manufacturing, Produksjonsteknologi, jgoerg@rptu.de
Kommentarer
Ingen kommentarer enda. Vær den første til å kommentere!