ˇ Cesk´ e vysok´ e uˇ cen´ı technick´ e v Praze Fakulta elektrotechnick´ a katedra ˇ r´ıdic´ı techniky
Robotick´ y stoln´ı fotbal Detailn´ı konfigurace inteligentn´ı kamery Cognex In-Sight Vojtˇ ech Myslivec,
[email protected] Duben 2015
Obsah 1 Anotace
1
2 Pouˇ zit´ y hardware a software
2
3 Konfigurace kamery
3
3.1
Pˇripojen´ı ke kameˇre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
3.2
Nastaven´ı obrazu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
3.3
Vyhled´av´an´ı m´ıˇce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
3.4
Inicializace rotaˇcn´ı osy . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
3.5
Konfigurace v´ ymˇeny dat po s´ıti PROFINET . . . . . . . . . . . . . . . . .
7
3.6
Uloˇzen´ı programu do kamery a prvn´ı spuˇstˇen´ı . . . . . . . . . . . . . . . . 10
4 Konfigurace ˇ r´ıdic´ı jednotky
1
11
Anotace
Tento dokument se zab´ yv´a konfigurac´ı inteligentn´ıch kamer In-Sight 7402 a In-Sight 500 od firmy Cognex, kter´e jsou pouˇzity pro detekci polohy m´ıˇce stoln´ıho fotbalu. Kamera je um´ıstˇena nad stolem a z´aroveˇ n se sledov´an´ım m´ıˇce tak´e dovede urˇcovat polohu hr´aˇc˚ u. Konfigurace pro obˇe kamery je identick´a.
1
2
Pouˇ zit´ y hardware a software
Pouˇzit´e kamery jsou typu In-Sight 7402 a In-Sight 500, verze jejich firmware jsou 4.7 a 4.6, tomu tak´e odpov´ıd´a pouˇzit´ y software In-Sight Explorer, kter´ y lze st´ahnout z webu v´ yrobce www.cognex.com/support/insight, pˇriˇcemˇz postaˇc´ı st´ahnout a nainstalovat pouze software ve verzi 4.7.
Obr´azek 1: Okno programu In-Sight Explorer
2
3
Konfigurace kamery
Hlavn´ım c´ılem je nastavit kameru tak, aby dok´azala spolehlivˇe naj´ıt m´ıˇc na hrac´ı ploˇse v co nejkratˇs´ım ˇcase. D´ale je moˇzn´e kameru nastavit tak, aby z´aroveˇ n sn´ımala pozici soupeˇrov´ ych hr´aˇc˚ u (pˇr´ıpadnˇe i vlastn´ıch - bˇehem inicializace). Vzhledem k svˇeteln´ ym podm´ınk´am a barv´ach hˇriˇstˇe a hr´aˇc˚ u bylo zvoleno siln´e b´ıl´e osvˇetlen´ı hrac´ı plochy pomoc´ı LED p´ask˚ u v kombinaci s ˇcern´ ym m´ıˇcem. D´ıky pˇr´ıtomnosti osvˇetlen´ı je sn´ıman´ y obraz nez´avisl´ y na okoln´ıch svˇeteln´ ych zdroj´ıch. Sn´ımek z kamery je pro ilustraci na obr. 2.
Obr´azek 2: Obraz z kamery bez a s osvˇetlen´ım Po staˇzen´ı, instalaci a spuˇstˇen´ı software In-Sight Explorer (okno na obr. 1) prob´ıh´a veˇsker´a konfigurace (aˇz na jednu v´ yjimku, viz d´ale) pomoc´ı pr˚ uvodce v nˇekolika jednoduch´ ych kroc´ıch, viz obr. 3. Software mus´ı b´ yt ve stejn´e verzi jako je firmware v kameˇre, jinak m˚ uˇze doch´azet k probl´em˚ um, napˇr´ıklad bˇehem nahr´av´an´ı konfigurace.
Obr´azek 3: Kroky konfigurace
3
3.1
Pˇ ripojen´ı ke kameˇ re
Poˇc´ıtaˇc s nainstalovan´ ym SW by mˇel b´ yt ide´alnˇe pˇripojen do stejn´e pods´ıtˇe, jako kamera. Pokud tomu tak je a souhlas´ı verze, zobraz´ı se kamera automaticky po spuˇstˇen´ı programu v lev´em oknˇe s n´azvem In-Sight Network. Pro pˇripojen´ı z jin´e pods´ıtˇe slouˇz´ı n´astroj Explorer Host Table. Dvojklikem na kameru v tomto seznamu otevˇreme v doln´ı ˇc´asti obrazovky moˇznosti, kde vybereme Connect.
Obr´azek 4: Pˇripojen´ı ke kameˇre Po u ´spˇeˇsn´em pˇripojen´ı jsou zobrazena obrazov´a data z kamery.
3.2
Nastaven´ı obrazu
N´asleduje nastaven´ı vlastnost´ı obrazu, pˇredevˇs´ım ˇcasu expozice, kter´ y z´asadnˇe ovlivˇ nuje svˇetelnost z´ıskan´eho sn´ımku. Ve druh´em kroku s n´azvem Set Up Image tedy nastav´ıme Exposure a Trigger dle obr. 5. Spouˇstˇen´ı (Trigger) jsme nastavili na kontinu´aln´ı, tedy kamera bude sn´ımat a vyhodnocovat z´ıskan´e sn´ımky automaticky, st´ale dokola a co nejrychleji.
Obr´azek 5: Nastaven´ı sn´ım´an´ı obrazu
3.3
Vyhled´ av´ an´ı m´ıˇ ce
N´asleduje nastaven´ı s n´azvem Locate Part. Jak n´azev napov´ıd´a, zde je moˇzn´e nakonfigurovat hled´an´ı nˇejak´eho objektu, v naˇsem pˇr´ıpadˇe m´ıˇce. Z Location Tools vybereme Pattern. 4
Obr´azek 6: V´ ybˇer vyhled´avac´ıho n´astroje Po pˇrid´an´ı n´astroje m˚ uˇzeme nastavit jeho parametry, pˇredevˇs´ım jm´eno a rozhodovac´ı mez, viz obr. 7.
Obr´azek 7: Nastaven´ı parametr˚ u pro vyhled´av´an´ı vzoru Nejd˚ uleˇzitˇejˇs´ım parametrem je ale samotn´ y vzor, kter´ y m´a algoritmus vyhled´avat. Vpravo dole vybereme moˇznost Set Up Pattern. Na sejmut´em obrazu se zobraz´ı dva ˇctverce, jeden reprezentuje region, ve kter´em bude algoritmus hledat, a druh´ y reprezentuje vzor. Tento vzor um´ıst´ıme na m´ıˇc. Region nastav´ıme pˇres cel´e hˇriˇstˇe.
Obr´azek 8: Vyhled´avan´ y vzor
3.4
Inicializace rotaˇ cn´ı osy
Dalˇs´ım krokem je Inspect part. Zde je tˇreba konfigurovat n´astroje pro sn´ım´an´ı polohy hr´aˇc˚ u v rotaci (pˇr´ıpadnˇe v budoucnu i mˇeˇren´ı polohy os protihr´aˇce). Tato funkcionalita bude pouˇzita po zapnut´ı syst´emu pˇri inicializaci os. N´astroj, kter´ y toto umoˇzn ˇuje, je 5
v kategorii Presence/Absence tools a jedn´a se opˇet o n´astroj Pattern s t´ım rozd´ılem, ˇze nyn´ı n´astroj neurˇcuje pozici hledan´eho objektu ale pouze jeho pˇr´ıtomnost.
Obr´azek 9: V´ ybˇer n´astroje pro testov´an´ı pˇr´ıtomnosti objektu N´astroj pojmenujeme napˇr´ıklad RotationAxis1 a nastaven´ı vypln´ıme podle pˇr´ıkladu na obr. 10.
Obr´azek 10: Nastaven´ı parametr˚ u pro testov´an´ı pˇr´ıtomnosti objektu Opˇet je tˇreba nastavit vzor, kter´ y bude algoritmus vyhled´avat, nastaven´ı je stejn´e jako v pˇr´ıpadˇe vyhled´av´an´ı m´ıˇce. Detail je na obr. 11.
Obr´azek 11: Vzor testovan´ y na pˇr´ıtomnost nebo absenci
6
Po u ´spˇeˇsn´em nastaven´ı je v´ ysledkem algoritmu boleanovsk´a promˇenn´a ukazuj´ıc´ı pˇr´ıtomnost nebo nepˇr´ıtomnost objektu. Tedy algoritmus testuje, zda je osa ve spr´avn´e pozici co se t´ yˇce rotace.
3.5
Konfigurace v´ ymˇ eny dat po s´ıti PROFINET
D´ale je tˇreba nakonfigurovat kameru tak, aby po s´ıti PROFINET pˇrij´ımala a odes´ılala patˇriˇcn´a data. Co se t´ yˇce odes´ılan´ ych dat, jedn´a se o pozici m´ıˇce v ose x a v ose y a v´ ysledek testov´an´ı osy na spr´avnou pozici v rotaci. Toto nastaven´ı se skr´ yv´a pod krokem Communication. Ze seznamu vybereme PROFINET a pˇrejdeme na z´aloˇzku Format Output Data. Vloˇz´ıme tˇri v´ yˇse zmiˇ novan´e promˇenn´e pomoc´ı tlaˇc´ıtka Add podle vzoru na obr. 12. Pokud se v seznamu volba PROFINET zat´ım nenach´az´ı, je tˇreba ji nejprve pˇridat tlaˇc´ıtkem Add Device a v´ ybˇerem PLC, Siemens PROFINET.
Obr´azek 12: Nastaven´ı odes´ılan´ ych dat po s´ıti PROFINET V pˇr´ıpadˇe pˇrij´ıman´ ych dat je situace sloˇzitˇejˇs´ı. Nejprve je potˇreba nastavit moˇznost zapnout nebo vypnout inicializaci rotaˇcn´ı osy, aby bˇehem hry mohla b´ yt vypnut´a a zbyteˇcnˇe neprodluˇzovala ˇcas zpracov´an´ı. To lze udˇelat obdobnˇe jako v pˇr´ıpadˇe odes´ılan´ ych dat, pouze pˇrejdeme na z´aloˇzku Format Input Data a pomoc´ı tlaˇc´ıtka Add pˇrid´ame pˇr´ısluˇsnou promˇennou podle vzoru na obr. 13.
Obr´azek 13: Nastaven´ı zap´ınan´ı a vyp´ınan´ı procesu inicializace po s´ıti PROFINET Nyn´ı je ale tˇreba nastavit jeˇstˇe moˇznost upravit vyhled´avac´ı oblast ˇr´ıdic´ım syst´emem. Kv˚ uli tomu je tˇreba zas´ahnout do programu, kter´ y byl vytvoˇren automaticky v pˇredchoz´ıch 7
kroc´ıch pouh´ ym vyplnˇen´ım formul´aˇr˚ u. K tomu u ´ˇcelu je tˇreba pˇrepnout m´od, na liˇstˇe nab´ıdek pod poloˇzkou Window vybereme Show Spreadsheet View (nam´ısto st´avaj´ıc´ı Show EasyBuilder View). Touto volbou se pˇrepneme do rozhran´ı, ve kter´em je moˇzn´e kameru programovat pokroˇcilejˇs´ım zp˚ usobem (i kdyˇz se st´ale nejedn´a o programov´an´ı v klasick´em slova smyslu, postupy lze pˇrirovnat sp´ıˇse k pr´aci s MS Office Excel). Zobraz´ı se tedy tabulka jako na obr. 14.
Obr´azek 14: Programovac´ı rozhran´ı Spreadsheet View Nejprve je potˇreba do tabulky (= programu) naˇc´ıst potˇrebn´a data. To zajist´ı funkce ReadProfinetBuffer spolu s funkc´ı FormatInputBuffer, kterou lze naj´ıt v prav´em oknˇe s n´azvem Palette, pod z´aloˇzkou Functions, v kategorii Input/Output, viz obr. 15. Funkci vloˇz´ıme do nˇekter´eho z pr´azdn´ ych pol´ı pobl´ıˇz struktury reprezentuj´ıc´ı vyhled´av´an´ı m´ıˇce (Find a Pattern), viz obr. 14.
Obr´azek 15: V´ ybˇer funkce FormatInputBuffer V dialogov´em oknˇe pro v´ ybˇer parametr˚ u funkce postupnˇe vloˇz´ıme pˇet ˇsestn´actibitov´ ych (viz d´ale) promˇenn´ ych typu Integer pomoc´ı tlaˇc´ıtka Add, viz dialog na obr. 16.
8
Obr´azek 16: Parametry funkce FormatInputBuffer T´ım je nastaven form´at naˇcten´ ych dat, kter´a je nyn´ı tˇreba jeˇstˇe skuteˇcnˇe naˇc´ıst, o to se star´a jiˇz zmiˇ novan´a funkce ReadProfinetBuffer, kterou lze naj´ıt opˇet pod z´aloˇzkou Functions, v kategorii Input/Output a podkategorii Network. Funkci vloˇz´ıme pobl´ıˇz form´atovac´ı funkce. Zobrazen´ y dialogov´ y formul´aˇr jej´ıch parametr˚ u vypln´ıme podle obr. 17. Prvn´ı parametr nastav´ıme na hodnotu buˇ nky A0, kter´ y obsahuje ud´alost nov´eho sn´ımku, tedy funkce bude vol´ana vˇzdy po naˇcten´ı nov´eho sn´ımku. Druh´ y parametr odkazuje na promˇennou FormatInputBuffer obsahuj´ıc´ı u ´daje o pˇrij´ıman´ ych datech, kterou jsme nastavili v pˇredchoz´ım kroku, tedy v naˇsem pˇr´ıpadˇe zad´ame hodnotu buˇ nky J15.
Obr´azek 17: Parametry funkce ReadProfinetBuffer Nyn´ı jsou potˇrebn´a data naˇcten´a v programu a zb´ yv´a jimi nahradit p˚ uvodn´ı statick´e rozmˇery vyhled´avac´ı oblasti. V sekci reprezentuj´ıc´ı hled´an´ı m´ıˇce vybereme buˇ nku obsahuj´ıc´ı funkci Region, viz obr. 14. Po jej´ım vybr´an´ı na jej´ı m´ısto vloˇz´ıme (dvojklikem na pˇr´ısluˇsnou funkci v oknˇe Palette) nov´ y region, kter´ y najdeme opˇet v z´aloˇzce Functions v kategorii Struktures (vybereme Region). Ve zobrazen´em dialogu vypln´ıme rozmˇery nov´eho regionu podle vzoru na obr. 18. Pˇridali jsme pˇet promˇenn´ ych, vyuˇzijeme ale jen druhou aˇz p´atou, prvn´ı je pˇrid´ana jen kv˚ uli spr´avn´emu offsetu a v tomto pˇr´ıpadˇe obsahuje parametr Enable pro inicializaˇcn´ı podprogram, jehoˇz zpracov´an´ı je ale nastaveno pomoc´ı formul´aˇre a zde nen´ı potˇreba se o nˇej starat.
9
Obr´azek 18: Nastaven´ı nov´eho regionu Nastavili jsme tedy vstupy a v´ ystupy kamery po s´ıti PROFINET, kter´e pro lepˇs´ı pˇrehlednost shrnuje tabulka 1. Vstupn´ı axis1RotationInitizalizeEnable
zap´ın´a podprogram pro inicializaci osy
searchRegionXStart
zaˇc´atek prohled´avan´eho sektoru v ose x
searchRegionYStart
zaˇc´atek prohled´avan´eho sektoru v ose y
searchRegionXEnd
d´elka prohled´avan´eho sektoru v ose x
searchRegionYEnd
d´elka prohled´avan´eho sektoru v ose y
positionX
zmˇeˇren´a pozice m´ıˇce v ose x
positionY
zmˇeˇren´a pozice m´ıˇce v ose y
axis1InitializationResult
v´ ysledek inicializaˇcn´ıho algoritmu
Vystupn´ı
Tabulka 1: Vstupn´ı a v´ ystupn´ı promˇenn´e kamery po s´ıti PROFINET
3.6
Uloˇ zen´ı programu do kamery a prvn´ı spuˇ stˇ en´ı
Nyn´ı je program hotov´ y a m˚ uˇzeme ho uloˇzit a nahr´at do kamery. Uloˇzen´ı do poˇc´ıtaˇce (kv˚ uli z´alohov´an´ı) prob´ıh´a standardn´ım zp˚ usobem pomoc´ı tlaˇc´ıtka se symbolem diskety. Uloˇzen´ı do kamery je moˇzn´e v kroku Save Job. Zde pomoc´ı tlaˇc´ıtka Save uloˇz´ıme program do kamery, pˇr´ıpadnˇe pomoc´ı Save As, pokud nechceme pˇremazat nˇejak´ y existuj´ıc´ı program. Viz obr. 19. Je tˇreba tak´e vybrat spr´avn´ y program pro spuˇstˇen´ı.
10
Obr´azek 19: Uloˇzen´ı programu do kamery Nezb´ yv´a, neˇz program v kameˇre spustit uveden´ım kamery do Online m´ odu. To lze nejsn´aze udˇelat pomoc´ı pˇr´ısluˇsn´eho tlaˇc´ıtka na horn´ı liˇstˇe, viz obr. 20.
Obr´azek 20: Pˇreveden´ı kamery do online m´odu
4
Konfigurace ˇ r´ıdic´ı jednotky
Je tˇreba prov´est tak´e nastaven´ı ˇr´ıdic´ı jednotky pro pˇr´ıjem dat z kamery, ovl´ad´an´ı vyhled´avac´ıho regionu a spouˇstˇen´ı podprogramu pro inicializaci osy. Protoˇze se jedn´a o konfiguraci nikoli kamery, ale ˇr´ıdic´ıho syst´emu, je tento postup uveden v dokumentu Detailn´ı konfigurace syst´ emu Siemens Simotion s Profinet IRT.
11