Verze

Verze SRV1

Jednoho krásného dne roku 2008 mi kámoš poslal odkaz na video BigDog - Boston Dynamics. Srdce feláka mi poskočilo, naprosto mne to nadchlo. Vzpomněl jsem si na studijní léta na ČVUT FEL, na řízení kuličky na nakloněné rovině, na laboratoř strojovna a robot „Красный пролетар“, na laboratoř počítačového vidění a hraní robotem v kostky.

Na internetu jsem našel spoustu zajímavých konstrukcí. Od hexapodů, přes kolové až po létající stroje. Našel jsem prodejce robotických komponent, ale stále mi trošku chyběla nějaká motivace, nějaký cíl. Až jsem narazil na www.robotika.cz a soutěž Robotour. Relativně jednoduchá konstrukce potřebného robotu a přitom netriviální chování, i když to jsem si v tu chvíli nemyslel, vlastně mi to přišlo vcelku jednoduché.

Několik dní jsem procházel internet, různé konstrukce, dostupné komponenty a robotické teorie. Rozhodl jsem se pro čtyřkolový smykem řízený podvozek s enkodérem na každém motoru, pro detekci překážek použít tři sonary k orientaci dle světových stran poslouží kompas a pro určení globální pozice GPS. Kamera dává mnohé možnosti pro řízení robotu, ale k tomu je potřebný značný výpočetní výkon. NiMH akumulátor bude dostatečně odolný a výkoný.

Sestavil jsem seznam materiálu:

Z uvedených component jsem sestrojil pokusnou verzi na které se projevil take první problem. Hladká kola dobře fungovala na linu či parketách, ale v terénu prokluzovala a robot se špatně pohyboval.

SRV1 - první pokus

Hladká kola jsem vyměnil za outdoor verzi o průměru 110 mm.

Dalším problémem, který na sebe nedal dlouho čekat, byla GPS. Ukázalo se, že má velmi vážný problem s příjmem sign8lu v blízkosti BlackFin procesoru. Pro dobrý příjem bylo nutné dát GPS do vzdálenosti cca 50 cm od DSP. To nebylo akceptovatelné a tak jsem vybral GPS LEA-5H od uBloxu, která je podstatně odolnější rušení. A aby toho nebylo dost tak jsem měřením zjistil, že kompas CMPS03 má dost mizernou převodní charakteristiku. Chyba 15 stupňů žádný problem. Graf bohužel skončil kdesi v propadlišti dějin a tak nezbývá než uvěřit. Kompas byl nahrazen vynikající AHRS jednotkou VN-100 od VectorNav. Což se ukácalo jako dobrý tah. Další úpravou byla výměna motorových jednotek MD23, které tuhly za kvalitnější MD25.

SRV1 - po úpravách

Poslední "ranou" bylo rozhodnutí organizátorů Robotur o povinosti vézt 5l soudek piva. Pro robota s vahou 2 kg docela slušnej náklad. Tento požadavek si vyžádal přeuspořádání a posun řídící elektroniky do 2. patra. Robot byl doplněn o LED osvětlení pro noční jízdu a OLED display sloužící pro ovládání a zobrazení základních informací o stavu robotu.

Finálně je robot sestaven z:

  • šasi A4WD1 od Lynxmotion,

  • 2x motorové řídící jednotky MD25,

  • 4x motory EMG30,

  • 4x outdoor kola 110 mm,

  • 3x sonar SRF08,

  • GPS uBlox LEA-5H,

  • AHRS vectornav VN-100,

  • OLED display μOLED-3202X-P1T

  • řídící jednotka SRV01 s DSP BF537, kamerou OV9655, a WiFi modulem,

  • 10x NiMH 4,5 Ah.


SRV1 - finální verze

Ještě jsem dlužen pohled pod kapotu.

SRV1 - střeva

V roce 2014 nastal čas postoupit dál.

Verze Z

Po více jako roce příprav se začátkem roku 2015 konečně podařilo sestavit nového robota. Vychází ze zkušeností s předchozím vozítkem. Dobře fungující věci byly zachovány a ty slabší byly přepracovány či aspoň vylepšeny.

