Projekt Comma.ai Openpilot – šoférovanie alebo pilotovanie elektromobilu? | BLOG

Za projektom Openpilot (ďalej OP) od spoločnosti Comma.ai stojí známy hacker a tvorca jailbreakov George Hotz (GeoHot). Začiatkom roka 2019 bol uvoľnený kód projektu ako opensource (pozn. otvorený kód) pod licenciou MIT. Openpilot je asistent riadenia úrovne 2 a v súčasnej dobe podporuje oficiálne aj neoficiálne desiatky modelov spaľovacích áut a elektromobilov. Tento opensource sa inštaluje na zariadenie Comma2 (staršie bolo EON), ktoré sa cez malú krabičku “Panda” pripája na zbernicu LKAS kamery na čelnom okne.

PANDA obsahuje jednočipový procesor, ktorý je zodpovený za dodržiavanie priemyselných štandardov (ISO26262 and MISRA C) pre konkrétny model auta a za striktné dodržiavanie bezpečnostných pravidiel pre každý povel, ktorá sa posiela do zbernice auta. Príkladom je zabránenie prudkým trhnutiam volantu počas jazdy, obmedzovanie limitov točenia volantom a podobne. V článku sa s vami podelím o skúsenosti po najazdení 25 000 kilometrov s Openpilot v mojom elektromobile.

Odtiene úrovne autonómneho riadenia 2

Autonómne riadenie klasifikuje 5 úrovní. Dnešné autá sú s asistentami na úrovni 2. To znamená, že majú v prednej maske radar, ktorý pomocou systému ACC/SCC (adaptive cruise control/smart cruise control) ovláda plyn a brzdenie – adaptívny tempomat. A pomocou LKAS kamery so systémom LFA/LKA (lane following assist, lane keeping assist) udržuje auto medzi pruhmi na vozovke. A to najdôležitejšie: v úrovni 2 musí byť šofér schopný v každom momente prebrať riadenie a v prípade nehody je vždy plne zodpovedný.

Niekorým asi napadla otázka, prečo som si do auta s úrovňou 2 kupoval iné zariadenie s úrovňou 2. Keď si vezmeme Teslu a jej populárny Autopilot alebo FSD (Full self drive), tak oba tieto systémy sú dnes takisto na úrovni 2. To znamená,  že vodič je plne zodpovedný odhliadnúc od názvu, ktorý evokuje plne automatický režim. Ak ale Tesla Autopilot porovnáme s iným autom zistíme, že ponúka o niečo viac. Vozidlo sa udržuje medzi pruhmi striktne na stred (tzv. robí sa line centering), pri zákrute si auto spomalí, zastaví na semafóroch a tak podobne.

SCC a LKAS v Kia e-Niro 2020

Keď som kupoval auto, zvolil som si plnú výbavu aj kvôli asistenčným systémom. Po prečítaní návodu sa však dozviete ku každému z týchto systémov asi 20 bodov, kedy systém vlastne nemusí fungovať.

Adaptívny tempomat (SCC/ACC) funguje v Kia e-Niro veľmi dobre. Ako u väčšiny áut je zabezpečený predným radarom, ktorý pracuje v 2 rozsahoch (menší uhol na väčšiu vzdialenosť a väčší uhol na kratšiu). Nevyužíva ho iba adaptívny tempomat, ale aj protikolízny systém pri núdzovom brzdení (FCA, AEB). Systém má samozrejme svoje slabé miesta, ktoré treba mať stále na pamäti. Ak napr. auto pred vami zatočí do prudkej zákruty a zmizne z dosahu radaru, vaše sa vtedy rozbehne na 90-tku, ktorú ste mali nastavenú ešte na okresnej ceste. Ale inak je to vynikajúci systém, ktorý mi bol už veľakrát nápomocný.

Prečo ísť do Openpilot?

