warning!

Úloha blbuvzdornosti v konstrukci robotů 1.

Otec pořád opakoval větu z návodu na nějaký (západo) německý měřák „total fest und idiotensicher“ nebo dneska se používají i jiné opisy stejného fenoménu „trottelfest“ nebo „idiotenfest“ třeba. Tahle německá slovíčka naznačují, že konstrukce příslušného zařízení je opravdu pro blondýny a abych nepoužíval poněkud pejorativní germanismy zavedl jsem si pro sebe kategorii „blbuvzdornosti“.

Pokud stavíte robota „jen tak pro sebe“ brzy přijdete na to, že to je celkem nuda. Roboti, na rozdíl od „schémátek z amára“ mají totiž potenciál dát vás dohromady s jinými stejně postiženými a to nejsnáze tak, že postavíte robota do nějaké soutěže.

Stejně tak já jsem postavil robota „jen tak pro sebe“ a předváděl jsem jej na Robotickém dni 2005. Tento robot byl v jistém ohledu můj vrchol, protože tak složité řízení pohybů (robot se pohyboval po hladce navazujících úsecích elips a parabol), které dokonale napodobovalo živé tvory jsem od té doby neudělal. Že to nebylo dobře mě přesvědčili diváci na Robotickém dni 2005, kteří se na něj chvíli dívali a pak řekli – pchá – naše kočka chodí taky tak – což bylo jasné nepochopení Moravcova paradoxu ze strany laické veřejnosti.

Takže v roce 2006 už jsem soutěžil v kategorii bojujících robotů mini Sumo a v jistém smyslu jsem u této kategorie zkysnul déle než jsem chtěl. Nicméně zkušenosti soutěžícího a později organizátora mini suma, stejně tak jako zkušenosti „šedé eminence“ co se pohybuje v pozadí organizace robotických soutěží mi dala jednu velmi cennou zkušenost.

Jediná vlastnost vašeho robota, která je opravdu podstatná je konstrukční solidnost a blbuvzdornost. Všechno ostatní se dá dalším a dalším pokusničením zlepšit, ale prostě je lepší poněkud blbý, ale spolehlivý robot, než geniání, ale díky nějaké konstrukční slabině „náladový“ a nespolehlivý.

Principem robotické soutěže je totiž hluk, zmatek, stress, časový tlak, řešení 20 věcí najednou, omezená schopnost se zamyslet a na něco se soustředit. Proto je blbuvzdornost robota – tedy odolnost proti VAŠÍM destruktivním akcím požadavkem č. 1.
Vašim ? Ale vy přece svého miláčka dokonale znáte 3 týdny před soutěží jste kvůli němu nespali. Vaše slečna (pokud se s vámi už nerozešla) si už půl roku stěžuje, že ji váš notebook s rozepsaným softwarem tlačí v posteli při sexu – tak proč pro boha ochrana proti vám?

Představte si že máte na robotovi červený a modrý drát a červenou a modrou zásuvku a pokud zapojíte dráty opačně bude kouř a konec soutěžení. Správné blbuvzdorné řešení je takové, že oba dráty mají mít vzájemně nekompatibilní konektory aby záměna byla nemožná bez hrubého násilí nebo krájení konektoru nožem. Vy si ovšem myslíte, že nejste blbci a to si budete myslet až do té doby než budete vzadu v depu za mizerného osvětlení něco zapojovat a kamarádi do vás budou hučet a rozhodčí vás bude honit – rychle na start – rychle na start a vy s hlavou otočenou – napůl poslepu – to zapojíte obráceně ….

Takže blbuvzdornost je nutná musí být v robotovi vestavěná od samého začátku a od nejmenšího detailu – jako obvykle bude následovat neúplný seznam pro inspiraci.

  • Nezaměnitelné a nepřepólovatelné konekory.
  • I přesto má každá deska mít ochranu proti přepólování.
  • Dokonalá filtrace napájení.
  • Ochranné odpory na výstupech a vstupech do mikrokontroléru – pokud vám stačí signál 1mA je zbytečné připojovat pin mikrokontroléru napřímo stačí přes ochranný odpor který zajistí alespoň 5x větší proud tedy 1K – to je prevence problémů za 40 halířů.
  • Protiresetovací diody v napájení MCU.
  • Odrušení motorů.
  • Ochrany proti prostřelení H-můstků.
  • Obecně hardwarové ochrany proti selhání softwaru.
  • Používat sběrnice vhodné do zarušeného prostředí (diferenciální jako RS485, CAN, Robbus, USB, v žádném případě ne I2C).
  • Nespoléhat na bezdrátové komunikace.

Atd. atd. Opět jste asi pochopili smysl, ale musím se zastavit u posledního bodu – nepoužívat bezdrátové komunikace – který vypadá jakoby se můj konzervativismus utrhl ze řetězu.
Neutrhl, ale představte si že Bluetooth, Wifi, Zig-Bee, nebo cokoliv jiného, co vám bezvadně funguje o samotě doma, nebude zdaleka tak dobře fungovat na soutěži. Protože všichni robotici tyhle technologie milují a doma je úspěšně používají, takže tam kde jste doma v éteru sami vás na soutěži na stejném pásmu bude 20 – takže spolehlivost dané technologie – i když to je „spread spectrum“ jako Wifi, Zig-bee a Bluetooth bude v ….

Ještě pro matematiky a logiky mezi námi – jistě znáte teorii a priori a a posteriori podmínek v programování. Takže stavění robota, který od začátku je blbuvdorný je hardwarový ekvivalent „a priori“ kontroly vstupních dat. Ta je dneska mezi programátory nepopulární, protože je složitá. Naopak přehrabování se seškvařenými deskami je hardwarový ekvivalent a posteriori podmínek dneska zvaných spíše „exception handling“ – ošetření výjimek, které je u programátorů oblíbené, protože operační systém a kompilátor to za ně vždycky „nějak“ vyřeší – možná protože většina robotiků jsou mentalitou programátoři, je na robotických soutěžích tolik škvařícich se kabelů a robotů, kteří jsou „mrtví“ ještě než odstartují, zatímco mně mládež klepe na rameno a říká „no jo zase ty strejcovy (ochranné) diody“.

Na závěr ještě oblíbená rada pro blondýny – dnes je prý v módě „prodlužování vlasů“ – pokud chcete v hlavě nosit cizí vlasy nějaké indky – budiž – ale prosím nestresujte chlapy tím, že ráno na zastávce stojí vedle sebe blondýna s černými prameny a vedle bruneta s blonďatými – a obě celkově vypadají, jakože právě skončily směnu v bordelu – tohle my opravdu neoceníme.

Článek byl s laskavým svolením autora převzat z jeho blogu.