User Manual
130
B – Kalibrace enkodérů
Účinné rozlišení snímače polohy závisí na reálném průměru kol a gumových pásů. Housenky
gumových pásů se zatlačují do povrchu, nebo se deformují dovnitř. Výrobní tolerance navíc
způsobují změny velikosti průměru. Pro kompenzaci těchto odchylek budeme muset provést
několik měření a kalibrovat rozlišení snímačů (enkoderů).
Rozlišení je vzdálenost ujetá s každým krokem snímače. Teoretická hodnota pro rozlišení
v tomto robotu je 0,25 mm/krok ekodéru, ale z praktických zkušeností jsme odvodili hodnoty
rozlišení v rozmezí od 0,23 až do 0,24 mm.
Při kalibraci rozlišení enkodéru necháme robot poháněný na předem definovanou, dlouhou a
rovnou vzdálenost (např. jeden metr nebo více), která se následně musí být přesně měřit s
krejčovským nebo svinovacím metrem. Aby bylo možné zobrazit počet kroků kodéru, je robot
během tohoto pohybu, připojen k počítači PC. USB kabel a plochý kabel muset být veden volně
přes robota – netahejte ani nedržte kabel! Deska plošných spojů nárazníku na přední straně
může být nastavena přesně na začátek měřicí pásky. Nastavte cestu robota přesně na přímce
rovnoběžné s měřicí páskou.
Jako nácvik doporučujeme napsat program pro pohon robota přesně na vzdálenost jednoho
metru. Alternativně můžete také zvolit 2 metry nebo jinou vzdálenost (nejdůležitější je, aby byl
kabel dostatečně dlouhý). Samozřejmě můžete znovu sestavit program pro různé vzdálenosti a
upravený program opakovaně nahrávat do robota. Výstupy z každé verze programu se
uspořádají do seznamu ujetých vzdáleností v krocích kodéru. (Pokud jste příliš líní - existuje
také menu v programu autonomního testu, které to může udělat za vás ;-))
Vzdálenost jeden metr odpovídá při rozlišení 0,25 mm přesně 4000 krokům enkodéru. Nyní,
když test spustí pohyb robotu na vzdálenost pouhých 96,5 cm = 965 mm a čítač hlásí celkový
počet 4020 kroků enkodéru, můžeme vypočítat jednoduchým dělením 965mm ku 4020 rozlišení
přibližně 0,24 mm. Zapište, prosím tyto hodnoty do tabulky. Opakujte kalibrační postup
několikrát a hodnoty zaznamenávejte v tabulce. Nyní vypočítáte průměrnou hodnotu a zadáte ji
do pole parametrů ENCODER_RESOLUTION v souboru RP6Lib/RP6Base/RP6Config.h
(relativní cesta z adresáře hlavního ukázkového programu – nezapomeňte soubor uložit!),
znovu kompilujte program a nahrajte jej do robota. Opakujte tento test třikrát. Každý test by měl
zlepšit výsledky v jízdě na přesnou vzdálenost jednoho metru. Pokud nedojde ke zlepšení,
opakujte test znovu a zadejte novou hodnotu do konfiguračního souboru. Nikdy se však
nepodaří provést přesnou kalibraci na 100% – k tomu budete potřebovat spoustu dalších
senzorů.
Otáčení robotu na místě se dokonce zhorší kalibraci. Tyto rotace způsobí, že pásy prokluzují po
podlaze, což způsobí výsledek, že se reálně ujede mnohem kratší vzdálenosti s ohledem na
naměřené hodnoty. Výsledky budou velmi záviset na podmínkách povrchu. Kluzké parkety
nebo koberec mít velmi odlišné kalibrační parametry pásů. Proto budete muset uvažovat
kalibrační tolerance až 10° (při otáčení). Kromě toho některé povrchy mohou způsobit, že robot
uklouzne stranou. Pokud chcete zahrnout tyto nežádoucí boční účinky do kalibrace, budete
muset udělat nějaké další zkoušky.
Můžete se pokusit během otáčení zvednout robota za přední nárazník tak, že se podlahy
dotýkají pouze zadní kola. Budete překvapeni, jak se robot nyní otáčí mnohem rychleji – to vám
dává představu o tom, jak velký rozdíl je mezi reálnou a změřenou hodnotou.