Zabudovaný LKAS je na tom v aute o poznanie horšie. Zapína sa automaticky po štarte auta a nedá sa vypnúť nastavením. Pruhy udržuje niekedy dosť “vlažne”. Hlavne v obci s kľukatými zákrutami si často zvykne skrátiť cestu cez čiaru. Vôbec mu nevadí, že ide oproti kamión, alebo autobus. Do toho si sám sebe otravne pípa systémom prekročenia jazdného pruhu (LDWS). V prudkej zákrute po prechode stredovej čiary sa vypne, vyrovná volant a ide rovno. Tiež mu chvíľu trvá, kým si po manévri zameria pruhy a zapne sa. Z takéhoto systému, ktorý vám má asistovať sa stáva systém, ktorému nakoniec asistujete vy :). Už len čakáte, kedy zas niečo vyvedie.

Toto bol dôvod, prečo som sa rozhodol ísť do Comma two. Comma.ai moje auto oficiálne nepodporovala a v čase, keď som zariadenie kupoval neboli na Hyundai/Kia ani prepojovacie káble. Musel som si dať na mieru vyrobiť jeden od člena komunity. Zaobstaranie sa navyše značne predražilo, lebo zasielky nad 1000 eur sú automaticky ako obchodné a okrem cla/dane je ich nutné precliť cez špedičnú firmu a podať JCD.

Inštalácia a podpora

Základ balenia od Comma.ai je zariadenie Comma2 (tiež ako Comma two, alebo len C2). Kryt C2 je vytlačený na 3D tlačiarni. V jeho vnútri sa nachádza upravený mobil, ventilátor a plošný spoj s elektronikou a výstupom USB-C. Ten “mobil” nemá baterku. Z predných kamier sú odstránené IR filtre a v spodnej časti pribudli dve IR diódy. Openpilot nenúti šoféra dotýkať sa volantu a zabezpečuje sledovanie pozornosti šoféra cez tieto kamery (vďaka IR aj v noci). Okrem toho sú v balení ďalšie konektory a káble.

Inštalácia zariadenia zaberie asi hodinu. C2 sa nalepí na držiak pod spätným zrkadlom a cez USB-C sa prepojí do vyššie spomenutej Pandy. Panda sa cez tzv. harness kábel premostí do konektora LKAS kamery v aute. To zabezpečí, že vie Openpilot vyradiť adaptívny tempomat (SCC) aj systém udržania pruhu (LKAS) svojou implementáciou. Všetko sa dá skryť pod kryt, kde je LKAS kamera. Nevytŕčajú žiadne káble. Z pandy ide ešte jeden plochý káblik do OBD2 konektora pod volantom. Ten zabezpečí neustále napájanie zariadenia aj po vypnutí auta. Jedna veľmi dôležitá poznámka. OP nevypne žiadny iný bezpečnostný systém. Takže všetky protikolízne systémy (AEB, FCA, ESP, …), sledovanie mŕtvych uhlov sú stále plne funkčné.

Súvisiacie články

Komunita okolo značiek Hyundai/Kia

Oficiálny repozitár nepodporoval moje auto. Našťastie existuje fork (alternatívna vetva programu) pre Hyundai/Kia/Genesis (HKG) a komunita zvládla veľmi slušne zapracovať podporu týchto áut. Moje Kia e-Niro som rozbehol tak, že som spravil konfiguráciu podľa Hyundai Kona a Ioniq. V zápätí som dal po vyladení zapracovať túto konfiguráciu, ktorá okrem nastavenia obsahovala aj tzv. odtlačok auta (fingerprint) späť do tohoto HKG forku. Spolu s inými majiteľmi e-Nira ju priebežne vylepšujeme a aktuálne sa naša konfigurácia dostáva už do oficiálnej verzie Comma.ai. Inštalácia pre nových majiteľov bude teda podstatne jednoduchšia.

Ako to funguje na cestách?

Openpilot je veľmi návykový a pracuje maximálne spoľahlivo. Šoférovi je k dispozícií nonstop rovnako ako zabudovaný LKAS. Môže tak v každom momente do riadenia automatiky zasahovať. Takých situácií je na okreskách a v mestách dosť. Treba sa vyhnúť cyklistovi, odparkovaným autám pri krajnici, výtlkom, alebo naopak vytvoriť priestor oproti obiehajúcemu vozidlu. Po pustení volantu sa v sekunde chytí a vycentruje sa plynulo na stred jazdného pruhu. Robí teda striktný lane centering ako Tesla, akurát pracuje na pozadí neustále a nie je nutné ho stále zapínať a vypínať. Vypnúť sa dá odchodom z “Cruise” módu, inak beží aj bez tempomatu.

