Visuell ServoRune Volden Steffen Log InnledningDenne våren ble det gjennomført et 3. års studentprosjekt ved Høgskolen i Østfold, Avdeling for informatikk og automatisering, som gikk ut på å kombinere en ABB IRB-1500, som er en 6 frihetsgrads industrirobot, og et kamera til å automatisk følge og gripe en gjenstand. Basert på fargegjenkjenning greide roboten å følge en rød, grønn og blå ball, for så å gripe den. På robotarmen var det festet et enkelt fargekamera med oppløsning på 512x582 piksler like ved gripeleddet. Kameraet var koplet til en SGI Indy arbeidsstasjon. Den beregnet først ballens posisjon og bevegelse og sendte deretter forflytningskommandoer til roboten over en RS232 kanal. Etter at operatøren startet programmet fulgte roboten automatisk etter ballen når den kom inn i kamerabildet.
MetodeProgramvaren var skrevet i C og C++ og gjorde bruk av Video Library. Video signalet ble digitalisert i PAL standard med oppløsning 768x576 piksler. Bildet ble "subsamplet", fargetersklet før den gikk igjennom et områdesøk. Resultatet av områdesøket var x-og y- koordinatene til objektet i bildet, som ble sendt til en følge-algoritme. Denne følge-algoritmen predikterte posisjonen i neste bilde og ga koordinatene som roboten skulle flytte til. Dette er vist i figur 1.figur 1 FiltreringDet ble foretatt "subsampling", slik at hvert 3. piksel i horisontal og vertikal retning ble behandlet. Dette ble gjort for å øke hastigheten til systemet. Deretter ble det foretatt en fargeterskling. Da objekt og farge var kjente, ble gjenkjenningen enkel. Allikevel var den største ulempen med fargeterskling at forandringen i lysforhold kunne ødelegge. Fordelen var at følgingen fungerte selvom bakgrunnsbildet var komplekst. For å finne ut hvor objektet var i det tersklede bildet, ble det foretatt et områdesøk. Områdesøkingen ble foretatt med følgende metode:Ved første piksel som ligger innenfor den riktige fargen, begynner algoritmen å telle opp antallet etterfølgende piksler som har samme farge innenfor et kvadratisk område. Er det nok piksler, blir det antatt at området er av riktig type objekt. Koordinatene til det første pikslet med riktig farge blir sendt videre til en "-tracker". Hvis ikke det er nok piksler, fortsetter rutinen å søke i området etter første piksel den finner med riktig farge.
Følge algoritmeVi kan ikke sende koordinatene direkte til roboten p.g.a. tidsforsinkelsen. En form for prediksjon må gjøres, og dette blir gjort med "-trackeren", som er en spesialversjon av Kalman filteret. Ved å måle posisjonen til ballen gjennom flere bilder, blir posisjonen til ballen i neste bilde prediktert. Roboten følger etter den predikterte posisjonen og greier således følge etter uten særlig tidsforsinkelse. Rutinen fulgte godt når avstanden til ballen var mer enn 15 cm fra kameralinsen.Avstanden til ballen ble enkelt beregnet som en funksjon av antall "riktig farge" piksler i bildet. Det var nødvendig å regne ut denne avstanden da roboten skulle gripe ballen og at programmet var nødt til å beregne relativ bevegelse, siden en bevegelse foran kamera blir større når kameraet er nærme enn lengre fra. Andre følge-algoritme metoder som bevegelse, korrelasjon og null-disparitet ble også vurdert, men farge-følging ga det beste resultatet fordi den taklet bakgrunnsbevegelse samtidig med objekt bevegelse og at roboten fulgte et enkelt objekt som kunne skille seg ut på farge. Beregningene ble enklere, som gjorde at vi kunne ta oftere målinger, som igjen ga bedre samlet resultat. Hurtige beregninger ble viktigere enn høy nøyaktighet. Det ble også utviklet en objektorientert protokoll for kommunikasjon mellom arbeidsstasjonen og roboten.
ForbedringerSystemet kan klart forbedres på flere måter. Den første er at en sanntidskjerne bør brukes. I dette tilfellet ville det være sanntidssystemet React. Hvis det hadde vært brukt, ville bildebehandlingen kunne blitt foretatt parallelt med kommunikasjonen til roboten og forflytningen av roboten. Den andre forbedringen ligger i at en dynamisk modell for roboten kunne vært brukt, for å gi en jevnere bevegelse. Ellers ligger det store utfordringer i det med gjenkjenning og måter å gripe objekt på.
KonklusjonEt vellykket forsøk på å følge og gripe en ball ble foretatt ved hjelp av en industrirobot, et fargekamera og en arbeidsstasjon. Prosjektet klarte på en tilfredsstillende måte å demonstrere at det var mulig å løse problemer med samtidig bevegelse av kamera og objekt.
Copyright: 1996, Høgskolen i Østfold. Last Update: 28.06.97, Thomas Malt. |