Istrobot 2017
Istrobot 2017
Halo halo, hlásím se vám z Bratislavy. Kdyby to někoho zajímalo, tak průběžně doplňuju svůj článek o soutěži Istrobot.
Držte mi palce, mám tam taky robota
Držte mi palce, mám tam taky robota
Nikoho plánovaně neurážím. Jestli se Vám nelíbí co píšu, tak to nečtěte. A ostatně, třeba za to nemůžu - Researchers believe that dark humor can be a significant symptom of dementia.
Re: Istrobot 2017
Sleduji a dal jsem to i na Twitter
"all your robots are belong to us"
robodoupe.cz
robodoupe.cz
Re: Istrobot 2017
Perfektní reportáž!
Mám prosbu: mohl bys příležitostně popsat algoritmus, kterým se ten robot pro Ketchup House řídí? Není mi například tak úplně jasné, jak vlastně robot vyhledává svou domovskou čáru.
A tahle prosba samozřejmě míří i na další čtenáře, kteří se Ketchupem zabývají. Možná by to byl taky zajímavý námět k diskuzi na květnovém Robodoupěti.
Díky.
Mám prosbu: mohl bys příležitostně popsat algoritmus, kterým se ten robot pro Ketchup House řídí? Není mi například tak úplně jasné, jak vlastně robot vyhledává svou domovskou čáru.
A tahle prosba samozřejmě míří i na další čtenáře, kteří se Ketchupem zabývají. Možná by to byl taky zajímavý námět k diskuzi na květnovém Robodoupěti.
Díky.
jrt
Re: Istrobot 2017
Stručně: robot domácí čáru nepoznává nijak
Obšírněji: Robota řídí stavový automat, doplněný o různé "hacky" na řešení konkrétních drobností (největší je vyhýbání se soupeři, pak tam je odložení plechovek, časový limit na celý zápas, restart, načítání procházky po seriové lince atd.).
To, kudy robot jezdí, se řídí "programem", tj. seznamem souřadnic, které má navštívit. Ví, kde začíná (to jsem mu zadal taky já, na Istrobotu to je A3) a pak bere jeden postupný cíl za druhým. Robot umí docela spolehlivě jezdit po čarách a detekovat křižovatky, takže si pořád udržuje znalost o tom, na jakých souřadnicích byl naposled a kam pojede teď. Když dojede na zadané souřadnice, tak si ze seznamu přečte další. Když seznam vyčerpá, opakuje ho.
Jestli je na domácí čáře nebo ne, neví - on totiž neví, že je nějaká čára domácí. To vím já, do seznamu postupných cílů jsem mu proto napsal například že má dojet na A2 a tam vyložit plechovky. Dokonce je tak blbej (nebo poslušnej?), že mu musím napsat šikovně odkud tam má přijet, aby je nevyložil ven z hřiště ale na tu čáru (když přijede z A3 na A2 a tam vyloží, plechovky zůstanou na čáře mezi A2 a A1 protože je strká rovnou před sebe. Kdyby přijel na A2 se směru od B2, tak by plechovky vystrčil do autu).
Obšírněji: Robota řídí stavový automat, doplněný o různé "hacky" na řešení konkrétních drobností (největší je vyhýbání se soupeři, pak tam je odložení plechovek, časový limit na celý zápas, restart, načítání procházky po seriové lince atd.).
To, kudy robot jezdí, se řídí "programem", tj. seznamem souřadnic, které má navštívit. Ví, kde začíná (to jsem mu zadal taky já, na Istrobotu to je A3) a pak bere jeden postupný cíl za druhým. Robot umí docela spolehlivě jezdit po čarách a detekovat křižovatky, takže si pořád udržuje znalost o tom, na jakých souřadnicích byl naposled a kam pojede teď. Když dojede na zadané souřadnice, tak si ze seznamu přečte další. Když seznam vyčerpá, opakuje ho.
Jestli je na domácí čáře nebo ne, neví - on totiž neví, že je nějaká čára domácí. To vím já, do seznamu postupných cílů jsem mu proto napsal například že má dojet na A2 a tam vyložit plechovky. Dokonce je tak blbej (nebo poslušnej?), že mu musím napsat šikovně odkud tam má přijet, aby je nevyložil ven z hřiště ale na tu čáru (když přijede z A3 na A2 a tam vyloží, plechovky zůstanou na čáře mezi A2 a A1 protože je strká rovnou před sebe. Kdyby přijel na A2 se směru od B2, tak by plechovky vystrčil do autu).
Nikoho plánovaně neurážím. Jestli se Vám nelíbí co píšu, tak to nečtěte. A ostatně, třeba za to nemůžu - Researchers believe that dark humor can be a significant symptom of dementia.
Re: Istrobot 2017
Aha, takže když do něj soupeř pořádně strčí, tak je tvůj robot v... v úzkých
A soupeři se vyhýbá tak, že couvne na poslední známou souřadnici, udělá vlevo (vpravo) vbok, jede na nejbližší křižovatku a pak dál podle programu?
Stejně by ale bylo prima tyhle algoritmy rozebrat podrobněji v květnu na RD.
A soupeři se vyhýbá tak, že couvne na poslední známou souřadnici, udělá vlevo (vpravo) vbok, jede na nejbližší křižovatku a pak dál podle programu?
Stejně by ale bylo prima tyhle algoritmy rozebrat podrobněji v květnu na RD.
jrt
Re: Istrobot 2017
a možná by bylo fajn sdílet i zdroják nebo jeho základní část pokud to není moc tajné
Ne že bych chtěl opisovat, koneckonců každému kdo si řekl, jsem svoje zdrojáky z konkrétního robota poslal, ale pro mnoho lidí (včetně mě) by bylo poučné vidět, jak na to jdou ostatní V principu stačí obecný princip/konstrukce.
Ale rovnou říkám, že chápu, že jde o celkem dost nadstandardní prosbu
Ne že bych chtěl opisovat, koneckonců každému kdo si řekl, jsem svoje zdrojáky z konkrétního robota poslal, ale pro mnoho lidí (včetně mě) by bylo poučné vidět, jak na to jdou ostatní V principu stačí obecný princip/konstrukce.
Ale rovnou říkám, že chápu, že jde o celkem dost nadstandardní prosbu
"all your robots are belong to us"
robodoupe.cz
robodoupe.cz
Re: Istrobot 2017
Ani nemusí pořádně, stačí ho vystrčit z lajny nebo aspoň natočit, on si už pak dílo zkázy dodělá sám.
I proto jsem se snažil to předcházení kolizí udělat (na rozdíl od všech ostatních, byl jsem totiž jediný, kdo to řešil - ale zase jsem za tohle dostal cenu poroty za Fair Play )
To s obejitím je docela jednoduché: seznam souřadnic totiž mám tak, že mezi dvěma za sebou jdoucími cíli se jede výhradně rovně, tj. liší se pouze v jedné souřadnici (buď mají stejný řádek, nebo sloupec). Takže když přímo před sebou mám překážku, vím, že nejbližší cíl je ve směru přes tu překážku rovně. Takže místo jízdy dopředu přes překážku rovně na příští cíl a pak doprava/doleva na přespříští cíl nastavím ten nejbližší cíl tak, že teď pojedu doprava/doleva na souřadnici toho přespříštího cíle a hotovo. No a když na něj (ten cíl) dojede, tak si normálně přečte ten další cíl a jede na něj. Např. jsem na B3 a chci jet na D3 (a pak je v seznamu D5), ale přede mnou je neuhýbající překážka. Takže změním že teď jedu na D3 na že teď jedu na B5, protože pojedu nejdřív do boku (B beze změny) a druhou souřadnici na příslušnou z toho přespříštího cíle (5). To je ve východozápadním směru. V severojižním směru by se změnilo písmeno a zůstalo číslo, např. z C2 na C4 a pak E4 by se změnilo na C2->E1->E4. A ještě je vhodné podotknout, že ta změna cíle není trvalá, protože to, kam zrovna teď jedu, mám v nějaké proměnné a neměním tedy ten celkový seznam.
A hezký je i to, že by to nejspíš fungovalo i kdyby se ten soupeř až se otočím a vyrazím dál rozjel a zas si přede mě stoupnul
I proto jsem se snažil to předcházení kolizí udělat (na rozdíl od všech ostatních, byl jsem totiž jediný, kdo to řešil - ale zase jsem za tohle dostal cenu poroty za Fair Play )
To s obejitím je docela jednoduché: seznam souřadnic totiž mám tak, že mezi dvěma za sebou jdoucími cíli se jede výhradně rovně, tj. liší se pouze v jedné souřadnici (buď mají stejný řádek, nebo sloupec). Takže když přímo před sebou mám překážku, vím, že nejbližší cíl je ve směru přes tu překážku rovně. Takže místo jízdy dopředu přes překážku rovně na příští cíl a pak doprava/doleva na přespříští cíl nastavím ten nejbližší cíl tak, že teď pojedu doprava/doleva na souřadnici toho přespříštího cíle a hotovo. No a když na něj (ten cíl) dojede, tak si normálně přečte ten další cíl a jede na něj. Např. jsem na B3 a chci jet na D3 (a pak je v seznamu D5), ale přede mnou je neuhýbající překážka. Takže změním že teď jedu na D3 na že teď jedu na B5, protože pojedu nejdřív do boku (B beze změny) a druhou souřadnici na příslušnou z toho přespříštího cíle (5). To je ve východozápadním směru. V severojižním směru by se změnilo písmeno a zůstalo číslo, např. z C2 na C4 a pak E4 by se změnilo na C2->E1->E4. A ještě je vhodné podotknout, že ta změna cíle není trvalá, protože to, kam zrovna teď jedu, mám v nějaké proměnné a neměním tedy ten celkový seznam.
A hezký je i to, že by to nejspíš fungovalo i kdyby se ten soupeř až se otočím a vyrazím dál rozjel a zas si přede mě stoupnul
Naposledy upravil(a) DavidO dne 24 dub 2017, 15:09, celkem upraveno 1 x.
Nikoho plánovaně neurážím. Jestli se Vám nelíbí co píšu, tak to nečtěte. A ostatně, třeba za to nemůžu - Researchers believe that dark humor can be a significant symptom of dementia.
Re: Istrobot 2017
Základní část je stavový automat, tak ten jsme si přece už na Robodoupěti vysvětlovali.
Ale teda nejdůležitější část aby to fungovalo je hromada obezliček (viz loňská pozn. 4) a rovnáků na vohejbáky, protože původně ten kód dělal něco jiného.
Celkově to je jeden velký velmi nevýchovný blázinec, za který bych si zápočet nedal. Vyhodil bych se s tím, že to mám nejdřív vyčistit, přepsat, okomentovat, zdokumentovat a teprv pak přijít znovu
Ale teda nejdůležitější část aby to fungovalo je hromada obezliček (viz loňská pozn. 4) a rovnáků na vohejbáky, protože původně ten kód dělal něco jiného.
Celkově to je jeden velký velmi nevýchovný blázinec, za který bych si zápočet nedal. Vyhodil bych se s tím, že to mám nejdřív vyčistit, přepsat, okomentovat, zdokumentovat a teprv pak přijít znovu
Nikoho plánovaně neurážím. Jestli se Vám nelíbí co píšu, tak to nečtěte. A ostatně, třeba za to nemůžu - Researchers believe that dark humor can be a significant symptom of dementia.
Re: Istrobot 2017
Já vím, že vysvětlovali a upřímně jsem myslel spíše na ostatní. Řada lidí má stále problém s představou programu bez delay(), přestože to jsme vysvětlovali už ani nevím kolikrát
"all your robots are belong to us"
robodoupe.cz
robodoupe.cz
Re: Istrobot 2017
No a to jsem si zrovna říkal, že to se dá určitě řešit vhodnou konstrukcí - třeba tak, že před sebou budu sunout papírek, na kterém bude namalovaná čára šikmo, takže když dojedu k soupeřovi, tak mu podstrčím takovou malou odbočku a on mi uhneDavidO píše: ↑24 dub 2017, 13:34Ani nemusí pořádně, stačí ho vystrčit z lajny nebo aspoň natočit, on si už pak dílo zkázy dodělá sám.
I proto jsem se snažil to předcházení kolizí udělat (na rozdíl od všech ostatních, byl jsem totiž jediný, kdo to řešil - ale zase jsem za tohle dostal cenu poroty za Fair Play )
Ale za to bych asi nedostal cenu fair play
Za pravopisné chyby v této zprávě může moje učitelka češtiny.