Najväčšou výhodou je spoľahlivosť na všetkých typoch ciest. Openpilot má viac úrovní algoritmov. Na cestách s jednou, alebo dvoma čiarami drží ako priklincovaný. Aj na úzkej kľukatej okresnej ceste s jednou stredovou čiarou sa ku nej “pripne” a dokonale ju s odstupom kopíruje aj pri 90 km/h. Ak cesta nemá čiary, iné algoritmy sa ju snažia nájsť podľa obrubníka, alebo prechodu asfalt/zem na krajnici. Veľmi dobre si poradí aj v prípade, že vyššie uvedené možnosti zlyhajú. OP odmanévruje auto aj na kľukatej prašnej ceste mimo obce.

V praxi to funguje neuveriteľne dobre. Nerobí problém jazda v noci trebárs aj v lejaku/prietrži, protisvetlo a západy slnka, čelne sklo zasypané hmyzom. Miznúce pruhy na cestách sú pre neho takisto hračka, vyššie spomínanými algoritmami si krásne podrží stopu. Ťažko uveriť čoho je schopný fotoaparát z obyčajného mobilného telefónu. A naopak ukazuje ako veľmi výrobcovia áut zanedbávajú softvérové implementácie.

V čom je Openpilot iný?

Openpilot podobne ako Tesla ťaží z toho, že sa údaje odosielajú cez internet na spracovanie do Comma.ai. V zariadení je SIM karta, ktorá v priebehu jazdy odosiela video z jazdy v extra nízkom rozlíšení vrátane zakladných parametrov (naplánovaná trajektória, zásah šoféra). Toto video si vie s oneskorením pár minút pozrieť aj majiteľ auta cez aplikáciu v telefóne. Po príchode domov sa cez WIFI odosielajú rozsiahlejšie záznamy z CAN zbernice (CABANA) a video vo vyššom rozlíšení (nie je nutné). Comma.ai používa simulácie modelov áut v simulátoroch na kontrolu integrity a bezpečnosti jednotlivých zmien pri vývoji. A samozrejme na vylepšovanie a nasadzovanie nových algoritmov. Autá si dokonca jazdia vo vlastnej virtuálnej krajine. Je chválihodné, že projekt kladie tak veľký dôraz na bezpečnosť. Majitelia s Openpilot najazdili už cez 30 miliónov oficiálnych kilometrov (ale nie každý odosiela údaje).

Vlastný fork a vlastná konfigurácia

Keď sme sa snažili spojazdniť naše auto, vyskúšali sme rôzne nastavenia a obmedzenia točenia volantom. Nové verzie okrem bežnej regulácie PID, ponúkajú ďalšie typy ako sú INDI a LQR. Je to z dôvodu, že PID nevyhovuje s točením volantu pre modely áut. Algoritmy aj ich parametre sú momentálne slabo zadokumentované. Pri každej zmene sme sa preto snažili najazdiť aspoň 1000 kilometrov po rôznych cestách, aby sme vedeli, či je daná konfigurácia stabilná a aké má slabé a silné stránky. Základná konfigurácia musí byť taká, aby prešla cez bezpečnostné pravidlá Comma.ai. Ibaže tým, že mnoho modelov áut nie je oficiálne podporovaných a nemajú zadefinované modely pre simulátory, tak majú nastavené pomerne malé limity točenia a sú skôr konzervatívne. Toto je veľmi dobré na to, aby sa začiatočník zladil s OP a naučil sa, kedy systému môže veriť a kedy niečo nezvládne.

Za ten čas sme si skúsili aj veľmi veľké hodnoty v nastaveniach. Auto s nimi nemalo problém bez zásahu vytočiť aj tie najprudšie zákruty. Niekedy až na hrane možností auta udržať sa na ceste. Neveril som, čo všetko je schopný zvládnuť hardvér auta. Od týchto konfigurácií sme ale upustili, lebo pri nízkych rýchlostiach na neznačených cestách auto nebolo veľmi stabilné a občas neočakávane prudšie pohlo volantom. Správne nastavenie regulácie je veľmi náročné. Skúšali sme aj INDI a tá sa chová v niektorých situáciách vlažnejšie, tj. zvykne prejsť cez čiaru. Mimochodom táto je pre e-Niro nastavená aktuálne ako základná. Prosím teda opatrne, ak sa budete hrať s parametrami. Bezpečnosť musí byť vždy prvom mieste! Netreba hazardovať s drahým autom a už vôbec nie so zdravím, alebo ľudskými životmi.

