czech english

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
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
Výpočet vzdálenosti k překážce
Laser 2
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ánzpracová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.