Roboauto

Home » Projekty » Articles » Roboauto

RoboAuto je projektem skupiny odborníků a akademických pracovníků v oblasti sw vývoje a umělé inteligence se zájmem o technologie automatického řízení automobilu. Cílem je vytvoření provozuschopné verze modelu automobilu s plným řízením pomocí počítače.

Robot Quido byl vyvinut týmem výzkumníků z Fakulty informačních technologií Vysokého učení technického v Brně v rámci projektu Roboauto (viz roboauto.cz). Hlavním přínosem navigační architektury robota je myšlenka spojit relativně jednoduché přístupy pro řešení dílčích problémů jako je detekce cesty, rozpoznání překážek, lokalizace, plánování atd. takovým způsobem, aby robustnost celého systému řešící netriviální úlohu autonomního řízení nebyla striktně determinována nejslabším článkem. Za tímto účelem byly vyvinuty nové metody detekce cesty a křižovatek v interním modelu okolního prostředí založeném na mřížce obsazenosti. Úspěšnost a kvalitu vzniklého řešení odrážejí vynikající výsledky v celé řadě národních i mezinárodních soutěží, například Robot Sick Day (2011), Robotour (2009, 2010, 2011, 2012) a RoRo (2010, 2011, 2013).

Robot Quido je postaven na upraveném elektricky poháněném RC-modelu vozidla s Ackermannovým řízením CEN Racing Matrix5 (750x320x450 mm). Podvozek byl doplněn o nosnou konstrukci z hliníkových profilů pro uchycení většiny senzorů. Celková váha modelu dosahuje téměř 35 kg. Model je osazen tříosým inerciálním senzorem ADIS16355 pro kontinuální lokalizaci. Úhel natočení robota je získán pomocí kompasu CMPS03. V globální lokalizace je uplatněn GPS přijímač GlobalSat BR-355. Data ze tří laserových dálkoměrů LMS 100/111 slouží pro detekci sjízdného povrchu a překážek před robotem. Možné kolizi při reversním pohybu zabraňují dva ultrazvuky SRF 08 v zadní části robota. Hlavní výpočetní systém robota sestává z šesti-jádrového AMD procesoru Phenom II, 4GB RAM a 64 GB SSD diskem.

roboauto_quido

Autonomní řízení musí být spolehlivé, robustní a musí běžet v reálném čase. Navigační systém splňuje tyto požadavky pomocí modulární architektury. Veškeré výpočty nad daty probíhají paralelně, proto komunikace mezi dílčími moduly na různých úrovních je řazená a ukládaná do vyrovnávacích pamětí. Vstupní data ze senzorů jsou transformována do interních modelů, plánů a nakonec do konkrétních pohybových akcí. Navigační systém nemá žádný centralizovaný arbiter. Každý modul může běžet jako samostatný proces/program, a to na různých výpočetních platformách. Komunikace je zajištěna pomocí TCP/IP protokolu. Z důvodu neexistence interního synchronizačního mechanismu jsou všechna distribuovaná data opatřena globální časovou známkou. Mimo TCP/IP protokol je komunikaci mezi moduly rovněž řešena pomocí sdílené paměti, či mechanismu signálů/slotů. Celá navigační architektura sestává z přibližně dvaceti-pěti souběžně běžících modulů v šesti vrstvách: senzorická vrstva, vrstva vnímání, mapování, detekce cesty a plánování, reaktivní vrstva a vrstva řízení nízké úrovně.

roboauto_navig_arch

Z širšího pohledu řeší navigační architektura nepřesnost senzorických měření pomocí dvojitého interního modelu okolního prostředí – lokální a globální. Tento přístup eliminuje problematickou fúzi informací se zcela různorodou charakteristikou chyb. Další výhodou je přirozená dekompozice úlohy dle navigačního měřítka.