Aktuálne nastavenie a možné problémy s OP

Najviac nám vyhovuje zatiaľ PID s nastavenými mierne vyššími limitmi točenia volantu. Táto je momentálne pre nás najstabilnejšia v celom rozsahu rýchlostí. Zvládne vytočiť väčšinu prudších zákrut a je mimoriadne spoľahlivá a hlavne predvídateľná. Dalo by sa povedať, že je skoro presne napasovaná na naše možnosti a zvyky.

Aby všetko nebolo také super. Moja C2 pomerne často zobrazovala náhodne chybu CAN ERROR, kedy sa riadenie vyplo. Obzvlášť nepríjemné to bolo v zákrutách. Dlho sme mali podozrenie na neoficiálny prepojovací kábel (harness). Nakoniec sme našli príčinu. Ak sa vyberie SIM karta, nikdy táto chyba nevyskočí. 3300 kilometrový výlet do Estónska nám tak dopadol na jednotku bez chyby. Zatiaľ nevieme, či je to spôsobené zlým výberom operátora, lagom CPU pri SIM, vadným kusom zariadenia, alebo mojím autom. Ostatní na fóre s týmto problém nemajú. Momentálne sa teda snažíme túto vec doriešiť, lebo pripojenie na internet je potrebné pre zber dát a OP bez internetu sa po 2 dňoch nedá zapnúť bez reštartu zariadenia. Popri tom chceme pokračovať v ďalšom ladení nastavení a na dokončení zapracovania podpory Kia e-Niro do oficiálnej verzie (tzv. master).

Budúcnosť Openpilot

Openpilot je momentálne vo verzií 0.7x. Vydanie verzie 1.0 ešte iba čaká. Dnes je to teda záležitosť hlavne pre skúsenejších používateľov. Preto má zariadenie v názve DEVKIT (pozn. vývojový kit). Vo forkoch ale už nájdeme celkom zaujímavú funkčnosť. Napr. dá sa zapnúť automatické preradenie do druhého pruhu iba zapnutím blinkra (>70kmh). Funguje to výborne. Okrem toho existuje podpora HD máp (máp vo vysokom rozlíšení), automatické prenastavovanie rýchlosti tempomatu, zastavenie/rozbeh auta na semafóre, zastavenie na značke STOP, automatické pribrzďovanie do zákrut. Len nedávno sa členom podaril spojazdniť OP na Honde s lacným Raspberry PI. Možnosti systému sú teda veľmi otvorené.

Má zmysel úroveň 5?

Ja osobne si riadenie auta bez systému ako je Openpilot už neviem ani predstaviť. Šoférovanie často pripomína skôr pilotovanie, kedy sa len gombíkmi občas menia nejaké parametre (zmena rýchlosti na tempomate). Vyzerá, že časom odpadne aj to a zostane iba dohliadanie na autom. Aj na luxusných autách je ťažké nájsť taký kvalitný LKAS systém, ktorý pracuje spoľahlivo a stabilne na všetkých cestách a zákrutách (vrátane “esíčiek”). Niekedy sa seba pýtam, či treba viac a má zmysel automobily vôbec tlačiť do plnej autonómie úrovne 5. Čo si o tom myslíte vy? Bude umelá inteligencia niekedy v dohľadnej dobe riadiť autá spoľahlivejšie ako tandem na dvojke – človek a stroj? Lebo ten kto spraví prvý úroveň 5, môže rovno vyrábať aj plnohodných androidov. Vyrieši dlhoročný problém umelej integencie, ktorá tu bola pred pätkou.

Disqus Comments Loading...

Vážení čitatelia a návštevníci portálu MojElektromobil.sk, pre skvalitnenie služieb používame súbory cookies. Prehliadaním tohto webu tak súhlasíte s používaním týchto súborov.