Tulák po krasu 2026
Pat a Mattýskové jedou na výlet
Přijde vám jízda po čáře jako příliš jednoduchá robotická disciplína? A co venku za každého počasí + místo pár metrů rovnou 2x 1.4km s otočkou okolo kužele?! Druhý ročník soutěže Tulák po krasu se bude konat příští neděli 14. června 2026. Blog update: 8/7/2026 — Slepý Pat a není Matty jako Matty
Obsah
- 260607 - Oprašování HW a SW (7 dní)
- 260608 - matty-follow-robot.json (6 dní)
- 260609 - Bez robota bos (5 dní)
- 260610 - Team Lead Matty M01? (4 dny)
- 260611 - Robotika v podzemí 2026, Japonci a verze 0?! (3 dny)
- 260612 - Prší, prší ... a April Tags (2 dny)
- 260613 - Temný les (1 den)
- 260615 - Soutěž a výsledky
- 260616 - Závěr (Robotika, Pat + 4x Matty)
- 260708 - Slepý Pat a není Matty jako Matty
Blog
7. června 2026 - Oprašování HW a SW (7 dní)
Dnes jsem po dlouhé době popojel s Patem. Žádný „trhák” — 1m tam a 1m zpět. A pak ještě
pat-go-314.json konfigurace z předlonškého Písku.
Last login: Sat May 10 21:19:14 2025 from 192.168.1.42
… moc si nevybavuji, proč jsem ho loni pouštěl, resp. možná jsem se pouze přihlásil a něco z něj kopíroval??
Ale asi by bylo lepší začít od začátku! Letos jsem si vymyslel takovou ptákovinu a to, že se podívám na
Tuláka po krasu a vezmu s sebou všechny svoje roboty, konkrétně už zmiňovaného
velkého čínského Pata a čtyři malé Matty a vedle „společenské
události” by to mohla být sranda je nějak zkoordinovat. Přihlášku jsem poslal před časem a dokonce našel oběť (Georgi)
ochotnou se mnou do Sloupu v Moravském krasu vyrazit (Soutěžní tým:
Je minimálně dvou a maximálně čtyřčlenný). A předevčírem jsem si přečetl znova pravidla a je tam podmínka
na Robota: všechny jeho části musí být fyzicky spojené. Hmm, to možná bude komplikace, resp. komplikace
navíc. Psal jsem organizátorům, jak je to tedy pro vícero robotů s vyjetím z cesty? V zásadě mám dvě možnosti:
- všech 5 robotů bude fyzicky spojených (např. provázkem) a pak teprve když vyjedou uplně všichni pokus končí
- rozšířili by pravidla o pozemní multi-roboty a pak vyjetí libovolného znamená konec
… zatím nevím, co je pro mne lepší volba. Asi to dopadne nastejno — katastrofou.
O Patovi jsem se už ventiloval tak také trošku o Mattym. Před více než půl rokem jsme se rozhodli s OAK kamerama
od Luxonisu přejít z DepthAI verze 2 na verzi 3. A dře to. Hodně. A není nad soutěž se dokopat k dalšímu krůčku
(minulé neúspěchy viz např. Vytloukání AI AI). Problémy jsem měl především s YOLO
modely, k této soutěži tématicky např. detekce kuželu. A teď to konečně vypadá, že by to mohlo opravdu fungovat
a je to tedy třeba vše zamergeovat (Matty env depthai 3.6.1,
OSGAR podpora pro NN archiv,
OSGAR apps - novější model pro kužely).
Co se „strategie” týče, tak neplánuji jet po čáře, ale po cestě (ano, vtipná bude otočka, ale racionálně uvažující
člověk by jí měl zatím ignorovat … s pěti roboty? ha ha ha). Neuronku jsem převzal od Jirky/Cogito a nechť bezchybně funguje.
Pokud bude kameře zabýrat výhled jiný robot, tak asi méně. A ještě jeden detail, že pro Pata už kameru nemám. Mohl
bych použít nějaké ty bezpečnostní a třeba by to ani tolik nedrncalo, že by to přežily,
ale … teď jsou na konci seznamu. Na Patovi je VanJee lidar, ale ten z Mattyho neuvidí nic.
Lidar je ve výšce 68cm, spodní vrstva kouka 10 stupňů dolů a Matty je cca 25cm vysoký … no jestli dobře počítám,
tak by ho mohl detekovat ve vzdálenosti 2.5m?? To by možná šlo?
Formaci robotů jsem si nejprve představoval Pat uprostřed a v každém rohu jeden Matty. Nebo šňůra robotů a Pat asi na konci.
Ještě bych mohl znova zkusit UWB majáčky, ale ty moc nefungovaly (tedy abych mohl spolehlivě triangulovat).
Ještě je tam detail synchronizovaného startu — je prima, když program začne na uvolnění STOP tlačítka, ale pokud
kamera naběhne různě v jednotlivých robotech (v praxi ověřeno), tak na to nelze spoléhat. Audio? Týden je dlouhá doba,
když nepočítám, že většina jsou pracovní dny … sigh.
p.s. jeden ze záložních plánu je dat Mattyho na Pata:
8. června 2026 - matty-follow-robot.json (6 dní)
Někdy mne opravdu fascinuje, jak člověk (já) rychle zapomene ty špatné věci, resp. tu „odvrácenou stranu”. Jako chápu, že to tak
příroda zařídila, jinak by nikdo ani nevstal z postele, ale stejně … Skočím tedy zase do posledního dojmu a pak to vezmu
od začátku. Primární cíl Verze 0 je, aby robot (zde pěti-robot) získal alespoň jeden bod. Asi limitní sestava je, že pouze
první robot pojede po cestě a ostatní ho budou následovat = varianta vláček. Co kupodivu chybí je kód na „následuj robota
před tebou”.
Úlohu jsem zadal Eleně Ai. Použil jsem Zbyňkovo doporučení nejprve jí nechat vše naplánovat a zapsat do dokumentu, hard-reset a
druhou instanci s čistým kontextem zaúkolovat „implementuj tento plán”. Klasicky prošla kde co leží a přišla se třemi variantami
sledování (platforma Matty, senzor OAK-D Pro kamera):
- sledování nejbližšího objektu z hloubkových dat
- detekce objektů v barevném obrázku a kombinace s hloubkovými daty
- navigace na LED výstup předešlého robota
(založil jsem pull request pokud by někoho zajímaly detaily)
Ty LEDky by mne fakt nenapadly, ale inspirovala se DTC, kde byl denní a noční mód (vlastně i sledování
osob je tam ve dne i v noci pomocí YOLO modelu). Vysvětlil jsem jí, že spěcháme a není čas na trénování detekce druhého robota
a že varianta A vypadá nejlépe a nasbíráme tak i reálná data pro pokročilejší varianty. Hotovo — kód vyplivnut, je čas na test, resp.
správně by měl být čas na human review, ale za chvíli bude tma a první co jsem škrtnul byla podpora nočního režimu.
Nový kód jsem nahrál do M05 (oranžový), trošku se lekl oranžových disco-světel, ale na Emergency STOP reagoval ukončením
programu, tak ještě test venku (nějaký člověk si tam hrál na robota) — nebylo to uplně skvělé, ale něco to dělalo. Kdybych si
ale Eleně stěžoval, tak by mi to mohla hodit na hlavu s hláškou: ,, Ale tohle přeci není Robot!!!''. Vytáhl jsem tedy M03 (červený
— bloody Matty) ať dělá návnadu a naviguje se na kužel a oranžový robot ho může v klidu sledovat. A nic. M03 prostě na kužely
dnes večer navigovat nebude a basta! Vytáhl jsem tedy z krabice M04 (růžová Fifinka) a ta poslouchala a chvíli pendlovala mezi
kužely … jen M05 moc nezaujala a následovat jí nechtěl.
Vypadalo to asi takto: https://youtu.be/7kHqVhwrC5I
Kde že je ta „odvrácená strana”? V pokoji se už nehnu — pro roboty není kam šlápnout. Pak ta otrava, že se to chová každý
trošku jinak?! M03 (starší) má i starší kameru, takže by tam byl nějaký problém s DepthAI verze 3?
Dále když jsem updateoval všechny tři roboty (3 repositáře a prostředí), tak jsem viděl (3x):
Uninstalled 2 packages in 4ms Installed 1 package in 10ms - depthai3.1.0 ~ depthai3.6.1
Cože?! Takže ta oslavovaná 3.6.1 nebyla na žádném z robotů?! … jj, už je to zamergeované, ale můžu si případně git checkout
předešlý commit.
Také tato hláška mne dostala:
[2026-06-08 19:43:40.123] [depthai] [error] Device with id 1844301091A3BD0800 has crashed. Crash dump logs are stored in: /home/robot/git/osgar-apps/followme/.cache/depthai/crashdumps/40ef12617b276baa7fccf85677e29dcfaaa9bb09/crash_dump_2026-06-08_19_43_40.tar.gz - please report to developers.
[2026-06-08 19:43:40.129] [depthai] [warning] Failed to send crash dump logs to the server.
… jako chtějí mi říci, že si pády mého soukromého offline robota někdo posílá na svůj server?! Milé (ironie).
Asi už jsem se dost vypovídal, tak možná upload toho videa (jen důkaz, že roboti většinou nefungují) a abych nezapomněl, tak jsem na
web hodil i kopii článku od Martina Lockera o tom, jak byl Matty M01 na loňském ročníku — viz Tulák po krasu 2025.
9. června 2026 - Bez robota bos (5 dní)
No nevím, zda jsem dnešní večer dobře investoval, resp. nerad si přiznám, že ani náhodou! Nechal jsem Elenu, ať udělá analýzu včerejšího
selhaní, přestože důvod byl na první pohled jasný:
Ono je to vlastně vidět i na tom videu, kdy oranžový najede na trávu a přední část kouká nahoru.
Ale Elena mne stejně překvapila a to následující analýzou.
Jj, je „trošku” upovídaná. Ve zkratce došla k závěru, že udělala chybu ve znaménku a korekci horizontu z IMU (pitch) naopak pokazila. Hmm,
to mám mínus body, že jsem si nevšiml, že tam to IMU z kamery rovnou zapojila — rozmluvil bych jí to.
A tak jsem instruoval další kopii AI, ať připraví PLÁN B, kdyby ta IMU vracela úplné nesmysly. Musím uznat, že rozdělení do fází: nejprve se
nad dokumentem dohadovat, co bude implementovat a následně (nejlépe čerstvá instance) to vše „bez otázek” implementovat, je funkční scénář. Skoro.
Já totiž vždy na něco zapomenu a jsem líny se do fáze plánování vracet, ale to je můj problém.
Plán B má sledovat 2D objekty přímo v hloubkovém obrazu, ale to jsem jí neřekl, že i ten obraz je fakt mizerný. Ale přidal jsem do plánu i postup
následné analýzy, takže i na té jediné nahrávce je vidět, že přímo to fungovat rozhodně nebude:
… no je to debug image spíše pro stroj než pro člověka, prože mi přijde, že sleduje blýskavku
než-li robota. Ten clustering na zašuměných datech … TODO.
No a sám bych se měl alespoň podívat, co ta nebohá M03?
Krása …
10. června 2026 - Team Lead Matty M01? (4 dny)
Dnes to bude hodně stručné: je 21:30, ještě jsem nic neudělal a asi neudělám. Ale vymyslel jsem novou strategii — není 5 robotů málo? Co přidat ještě „konkurenční tým”
MartinaL s Matty M01, který bude odladěný tu čáru letos vyhrát, a vézt se jenom v závěsu, tj. všichni Robotika roboti by jeli follow robot.
Také se chystám Bloody Matty M03 obětovat před Pata. Má totiž za kamerou ještě starou díru, kam by se dal přidělat plastový válec co mu zvedne výšku o 20cm,
ostatně viz
Místo na reklamu nebo na odrazivou plochu, ale kde ty majáčky z Eurobota 2004 skončily?
![]() Majáčky Eurobot 2004 |
11. června 2026 - Robotika v podzemí 2026, Japonci a verze 0?! (3 dny)
Dnes jsem měl dovolenou, resp. jsem se byl podívat na akci Robotika v podzemí 2026. Dozvěděl jsem se o ní (krátce před půnocí)
zhruba před 14ti
dny, kdy do ukončení registrace zbývalo 20 minut. Tak jsem registrační formulář vyplnil dříve, než jsem podrobně nastudoval program, ale nelituji. Akce se konala ve
Štole Josef na kterou nostalgicky vzpomínám z přípravy na DARPA Subterranean Challenge 2019.
Co mne asi nejvíce zaujalo byla česká firma First Green a jejich „hračky”:
I studenstká konference nebyla špatná — alespoň jsem získal představu, jaká jsou témata pro diplomové práce v dnešní době.
Odpoledne se mi ale už zastesklo po vlastních robotech a tak alespoň večer jsem chvíli testoval …
Japonci? To je téma japonské vesmírné agentury a rozdělení cílů — měl jsem to udělat už při prvním zápisu, ale stalé se to počítá aneb je před Akcí.
Definice tří úrovní cílů pro naši Pražskou pětku nebo Srostlici:
Minimální
- ujet 10 metrů (celá skupina pěti robotů)
Ku spokojenosti
- překonat Matty M01/R-team nejlepší pokus z roku 2025 (754 metrů)
Vynikající
- dosáhnout místa obrátky (1400 metrů)
OK a kde dnes v noci jsme, necelé 3 dny do soutěže? Sigh. Verze 0!? Asi bych měl zmínit Jirkův komentář ze včerejšího callu: „proč proboha hledaš robota v hloubkových datech
a nepoužijes na identifikaci” AprilTag?! … no jó no … možná zítra (když to prý pošlu mailem, tak mi to do 17h v sousední vesnici vytisknou).
A co jsem tedy dnes dělal?
Sbíral data a zkušenosti. Rychlost sledování cesty jsem snížil na 0.2m/s (spěcháte?) a testoval na jedné z mála cestiček, co máme na zahradě.
Poučka 1 (ano samozřejmá) — sekvence pouštění robotů začíná od posledního! Jestli se Jirka ptá, zda jsem konečně sklopil
kameru, tak nesklopil, tj. pokud je přední robot hodně blízko, tak přesahuje spodní část obrazu a se vzdáleností se posouvá nahoru. Také jsem (zbaběle) přidal na Mattyho pikslu na tablety
do bazénu — primární motivace je, aby měl Pat šanci posledního Mattyho vidět, ale ono se to hodí i pro Matty-Matty z hloubkových dat.
Video se mi z osgar.tools.lidarview nepodařilo udělat, tak alespoň jeden screenshot:
a data:
python -m osgar.logger pat-go-314-260611_173216.log -stream vanjee.scan10
-format "{timestamp} {data[900-15:900+15:2]}"
0:00:32.676170 [3470, 3470, 3472, 3477, 3486, 3493, 3499, 3503, 3506, 3511, 3515, 3518, 3515, 3509, 3439]
0:00:32.775786 [3466, 3468, 3471, 3477, 3483, 3489, 3494, 3500, 3506, 3512, 3517, 3522, 3525, 3515, 3422]
0:00:32.877479 [0, 0, 0, 0, 0, 3491, 3494, 3500, 3506, 3512, 3517, 3521, 3523, 3510, 3438]
0:00:32.977487 [1211, 1213, 1214, 1213, 1212, 0, 3499, 3502, 3506, 3509, 3513, 3518, 3519, 3508, 3437]
0:00:33.078093 [1224, 1225, 1224, 1224, 1225, 0, 3499, 3502, 3506, 3511, 3518, 3522, 3524, 3511, 3439]
0:00:33.178936 [1232, 1230, 1225, 1221, 1220, 1223, 0, 3501, 3507, 3514, 3520, 3525, 3526, 3513, 3435]
…
0:00:39.477243 [2377, 2377, 2377, 2378, 2379, 2381, 2382, 2382, 0, 3512, 3518, 3524, 3527, 3515, 3439]
0:00:39.574522 [2395, 2396, 2397, 2399, 2399, 2398, 2398, 2398, 0, 3517, 3521, 3525, 3525, 3512, 3441]
0:00:39.674839 [2410, 2411, 2413, 2415, 2417, 2420, 2423, 2425, 0, 3512, 3517, 3522, 3525, 3511, 3434]
… tj. je šance ten váleček vidět ve vzdálenosti 1.2m - 2.3m … už to jen udělat. Dávám si BAN/zákaz na AI, jinak
ani ta triviální funkční verze zítra večer nebude.
12. června 2026 - Prší, prší … a April Tags (2 dny)
Venku stále prší a tak zkouším ty AprilTag. Nevím, kdy jsem ten dotaz can you give me a quick intro into AprilTags? položil
a zákaz AI tedy rovnou porušil, ale těch pár odstavečků dávalo smysl a link na generování April Tagů do PDFka
jsem použil a trošku „naslepo” nechal vytisknout pár vzorů tag25h9 a tag16h5. Příklad kódu ale používal pupil-apriltags
a tím se zase spustila lavina. Domácí odkaz je na github pupil-labs, kde je info, ze je to fork z
duckietown/apriltags3-py a THIS REPOSITORY IS NO LONGER SUPPORTED a alternativa je
duckietown/lib-dt-apriltags. A ještě originál všeho apriltag 0.0.16 byl
Released: Dec 7, 2018. Někdy tou dobou mi začalo docházet, že tímto „peklem” už jsme si jednou prošli a hle poznámky na robotice.
Vlastně jsem ještě přeskočil krok 0, kdy jsme se na callu bavili, že OAK April Tag přímo podporuje!
Ale při detailnějším čtení člověk zjisti, že RVC2
On the RVC2 devices, the AprilTag node runs on the host computer, so the performance will be limited by the host CPU.. Takže nic, resp. je jistější to udělat na PC „po staru”.
Zpět k poznámkám — pro OpenCV 4.1.1 tam funcionalita přímo byla, tak snad jí neodstranili! (mimochodem v té době jsem si psal datumy bez roku, jak naivní!) Teď mám OpenCV 4-7.0 a API
se trošku změnilo (ale kvalita dokumentace nikoliv). Nebudu tu AI pouštět, aby mne vrhla zase do úplně jiného bazénu …
A hle trosky stackoverflow stále obsahují přesně to co pozoruji:
API changed for 4.7.x, Now you need to instantiate ArucoDetector object. Po drobných úpravách toto funguje:
import cv2
im = cv2.imread("april-tags.jpg", 0)
dictionary = cv2.aruco.getPredefinedDictionary(cv2.aruco.DICT_APRILTAG_25h9)
parameters = cv2.aruco.DetectorParameters()
detector = cv2.aruco.ArucoDetector(dictionary, parameters)
markerCorners, markerIds, rejectedCandidates = detector.detectMarkers(im)
print(markerCorners, markerIds)
s výsledkem 4x rohy a IDs (bohužel náš markdown dump výstupu „pársuje”, takže ho zase odmazávám a později možná přidám obrázky.
a ještě pro mne apriltags-3pages.pdf
13. června 2026 - Temný les (1 den)
Tento zápis je zpětně (a krátký), protože čekám, než se dobijí baterky …
V sobotu jsme dorazili po desáté hodině, ale vedle organizátorů tu moc týmů na testování nebylo. Střídavě pršelo, svítilo sluníčko, teplo, studeno, ale v zásadě OK
počasí (no na déšť připravený nejsme). Tentokrát ani nemůžu odkazovat na github, protože vše mám stále lokálně bez internetu.
Dopoledne jsem rozchozoval AprilTags — nakonec používáme
ty 25h9. Vzdálenost jenom odhaduji z velikosti diagonály a vypadalo to OK. 1 metr mezi roboty mi přišlo moc, takže jsem nastavil 0.5m. Rychlosti maximální (0.5m/s)
a u prvního robota snížena na 0.4m/s, aby ho následníci měli šanci dohnat.
U Pata jsem nakonec použil klasické prastaré followme, jenom viděl v zadu sám sebe, a tak jsem celý kód zkopiroval a upravoval v osgar-apps. Mám to vše na jedné hromadě (git branch),
a akceptuji pouze data +/- 45 stupňů. Kousek to popojelo za M03, ale na další testy už nedošlo.
K večeru jsme vypustili všechny čtyři Matty roboty na trasu a s pěknou simulací „zácpy na dálnici” (video snad najdu později) dojeli až k lesu … a tam se „vláček” rozpadl. :-(
Detekce cesty fungovala na M02 krásně — pořadí M02, M04, M05, M03 … (někdy Pat, tato jízda byla bez Pata), ale přišel Temný les a začala selhávat detekce AprilTagů! No jo no.
A kouzelné řešení, jehož autor je GG, bude mít pokračování až „zítra”.
15. června 2026 - Soutěž a výsledky
Neděle začala poměrně brzy, konkrétně v 6h ráno, když nastoupili borci lesáci a pokračovali v kácení bukového lesa za barákem.
Já stejně raději programuji po ránu, takže ideál.
Úkol byl jasný — implementace Georgiho poměrné prosté myšlenky: „Pokud nevidíš žádný AprilTag naviguj po cestě, jinak se drž AprilTagu v dané vzdálenosti”.
Vytvořil jsem teď novou větev feature/tulak-po-krasu-2026, kam jsem dal pouze commity ze soboty a neděle.
Trošku Cimrmanovsky bych řekl: „A nebyla to právě AI/Elena, která nám ukázala "tudy ne přátelé"”?! … prostě jsem rád, že jsem měl klid a žádný internet …
No nic, když půjdu zpětně po commitech (ten rebase to všechno rozbil, takže datumy dávají smysl pouze v opuštěné větvi).
Založil jsem (jj, copy and paste) novou konfiguraci matty-tulak.json,
což byla kopie matty-follow-apriltag.json a
matty-redroad.json — to bylo celkem triviální.
Pak jsem vytvořil tulak.py (jj, zase kopie, až se stydím)
a nahradil jednu řádku zastavení pomocí přepnutí na navigaci po cestě (viz mixovací commit).
A hotovo, resp. připraveno na test.
Nefungovalo to. Asi očekávané, jen ten důvod jsem nečekal. On totiž Matty na požadované rozestupové vzdálenosti ten AprilTag už téměř nevídí! Už zase slyším MartinaL: „proč máš tu kameru nahoru,
když to má jet po cestě!” … no prostě mi ty záběry přijdou zajímavější, ale ano uznávám, že to má i svě slabiny:
![]() Matty rozestup |
No minimálně to trošku vysvětlovalo to cukání ze soboty, protože při dosažení tagu, nebo jeho ztrátě, zastavi. A ano regulace max_speed, stop, max_speed, stop, … není úplně to pravé.
To, co v sobotu zastavovalo, ale v neděli přeplo na „naviguj po cestě” a jelikož na větev feature/safe-redroad
jsem trošku pozapomněl, tak Matty překážky moc neřešil a opakovaně do robota před sebou narážel …
Fix byl jednoduchý — zvednout požadovanou vzdálenost mezi roboty na 0.8m.
No a co s Patem? V sobotu jsem zvedl rychlost na 0.6m/s a rozmezí vzdáleností na 1.5m až 3m,
ale neotestoval jsem to. Commity pomalu dochází, takže s tímto stavem jsme „soutěžili”.
První start byl dost katastrofální — ono když člověk pouští 5 robotů a do toho se je snaží natáčet mobilem a vzadu ten velký dělá neplechu a je třeba přes vysílačku ho zastavit … málo rukou nebo
používat DARPA e-stop. Takže poučení — místo startování robotů od posledního je teď třeba startovat od prvního!
Co se mi na nové variantě líbilo nejvíce je fakt, že všichni roboti, tedy až na jednoho, měli stejný kód a vlastně bylo jedno v jakém pořadí je poskládáme na cestu. Skoro. Patologický
Pat by je všechny rozdrtil na plastové šlupky (fakticky to udělal 2x), takže červený Matty M03 s válcem mu jediný mohl odolat … takže úplně náhodné pořadí to nebylo.
V prvním kole nám dali organizátoři 7.7m — jako už nevím, jak se to počítalo, ale asi jsme ztratili Pata a čtyři Mattýskové se vesele vydali na výlet …
… a dojeli až na otočku a pokračovali by dál, kdybychom je nezastavili. Jako ta asfaltová cesta je na detekci fakt luxusní! A Red Road model už jí loni viděl skrz Matty M01 kameru.
Pokus se nepočítal (nejelo všech 5 robotů), ale mne během procházky došlo, kde je zakopaný pes. Pat se chvíli celkem držel, ale postupně ztrácel až mu Matty M03 s válcem ujel ze zorného
pole spodního lidaru. Proč? Nuže viz poslední commit. Pokud si vzpomenete na
Killer Application před dvěma lety, tak od té doby je defaultni SW limit na Patovi nastaven na 0.5m/s. To je ale zároveň maximální rychlost Mattyho … a pokud
někdy Pat zpomalí, tak už je nedožene. Oprava je tedy lehce posunout tento limit výše — dal jsem 0.7m, ale platilo to co je v aplikaci, tedy limit zůstal na 0.6m … hmm, když o tom přemýšlím
možná toto byla také chyba.
A novou opravou jsme se vraceli od otočky, ale … proti nám jeli soutěžící roboti a uhnout z cesty 5x není až tak triviální. Pat jednou sejmul Mattyho trojku, ale sepnul bezpečnostní nárazník
na Patovi a ten už odmítal jakýkoliv další pohyb (ať už z počítače nebo z dálkového ovladače). Reboot.
Další problém byla výdrž baterek — přeci jenom malí roboti jeli cca hodinu tam, chvíli postávali před startem, o něco delší chvíli čekali s Georgim na točně, než „si skočím pro notebook”
(2x 1.4km) a pak ještě cesta zpět. Bloody Matty to nedal — hlídání baterky začalo pípat v „temném lese” (tj. skoro doma) a z mírného kopečka dokonce přestalo. Teď už vím, že je to poslední
stadium před smrtí! Měl jsem za to, že Odroid (řídící počítač) skončí na 15V (v manuálu je 15V-20V, myslím), ale MartinL mne ujistil, že to poběží i na 12V! Tak jsem se dozvěděl/naučil
něco nového. A pak byla baterka už tak vybitá, že ani pípák nechtěl pípat. A následně, co ho Pat odvezl na základnu, už baterka nešla slušně nabít. Ale nešlušné triky (trošku jako elektrický
šok) zafungovaly.
Tolik první výlet. Pak dvě hodiny nabíjeni všech PC baterek a druhý, pro nás závěrečný, pokus. Chtěl jsem si ho natočit = chyba, sorry Jirko, možná to video z odhozeného mobilu někam
dám skrytě. V každém případě tady už Patův nárazník nesepnul a už jednou otlučeného a vybitého Mattýska Pat přejel. Viditelné je to na ulomeném nárazníku — na rengenu ještě nebyl.
Přiznám se, že jsem se trošku přestal ovládat a start asi 3x zopakoval. Prostě největši slabina byla, aby se Pat spravně chytil/detekoval M03 a pak už to jelo OK. Nakonec to OK vydrželo 460m,
po průjezdu „temným lesem”, kdy LIDAR asi zmátlo slunce nebo nějaké odrazy od konkurence (TODO analyze later).
Podle japonského hodnocení byl minimální cíl dosažen (všech 5 robotů ujelo 10 metrů). Oficiálně sice Ku spokojenosti chybělo ještě 754-460=294 metrů, ale tím že 4 roboti
dali Vynikající (1400 metrů), tak celkově úspěch.
p.s. alespoň jedno video ze soboty (4x Matty testování)
p.s.2 … a ještě přeběžně celý playlist
16. června 2026 - Závěr (Robotika, Pat + 4x Matty)
Včera v noci už jsem neměl sil to nějak uzavřít a teprve ráno jsem uploadoval různá videa, tak ještě shrnující „odstaveček”.
Za mne to bylo super! Takže nejprve velké díky organizátorům — Tomášům:
Přiznám se, že mé cíle byly trochu jiné, než většiny soutěžících, aneb by to mohla být odpověď na otázku: „proč to proboha řešíte takto složitě?!”.
Částečně jsem si soutěžil sám se sebou,
ale („Milanův”) Robotický cirkus snad pobavil a nikdo se na nás nezlobil. Win-Win Hybridní skupina pěti nezávislých autonomních robotů byl asi můj další milník — ano, klasicky to skončilo
na ořezané Verzi 0, která nefungovala ani před odjezdem na soutěž! Ale nakonec to jelo, skupina se chovala relativně rozumně a vytáhli jsme i osamoceného Pata,
aby mu po letech nebylo tak smutno.
Kam dál? Ta formace může být daleko zajímavější, roboti mohou spolu komunikovat, střídat se ve vedení „pelotonu”, kroužit kolem Pata, jezdit pozpátku, vyhýbat se překážkám, používat „čáru
jako zeď”, najíždet na Pata a nechat se vozit, zvednout rychlost Pata na 2.5m/s, nechat Pata řídit vícero Mattýskama na palubě …
Další úroveň je modrá značka vedoucí lesem:
… je možné jezdit okruh, pouze terén … Letos tam bylo dost bahno a třeba Matty by asi i klidně celý skončil po kameru v bahně, tak jsem ho tam zbaběle nepustil. I organizátoři to mají
jako potenciální další variantu soutěže, tak uvidíme v roce 2027.
![]() Alternativní lesní cesta - modrá značka |
Pak je tu stále Robotour Marathon 5km, který by se dal na robotickém polygonu realizovat.
Během soutěžního dne na daný úsek cyklistické stezky byl zákaz vjezdu aut, takže VRU (vulnerables) jsou pouze cyklisti, chodci a bruslaři. Pro vyšší rychlosti by bylo na místě rozchodit
detekci a vyhybání se překážkám (nebo alespoň kolizím).
Což mi připomíná ještě starého Istrobota, kde úlohu Stopár každoročně zesložiťovali. Místo tunelu je na trase „temný les”, tak možná někdy budou překážky,
které neuhnou …
Ještě jenou díky a přídávám ještě odkaz na oficiální reportáž JedoBotů.
8. července 2026 - Slepý Pat a není Matty jako Matty
Původně jsem myslel, že zde ještě přibudou další příspěvky konkurenčních týmů, ale v danou chvíli to zní nepravděpodobně. Tak ještě jednou připomenu
Unidroids vítěznou jízdu!
Za sebe jsem trošku zkoumal logy a uklízel pull request. Jedna z otázek například byla, zda roboti někdy viděli více jak
jeden AprilTag? A ano odpověď byla, že chvílema viděli i 3 tagy!
Další byl hack, že pokud vidím alespoň jeden AprilTag, tak naviguji na první detekovaný, jestli to někdy bylo špatné rozhodnutí? (ano, lenost to pořešit) … a bylo:
0:17:26.797315 [1.2738802853424471, 0.009094801649064201], [3.8269467486030613, 0.06303638384351394] 0:17:26.896863 [1.2612156249080342, 0.006585890849322352] 0:17:26.997080 [1.2673802962951644, 0.009094801649064201], [3.785101005175049, 0.0655452946432558] 0:17:27.099002 [3.7258743526102713, 0.0650748738683042], [1.2677473241080792, 0.006899504699290083]
tj. chvilku to navigovalo na ten 3.7m vzdáleny tag. A také musím uznat, že oprava od Eleny Ai je celkem elegantní:
dist, angle = min(data, key=lambda x: x[0])
Tak to bylo jenom zahřívací kolo …
Slepý Pat
Na co jsem byl samozřejmě nejvíce zvědavý byl důvod, proč se nám vláček po cca 300 metrech rozpadl. Chtělo by to video z osgar.tools.lidarview … ale ono to nefunguje. :-(
Hmm, tak oprava … ono to funguje, ale ... je třeba nastavit rozměry okna, které odpovídají rozlišení výstupního videa!!!
AssertionError: ((1080, 1920), (1016, 1848, 3))
… ten assert si tam nechám! Tak jo, už umím udělat video, ale vzhledem k pokročilé hodině psaní odložím na zítra.
O den později — je to opravené (resp. ve fázi opravy, hmm testy selhaly) … a mám 8 minut do callu, tak to zase nedám. V každém případě
zde je slibované video.
Je tam pár detailů hodných pozornosti:
- hladká cesta je dobře rozeznatelná od okolí
- na začátku je pěkně vidět zábradlí mostu, kde se oba skeny (vodorovný i ten 10 stupňů dolu) potkávají
- před lesem je pěkně vidět rozšíření silnice o místo na vyhýbání se
- v lese pak jednak svah nahoru vlevo, mizející sken vpravo (svah dolu) a rozpoznatelné stromy
- v závěru robot v protisměru, kdy VanJee asi přenastavil citlivost a ztratil tak Mattyho z hledáčku
Není Matty jako Matty
No teď už jsou pryč další dva dny(!) a rád bych to ukončil, takže klasické poučení i ty „slavné” příspěvky si rozděl …
… ale na druhou stranu tento byl zrovna důvod, proč jsem se to rozhodl sepisovat. Hrál jsem si chvíli s BEV — v práci to ostatní dělají pořád
tak proč bych si to nezkusil i já?
Je to zkratka za Bird's Eye View a to znamená pohled shora. No a jelikož na Tulákovi byla úplně luxusní asfaltová
cesta, tak by měla jít poskládat z mozaiky na základě pohledu z přední kamery robota. Nebo se pletu?
Už klasicky jsem poprosil Elenu (ať se pořád nenudí), ať udělá malý interaktivní nástroj — to ona ráda. Vstup je obrázek na disku a výstup je pak pohled shora.
A to by nebyla Elena, aby k tomu nepřidala spousta šoupátek, load/save konfigurace a pod. Ale to jádro, které bych musel jinak hledat a dostudovat jsou 2 řádky:
# Calculate homography matrix and warp M = cv2.getPerspectiveTransform(pts_src, pts_dst) bev_img = cv2.warpPerspective(img, M, (bev_w, bev_h))
Prostě ze čtyř (x,y) bodů v prvním obrázku a čtyř (x,y) bodů v cílovém obrázku spočítá transformační matici a pak ji prostě aplikuje.
Detaily jsou případně na GitHubu. Ale ke druhému kroku jsem se už nedostal, protože i
ten první mi přišel totálně nepoužitelný. Důvodem je, že s vyjímkou M02 (GG pokud to čteš, tak mne data z robota zajímají ) všichni ostatní vidí jednoho a více robotů před sebou
a to případnou pěknou mozaiku hodně rozbije. Musel jsem se i AI ptát proč to vypadá tak šíleně a důvod byla třeba kamera robota přede mnou roztažená na 3/4 „ptačího pohledu”. Ale když
jsem si vybral skulinu, kde skoro viděl jenom cestu, tak to bylo OK. Skoro OK.
No asi mne to tak šokovalo, že jsem si neudělal žádnou dokumentaci … tak teď nějaké nové screenshoty …
![]() BEV pro M03 vzadu |
![]() BEV pro M04 vpředu |
Pokud to není z obrázků jasné, tak doplním info, že M03 měl kameru více dolu a M04 nahoru. A to mi tam MartinL udělal zoubky, abych mohl všechny roboty nastavit stejně! Ale asi když
jsem si hrál s M03 a detekcí cesty, tak mi přišlo, že kouká moc nahoru (původní nastavení z DTC2 Systems, aby viděl lidi) a trošku to sklopil dolu
a zapomenul …
Je to prý vidět i z té matice
cat bev.json
{
"top_y": 857,
"bottom_y": 885,
"top_width": 400,
"bottom_width": 707,
"offset_x": 986,
"show_grid": 1,
"bev_width": 400,
"bev_height": 600,
"matrix_M": [
[
-0.04450251352363365,
-0.24317444889699785,
243.3794783343032
],
[
0.0,
-1.6845547756949022,
1443.6634427705312
],
[
-4.640868235845023e-19,
-0.0012189195433433444,
1.0
]
]
}
vs.
m03
"matrix_M": [
[
-0.06679355486718928,
-0.28794196341906053,
263.6218126725021
],
[
-6.579099405186112e-17,
-1.2942934071591932,
973.3086421837133
],
[
-8.07320644968878e-20,
-0.0014433181123762412,
1.0
]
]
… přesněji -0.0012189 vs. -0.0014433. Pokud to zkombinujete s FOV (field of view) kamery, tak dostanete náklon. Ale ty AI řeči už jsem asi zavřel.
p.s. Mozaika
… aneb s jídlem roste chuť. Když už umí udělat jeden obrázek, tak proč jich z logu nevysekat více (třeba po 0.5m) a proč to podle odhadu z odometrie neposkládat?
Pokud máte nějaké doplňující informace či komentáře
napište nám.




