V první řadě byla vyměněna řídící jednotka. Je použita vývojová deska Zedboard s SoC Zynq 7020 od Xilinx. K dispozici je 512 MB RAM, 32 GB SD, srdcem je dvoujádrový ARM Cortex A9 + NEON na 600 MHz a hlavně hradlové pole o 85 tisících logických jednotek. Zedboard běží na Linuxu a jako hlavní programovací platforma je použito mono a jazyk C#.

Místo smykem řízeného podvozku je použit diferenciální s 3. pasivním kolem. Modelářská kola o průměru 17 cm a dva motory PG36555126000-50.9K řízené profesionální jednotkou SDC2160 od Robotequ poskytují potřebnou trakci.

Šasí je postaveno z letecké 2 mm překližky a smrkových nosníků 7 mm. Prostě modelařina. Jednotlivé díly byly řezány laserem a až na pár drobných chybek ve výkresech vše sedlo naprosto dokonale.

Osvědčená AHRS VN-100 od VectorNav byla zachována, jen došlo k upgradu na nejnovější verzi. Obdobně GPS uBlox NEO 7M je novější verzí původní.

Počet sonarů byl zredukován na 2 za to každý ze sonarů je možné natáčet servem HC-SR04. Uvidíme, zda to bude přínosem.

Serva ovládá jednotka SSC-32. 32 serv by mohlo snad stačit i do budoucna.

Novinkou v senzorech jsou dva optické odometry založené na ADNS 3080, snad pomohou lépe odečítat polohu a orientaci robotu. Dalším novým smyslem je "hmat". Robot má dva taktilní FSR senzory integrované v předním nárazníku.

Energii robotu dodávají 4 LiFePo články o kapacitě 14.5 Ah chráněné SBM. Dost bylo zoufalého pípání při podpětí a zničených článků.

To nejlepší nakonec. Z obrazu kamery se dá vytáhnout mnoho informací a tak má robot stereoskopickou kameru vlastní konstrukce s čipy Aptina MT9V032, které mají globální uzávěrku a jsou schopny pracovat v HDR režimu. Data je nutné nějak zpracovat a právě k tomu je použito hradlové pole. Tím se nám kruh pěkně uzavřel. Jo, kamera je pomocí serv pohyblivá ve dvou osách.

A jak to celé vypadá?

Jak to tak bývá první problémy na sebe nedaly dlouho čekat. Rameno o délce 40 cm neudrží v klidu ani velmi silné modelářské servo. Navíc furt zabírá, pěkně se hřeje a žere proud. Další zádrhel se objevil u stereoskopické kamery. Přenos dat mezi čipy a FPGA probíhá po 500MHz sériové lince. Pro FPGA by to neměl být problém. Podporuje až 12,5 GHz. Nic méně komunikace vypadávala ze synchronu a to tak často, že byla kamera prakticky nepoužitelná. Proto byla v roce 2016 stereoskopická kamera dočasně nahrazena běžnou web kamerou.

S příchodem stereoskopické kamery RealSense R200 od Intelu byl ukončen vývoj vlastní 3D kamery. No a když už nebyl potřeba ani výkon FPGA pro zpracování obrazu, tak bylo možné ukončit trápení s Linuxem a přejít na normální operační system. Tím nastala éra verze U2.

Verze U2

Od roku 2017 došlo k dalším změnám hardware. V první řadě jsem se rozhodl vyměněn řídící počítač. Volba padla na SBC UP squared s procesorem Intel® Pentium™ N4200 a operačním systémem Windows 10. Po dobu než SBC dorazil, jezdil robot s notebookem Acer. Kamera byla nahrazena stereoskopickou RealSense R200 od Intelu, která se otáčí podle svislé osy a nově byl použit RPLidar A2.

V roce 2019 byla kamera R200 nahrazena dvěma RealSense D435 a odstraněn lidar. O rok později přibyla ještě RealSense T265 a Edge TPU Coral pro segmentaci obrazu pomocí neuronové sítě, který vyhrál souboj s UP AI Core X. Rok 2021 přinesl novou GPS od uBloxu NEO-M9N a hlavně se podařilo rozchodit EKF pro výpočet stavu robotu.