Není nad to, když o autonomních vozidlech vypráví člověk, který se na jejich vývoji přímo podílí. Tato perspektiva totiž poskytuje zasvěcený vhled i do těch nejmenších zákoutí světa autonomního řízení, jež občas zůstávají nepovšimnuty. Udělalo nám proto obrovskou radost, když se s námi o své zkušenosti podělil jeden ze softwarových inženýrů, který působil ve firmách Autonomous Intelligent Driving a Argo AI, pan Luboš Sitarčík.
Luboš Sitarčík (foto: archiv Luboš Sitarčík)
Dobrý den, mockrát Vám děkuji za čas pro náš rozhovor. Můžete se, prosím, na úvod představit?
Jmenuji se Luboš, pocházím ze Slovenska, vystudoval jsem Fakultu informačních technologií na VUT v Brně. Tam taky začala moje profesionální kariéra. Nejprve ve firmě AVG, což byl známý vývojář antiviru, kde jsem chvíli pracoval na produktu nazvaném Zen, což byl produkt cílený na uživatele, ale postupem času jsem našel zálibu v interních systémech, konkrétně v tom, jenž se nazýval Framework. V podstatě se jednalo o páteř veškerého softwaru této firmy, protože všechny nástroje jej využívaly. Poté jsem v tom stejném pokračoval v Avastu, který firmu AVG koupil.
A o něco později jsem dostal příležitost pracovat na autonomních vozidlech, když jsem se zapojil do vývoje ve firmě Autonomous Intelligent Driving (AID) v Mnichově. Díky tomu, že v AVG i Avastu jsem měl skvělé vedoucí, kteří mě motivovali se vzdělávat, a skvělé kolegy, kteří mi pomáhali růst správným směrem poskytováním cenné odezvy, zviditelnil jsem se natolik, že se mi jednoho dne ozval náborář z AID, což mě hned zaujalo. Nejvíc se mi líbila jejich představa prázdných městských center bez aut, kde žádná auta neparkují po stranách ulice a člověk se tam může bezpečně a volně pohybovat. Měli také velmi charismatického ředitele, který přirovnával práci na autonomních autech k cestě na Měsíc. A toho jsem chtěl být součástí. Takže jsem se přihlásil do konkurzu a prošel všemi koly, a nakonec mě přijali.
AID vzniklo v roce 2017, byla to firma plně vlastněná Audi, ale působila odděleně. Důvodem toho bylo, že automobilky jsou zkostnatělé a mají procesy, které je velmi obtížné dodržovat při vývoji technologie, která je velmi volatilní, která se mění ze dne na den. Byl to jediný vývojář autonomních aut v Evropě s realistickou šancí na úspěch. Postupem času se AID spojilo s firmou Argo AI, kde jsem pracoval až do jejího konce v říjnu loňského roku.
Jak byste popsal charakter práce či typický den ve firmě jako Argo AI?
Člověk ráno vstane a jde do práce, kde má denní meeting s kolegy. Při práci se využívají agilní technologie, a co je důležité a asi to ani nedokážu dostatečně zdůraznit, tak se důraz klade na naprosto zásadně vyšší kvalitu softwaru. Důležité je tak dbát na bezpečnost, výkonnost a škálovatelnost všeho, co vyvíjíme. To znamená, že je nesmírně důležité navzájem komunikovat a odhalovat potenciální problémy už v době návrhu, nikoli až v době, kdy je produkt vyvinutý. Všechno, co má být nasazené v autě, musí být kvalitně otestované, zkontrolované jiným vývojářem, a to včetně samotného procesu testování.
Nejtěžší na této práci je, že technologie autonomních vozidel ještě neexistuje. To znamená, že se nemůžete opřít o nějaký zdroj, kde je vše jasně popsané a vysvětlené, anebo se obrátit na někoho, kdo tohle již implementoval. Každý den je tak potřeba se adaptovat na nové situace. Není proto atypické, že vývojář zjistí, že jeho řešení nebude fungovat. Mnohokrát se nám stalo, že po týdnech vývoje jsme danou věc prostě zahodili a začali úplně znovu. Takže znovu, komunikace je velice důležitý aspekt, nesmí se nic tajit.
Typický den proto nejde jednoduše popsat. Každý den probíhají meetingy, celé dny trávíme zkoumáním, jakou technologii použít, takže čteme různé odborné články, časopisy, stejně tak s kolegy vymýšlíme nové technologie, kdy stojíme před tabulí, kreslíme schémata a snažíme se přijít na to, jak vyřešit nějaký problém. Obnáší to také psaní dokumentů, protože na konci dne musíme sdílet, co chceme udělat. Musíme to prezentovat dalším lidem a ti s tím musí souhlasit, případně najít další problémy, což nás vrací zpět k tomu, že je potřeba řešit problémy už během návrhu. A pokud je vše odsouhlaseno, přichází na řadu samotný vývoj a testování, což jsou už věci, které mnoho inženýrů zná ze školy, a je to zpravidla ta zábavná část projektu.
Autonomní vozidlo Volkswagen e-Golf (foto: AID)
Autonomní vozidlo Audi e-tron (foto: AID)
Na čem konkrétně jste pracoval?
Pracoval jsem na takzvaném middleware. Jedná se o něco, co můžeme nazvat platformou, kterou vývojáři autonomního řízení používají pro komunikaci mezi komponentami. Jednoduše řečeno, žádná komponenta neexistuje ve vakuu a musí interagovat s jinými komponentami a světem, a tyto interakce mu právě tato platforma umožní. A tu jsem vyvíjel já. Takže to, na čem jsem pracoval, využívali úplně všichni vývojáři. Primárně se jednalo o komunikaci, diagnostiku, resource management, tedy kolik paměti může komponenta použít, jak často může komunikovat, nahrávání komunikace, obrazů z kamer, aby si mohli vývojáři přehrát, jak auto jezdilo, v neposlední řadě jsme podporovali simulace. Naším posláním bylo dodat produkt, který funguje, a vývojář autonomního řízení jej jednoduše může použít a nestarat se o problémy na nižších úrovních.
Pro vývoj se používá C++, protože je to nejvýkonnější programovací jazyk. Hodně lidí sní, že budou používat programovací jazyk Rust. Jeho problémem ale je, že není moc odborníků, kteří by jej uměli použít, a zároveň zatím neexistují překladače, které by bylo možné certifikovat. Protože i v případě C++ se může stát, že kompilátor má v sobě nějaký bug, takže kód nemusí fungovat úplně přesně tak, jak vývojář zamýšlel. Podílel jsem se také na vývoji interního jazyka, který jsme používali, takzvaný Interface Definition Language (IDL), kde syntax jsme specifikovali sami a měli jsme překladač, který tento kód překládal na C++.
Jedním z největších problémů, s nimiž jsme se potýkali, byla certifikace softwaru. Certifikace pro autonomní řízení totiž zatím neexistují. Protože tento systém používá umělou inteligenci, kterou my naučíme, aby se nějak konkrétně chovala, načež ona se potom nějak chová, není úplně možné takový systém certifikovat, protože neumíme například popsat, že auto musí odbočit vpravo dvacet centimetrů od rohu křižovatky a podobně. To nejlepší, co v tomto směru můžeme dělat, je takzvaný unit testing, a samozřejmě psát vysoce kvalitní software a argumentovat s certifikačními firmami, že naše bezpečnostní systémy a způsob testování je dostatečným důkazem bezpečnosti našeho systému.
Jakákoli situace během testů vozidel na ulici byla nahraná a data z této nahrávky bylo možné použít na tzv. playforward, což znamená, že když test specialista, který sedí za volantem vozidla, převezme řízení, tak my tato data máme, a můžeme simulovat, jak by se auto chovalo dnes, když jsme opravili chybu, kvůli které test specialista musel převzít řízení. Probíhalo proto opravdu hodně simulací. Kromě toho Argo mělo dvě testovací tratě, jednu v USA a jednu v Evropě, pracovalo na třetí, kde bylo možné vozidla testovat v bezpečném prostředí. Testování s reálným autem je nejdražší možnost testování, a proto je používaná jen pokud všechny ostatní testy, včetně simulací, byly úspěšné, a zároveň slouží primárně ke sběru dat. Je velmi zřídkavé, že test s reálným autem selže neočekávaným způsobem.
Měl jste možnost svézt se některým z autonomních vozidel, na jejichž vývoji jste se podílel?
Bohužel ne. Měl jsem ale možnost vyvíjet software přímo v autě v garáži. S laptopem na kolenech jsem poslal software autu, rozblikaly se ledky, měl jsem možnost dávat příkazy autu. Byl to úžasný pocit, protože jako softwarový inženýr člověk většinou nevidí, že by jeho produkt něco konkrétního dělal, takže bylo úžasné vidět a zažít, jak se v reálném světě díky mně něco mění.
Do auta si mohli sednout pouze trénovaní specialisti, kteří byli vyškolení, měli komunikační protokol mezi sebou, věděli, kdy převzít řízení a kdy nechat auto jet. Argo mělo systém takzvaných shared rides pro zaměstnance, člověk si teoreticky mohl zavolat auto a nechat se někam odvézt. Běželo to primárně v USA, kde takto lidé často jezdili do práce. Pak ale přišel covid a tento program přerušili, protože nechtěli, aby se lidi shlukovali příliš blízko u sebe. Bohužel na konci října loňského roku Argo skončilo úplně, protože Volkswagen se jako jeden z hlavních investorů rozhodl dále firmu finančně nepodporovat, takže se už ani nesvezu.
Flotila autonomních vozidel Volkswagen e-Golf (foto: AID)
Jaká byla interní kultura ve firmách vyvíjejících autonomní vozidla?
Prostředí bylo ambiciózní, všichni byli vysoce motivovaní. Pokud někdo motivovaný není, tak zpravidla rychle vyhoří a do firmy celkově moc nezapadne. Hlavně, jak už jsem říkal, neexistuje žádná příručka, podle které se můžeme řídit, nelze se opřít o něco známého. Probíhá proto ve firmě hodně otevřené komunikace. Primárně komunikuje vysoký management, transparentně sdílí, co si myslí, že je důležité, a co není důležité, protože práce na autonomním autě je neskutečné množství, ale lidí, kteří to chtějí a umí dělat, je relativně málo, takže nakonec je nutné se rozhodnout, co jsou priority. Velmi důležitá jak pro AID, tak pro Argo byla diverzita. To znamená mít hodně lidí s různým vzděláním, s různými zkušenostmi, z různých koutů světa, různých národností a různého pohlaví, protože už jen to, jakým jazykem člověk mluví, má vliv na to, jak přemýšlí. Na schůzkách tak bylo velice často vidět, že to, že má člověk nějakou zkušenost z nějakého oboru, může přinést úplně jiný pohled na problém, který se snažíme vyřešit. Takže důležitá je velká diverzita.
Patří podle Vás autonomním vozidlům budoucnost?
Záleží na tom, jak člověk vnímá autonomní vozidla. Když si všímám ve svém okolí, jak lidé chápou autonomní auta, obvykle si myslí, že jde o něco, co si jednoduše koupí pro vlastní užívání, aby je auto vozilo, kamkoli chtějí. Toto ale není obchodní model, o který se snažilo AID, o který se snažilo Argo, a o který se snaží Waymo. Model, o který usilují, jsou robotaxíky. To znamená, že na určitém území existuje flotila taxíků, které nemají řidiče. Já si auto přivolám a nechám se odvézt tam, kam zrovna potřebuji, a nemusím řešit parkování. Jde o způsob, jak se pohybovat po městě, ale nejde o náhradu auta, které vlastním. Takže v blízké budoucnosti nejde o to, že by autonomní auta nahradila klasická auta.
V Evropě navíc budou mít oproti Spojeným státům robotaxíky asi menší potenciál, protože zde máme velmi rozvinutou hromadnou dopravu a díky ní se jednoduše dostaneme všude, kam potřebujeme. Tím pádem ve výsledku ani nepotřebujeme vlastnit auto, hodně lidí žijících v evropských městech jej skutečně dnes nevlastní. Naproti tomu v USA auto vlastnit potřebujete, takže tam by autonomní auta mohla mít velký přínos. Hlavně z hlediska zpřístupnění mobility, například pro osoby, které mají třeba ze zdravotních důvodů problém dostat se na zastávku, anebo žijí někde, kde zastávka vůbec není. Neřekl bych ale, že klasická auta budou vytlačena autonomními vozidly. Alespoň tedy ne za našich životů. Dožijeme se toho, že vyvineme robotaxíky, to znamená autonomní vozidla čtvrté úrovně automatizace, nemyslím si ale, že se dožijeme auta, jemuž řekneme, aby nás odvezlo kamkoli na planetě, aniž by tam předtím bylo.
Co vnímáte jako největší problém pro autonomní vozidla?
Jak ukázal příklad firmy Argo, jedním z největších problémů je cena. Předpokladem pro vývoj autonomních vozidel je, že systém nahradí lidského řidiče, protože řidič taxíku je nejdražší položkou této služby. Pokud bude novým řidičem software, tak se nikdy neunaví, neudělá chybu a je ho v první řadě velice levné množit. Protože když už jej jednou napíšeme, můžeme jej implementovat do tisíců vozidel. Avšak v realitě je to komplikovanější. Takový systém totiž potřebuje kvalitní senzory, kamery nové generace, LiDARy, a všechny tyto senzory jsou stále ve vývoji, což znamená, že nejsou sériově vyráběné, a jsou tedy drahé. Tyto produkty taktéž ne vždy ve skutečnosti úplně odpovídají uváděným specifikacím. Takže ve výsledku se jedná o poměrně nákladnou záležitost.
K tomu se navíc přidávají věci jako bezpečnost, protože záměrem je, aby takové auto jezdilo samo, bez jakékoli obsluhy. A jak víme, mezi lidmi se občas najde nějaký vandal, takže je nutné auto zabezpečit fyzicky, aby někdo nemohl jednoduše odpojit kabely, je třeba chránit jej proti hackerům, což jsou další náklady. A jak postupujeme s vývojem autonomního řízení, problémy, s nimiž se potýkáme, jsou stále náročnější. Abychom tak navodili situaci, kdy některý z těchto problémů může nastat, musíme jezdit čím dál víc. A jízdy se specialisty ve vozidle jsou velmi nákladné. A zatím se nezdá, že by se v blízké budoucnosti měly tyto ceny snížit. To byl také jeden z důvodů, proč do Arga už nikdo nechtěl investovat.
V neposlední řadě je třeba připomenout chybějící standardizaci a homologaci, neexistuje žádný certifikační proces, který by řekl, že toto konkrétní autonomní auto je dostatečně dobré, aby se mohlo vydat jezdit. Neexistuje popis, jak toto testovat. Vývoj autonomních vozidel je často označovaný jako příklad takzvaného moonshot projektu, tedy že míříme na Měsíc. To jednoduše znamená, že budeme pálit peníze, dokud nenajdeme řešení. Firmy pracující na autonomních autech se pochopitelně snaží vytvořit nějaký standardizační proces, aby mohly diskutovat s firmami jako TÜV o certifikacích svých systémů.
Jak ale říkám, zatím je to stále ještě velmi nákladné. Například v případě Volkswagenu ID. Buzz máme vozidlo za nějakých 50 tisíc eur, které osadíme senzory v hodnotě 200 tisíc eur. K tomu navíc na začátku máme vysoké náklady na údržbu, ale postupem času se tyto ceny budou snižovat. Podle mého osobního názoru toto snižování ceny ale nenastane tak rychle, jak tvrdily dřívější odhady. Když jsem v roce 2019 nastupoval do AID, říkalo se, že ceny budou klesat a první produkt bude na ulici v roce 2022. Dnes máme rok 2023 a ceny o moc neklesly. Je to dáno tím, jak jsem už zmiňoval, že technologie autonomního řízení stále ještě neexistuje, takže nikdo nedokáže přesně a jasně říct, co všechno to obnáší, co vše je potřebné. Samozřejmě si můžeme autonomní vozidlo rozškatulkovat – máme HD mapy, takže auto ví, kde se nachází, dále si naplánuje svoji trajektorii, bude dělat predikce chování ostatních účastníků provozu, podle toho se bude rozhodovat, jak se bude pohybovat, a nakonec se to pošle do řídící jednotky, která patřičně otočí volantem. Ale na to se nabalují nové věci. Nabaluje se na to bezpečnost, nabaluje se na to zpracování obrazu, nabaluje se na to fúze dat z různých senzorů, s tím se pojí zpracování obrovského množství dat pokaždé, když se auto vrátí do depa, množství simulací pro odhalování všeho, co může nastat. Takže nakonec člověk neví, co všechno potřebuje vyřešit. A to je přesně ten přístup, který musíme mít. Každý den může přijít úplně nový problém, kvůli kterému zjistíme, že to, co děláme, není správné, a musíme to změnit.
Autonomní vozidlo Volkswagen ID. Buzz během testů v ulicích Hamburku (foto: Argo AI)
Autonomní vozidlo Volkswagen ID. Buzz během testů v ulicích Mnichova (foto: Argo AI)
Pokud byste měl dát radu člověku, například studentovi, který má zájem o kariéru spojenou s autonomními vozidly, na co by se měl zaměřit?
Určitě pomůže zaměřovat se na umělou inteligenci. Umělá inteligence má velkou budoucnost, a to nejen v autonomním řízení. Jak jsem ale už zmiňoval, autonomní auto není jen o umělé inteligenci, je to i o podpůrné infrastruktuře uvnitř auta, což je to, na čem jsem pracoval i já, stejně tak infrastruktuře mimo auto, ať už je to cloud nebo třeba simulace. Dále tu jsou vizualizace, vývoj mobilních aplikací například pro přivolání vozidla či jeho monitorování, zároveň aplikace na správu flotily. Lidé, kteří pracují v depech a mají na starost údržbu autonomních vozidel, řeší věci jako je tlak v pneumatikách a jejich včasné dohuštění, doplňování provozních kapalin a podobně, k čemuž také potřebují nějakou aplikaci, aby toto vše mohli efektivně vykonávat. Velkou roli hraje také bezpečnost softwaru. Takže si myslím, že kdokoli, kdo má zájem se kontinuálně vzdělávat a chce svoji práci vykonávat v nejvyšší možné kvalitě, přičemž je flexibilní a nemá problém se za svojí prací přestěhovat, se určitě uplatní v jakémkoli odvětví, které se zabývá technologiemi budoucnosti, kam spadá právě i autonomní řízení.
Jaká jsou dle Vás hlavní odvětví související (nejen) s dopravou, jež budou v nadcházejících letech nabývat na důležitosti?
Myslím si, že aktuálně to je obecná umělá inteligence (Artificial General Intelligence, AGI). Její důležitost ale vidím hlavně v jejích morálních důsledcích. Teď nemyslím vzpouru strojů, ale jedná se o to, že pakliže existuje obecná umělá inteligence, tak musí rozumět všem kontextům, které na světě existují, kvůli čemuž například hrozí, že se ztratí různorodost řešení a výstupů, které vidíme díky diverzitě, kterou ve světě máme. Jak jsem říkal, díky tomu, že pocházíme z různých míst na zemi a hovoříme jinými jazyky, dokážeme zkombinovat naši zkušenost do dobrého řešení, což obecná umělá inteligence možná nebude umět.
Na úplný závěr se ještě zeptám, kam jste po skončení činnosti firmy Argo AI zamířil?
Že Argo ukončilo svoji činnost mě pochopitelně bolí. Momentálně jsem nicméně podepsal smlouvu s firmou Apex AI, což je firma, která se specializuje na vývoj middlewaru, tedy přesně toho, čemu jsem se věnoval v Argu. Snaží se jej tvořit ještě kvalitněji a s výrazně větším týmem, a toto své řešení následně prodávají automobilkám a dalším firmám, jež se zabývají roboty, protože autonomní auta jsou de facto roboti. Takže doufám, že co nejvíce vývojářů autonomních vozidel bude produkt Apexu používat, a já tak budu mít prsty ve větším počtu autonomních aut.
Držím palce a moc Vám přeji, ať se toto přání vyplní. Mnohokrát děkuji za ohromně poučné povídání!