Cecilka
autonomní vysavač postavený na podvozku robota Barbora
Cecilka se narodila znovupoužitím podvozku robota Barbora. Mechanismus pro manipulaci s míčky byl nahrazen vysavačem (vyrobeným na zakázku). Cecilka byla základem druhého týmu reprezentujícího Českou Republiku na uklízecí soutěži Cleaning contest 2002 v Lausanne. Česká republika tak byla druhá co do počtu zúčastněných týmů hned po Německu (šest týmů). Ačkoliv Cecilka nebyla tak úspěšná jako Berta, získali jsme spoustu nových zkušeností, o které se s Vámi rádi podělíme.
Základní informace
Cecilka bypa postavena na podvozku robota
Barbora. Mezi základní charakteristiky tedy patří
dva BLDC motory (každý o výkonu 600W), základní deska s procesorem AMD K6 500MHz,
128MB RAM a 128MB CompactFlash
karta, video vstup, 100Mb Ethernet a operační systém Linux.
Lokální navigace byla založena na odometrii, obrazu z kamery a laserové
triangulaci (aktivní vidění). Posledním senzorem byl nárazník, jehož účelem
bylo zachytit to, co laserová triangulace "přehlédne".
Podvozek
Barbořin podvozek jsme použili tak,
jak byl – včetně motorů, baterií a počítače. Jde o diferenčně řízené
pásové vozidlo poháněné dvěma modelářskými bezkartáčkovými DC motory
(v podstatě synchronní třífázový motor s neodymovou kotvou) od firmy
Mega Motor. Jejich řízení zajišťují
regulátory od firmy
MGM-ComPro upravené výrobcem pro
komunikaci po sériové lince.
Základní řídící jednotkou robota je embedded základní deska
Advantech
PCM-5864,
o rozměrech 20x12 cm, s procesorem
AMD
K6®-2,
na 500 MHz. Systém se dále obsahuje 128 MB RAM, audio a video vstupy,
100MBit síťové připojení a sběrnici USB.
Vysavač
Pro splnění soutěžního ukolu je na robotovi namontován jednoduchý vysavač.
Základním konstrukčním materiálem jsou plastové odpadní trubky. Sací sílu
dodává modelářský motor Speed 500. Vysavač má vlastní napájení — olověný
akumulátor 12V/12Ah který dodává proud asi 5A. Celkový výkon vysavače byl
dobrý – byl schopen dělat to, pro co byl navržen s
minimální spotřebou. Pracovní doba je asi dvě hodiny na jedno nabití.
Senzory
Pro detekci vzdálenosti k překážkám jsme použili systém založený na CMOS
kameře a červeném laseru. Tato technika je založena na promítání známého vzoru
(v tomto případě čáry) na neznámou scénu. Scénu snímáme kamerou umístěnou na
jiné pozici než zdroj světla. Ze snímku pak extrahujeme promítnutý vzor.
Postup je schématicky znázorněn na následujících obrázcích.
Princip metody |
Na následujícím obrázku je zjednodušená verze výpočtu vzdálenosti k
překážce.
Výpočet vzdálenosti k překážce |
Laser 2 |
Tato metoda však nebyla použita, protože vyžaduje kalibrovanou kameru
(ohnisková vzdálenost, zkreslení). Místo toho jsme zkalibrovali snímací systém
jako celek pro vzdálenoti od půl do jednoho a půl metru. Tento interval byl
rozdělen na úseky po dvaceti centimetrech, pro meziúseky byla použita lineární
interpolace. Také vyzařovací úhel laseru byl rozdělen asi na dvacet segmentů.
V každém z nich jsme získali vzdálenost k nejbližší překážce. Těsně před
soutěží byl systém ještě více omezen – hodnota v každém segmentu byla
ze vzdálenosti k překážce konvertována na informaci, zda se v daném segmentu
nachází překážka blíže, než je stanovená mez (v tomto konkrétním případě
sedmdesát centimetrů).
Navigace a vyhýbání se překážkám
Vyhýbání se překážkám je založeno na dočasné lokální mapě prostředí, která
se tvoří z dat získaných pomocí laserového snímače. Bohužel se ukázalo, že
někde v systému vytváření a upravování mapy byla chyba, kterou se do začátku
soutěže nepodařilo odhalit. Z toho
důvodu byla nakonec mapa ze systému úplně vypuštěna a místo ní bylo aplikováno
jednoduché pravidlo: při detekci překážky zatáčet vravo tak dlouho, dokud
nebude možné pokračovat.
Pokrytí plochy
Pro pokrytí uklízené plochy nebyla aplikována žádná sofistikovaná
strategie. Robot se prostě se zapnutým vysavačem pohyboval danou dobu
prostředím.
Shrnutí
Výkon vysavače byl velmi dobrý – robot byl schopen vysávat rozsypaný
cukr i při vyšších rychlostech (nad 30cm/s) při spotřebě okolo 60W. Takový
výkon byl zapotřebí z toho důvodu, že podvozek nebyl navržen k pomalejší
jízdě. Funkčnost laserového detektoru vzdálenosti byla přijatelná. Pro zvýšení
spolehlivosti za komplikovanějších světelných podmínek by bylo vhodné použít
výkonnější laser (nyní bylo použito 5mW laserové ukazovátko). Systém jako
celek splnil to, pro co byl navržen.
Případné budoucí úpravy by měly směřovat ke schopnosti pomalejší jízdy
(nutná změna převodovek), zvýšení spolehlivosti laserového detektoru
vzdálenosti a především dokončení řídícího programu (funkční mapování a
vyhýbání se překážkám, lepší algoritmus pro pokrytí plochy).
Členové týmu
Petr Štěpán | zpracování obrazu |
Jaroslav Sládek | řídící algoritmus |
Zbyněk Winkler | řídící algoritmus |
V případě dalšího zájmu o tento projekt, případně pokud máte nějaké
připomínky, kontaktujte nás prosím pomocí
tohoto formuláře.