Stát se inženýrem autonomních vozidel – Část 2:Softwarové dovednosti

V první části této série blogů jsme se zabývali tím, jak začít na vaší cestě stát se inženýrem autonomních vozidel. Nyní možná budete chtít vědět, jaké kódovací jazyky a software se naučit, abyste si upevnili své místo v týmu vytvářejícím budoucnost dopravy.

Viz – Mysli – Konej

Představte si, že jedete po městské ulici a pár set stop před sebou spatříte chodce, jak se pomalu blíží k obrubníku. Zatímco ještě nejsou na přechodu, dáte nohu na brzdu a předpovídáte, že mohou začít přecházet. Když se vaše cesty protnou, osoba vykročí vpřed, aby přešla silnici. Už jste připraveni, zastavíte se a necháte je projít.

Náš komplexní autonomní systém úrovně 4 je vytvořen tak, aby napodoboval rozhodovací proces podobným způsobem jako lidský řidič:Viz – Mysli – Konej.

To znamená, že implementujeme vše od senzorů, které „vidí“ chodce, až po algoritmy, které spojují data ze senzorů a identifikují je jako osobu. Rozhodnutí a akce, zda zastavit, zpomalit nebo pokračovat v jízdě, jsou založeny na chování naprogramovaném v samotném systému.

Tyto jednoduché scénáře se stávají složitějšími, když vezmete v úvahu prostředí (déšť, sníh), další provoz (jde někdo odbočit?) a rozhodování o trase. Požadujeme týmy s různými typy dovedností, aby vytvořily robustní systém schopný zvládnout různé situace, se kterými se můžete na silnici setkat.

Naše týmy

Aktivní snímání a fúze informací – Tým aktivního snímání využívá data ze senzorů a vytváří algoritmy pro detekci a identifikaci objektů pro systémy autonomního řízení Torc, což systému umožňuje porozumět prostředí kolem vozidla a reagovat na něj v reálném čase.

Strojové učení – Náš tým strojového učení trénuje náš systém, aby identifikoval určité objekty, které vidí, podrobněji, než by bylo možné poskytnout pomocí nezpracovaných dat ze senzorů. Například pomocí strojového učení učíme náš systém, jak identifikovat semafory nebo určit rozdíl mezi chodcem a světelným sloupkem.

Mapování a lokalizace – Mapy autonomních vozidel musí být mnohem specifičtější než typické mapy, které by člověk používal pro navigaci. Náš mapovací tým vyvíjí 3D prostředí a směruje naše autonomní pohony aut a spolupracuje s lokalizačním týmem, abychom zajistili, že systém ví, kde se nachází a jak se dostat do cíle.

Chování a plánování – Tým pro chování se zaměřuje na to, jak by se vozidlo mělo chovat v dané situaci. Například zařazování na rušné dálnici vyžaduje, aby si vozidlo určilo vhodné místo pro „zip“ do proudu provozu a upravilo zrychlení tak, aby toho bylo bezpečně dosaženo.

Mechanické – Mechanický tým vytváří koncept designu vozidla a integruje senzory, držáky a výpočty do vozidla.

Systémová integrace – Důležitou rolí v týmu je zajistit, aby komponenty fungovaly dobře nejen samy o sobě, ale i jako systém. Tým systémové integrace se zaměřuje na interakci komponent na vysoké úrovni jako celek.

Vestavěné, ovládací prvky a elektrické – Tento tým integruje software do celého systému komponent a pracuje na elektrickém systému, který řídí vozidlo – vzpomeňte si na zrychlení, brzdění a řízení.

Vývojářské operace – Tým Dev Ops pracuje na správě nasazení softwaru a údržbě technické infrastruktury.

Bezpečnost a testování – Bezpečnost je hlavním cílem našeho autonomního systému, a proto jsou bezpečnostní a testovací inženýři rozhodující pro každou fázi našeho vývoje. Bezpečnostní a testovací týmy se snaží zajistit, abychom mohli testovat a ověřovat nové schopnosti a také standardizovat bezpečnostní protokol a postupy pro všechny týmy.

Jak byste se měli připravit? Zeptali jsme se inženýrů Torc, jaké softwarové dovednosti a zkušenosti jim pomohly stát se úspěšnými ve své specializaci v našem AV týmu.

Karan Bhargava, softwarový inženýr mapování a lokalizace

C++ je jazyk orientovaný na výkon, který vám umožní „odklopit kapotu“ a sáhnout hluboko do správy paměti.

Pokud má kandidát solidní znalosti C++ a robotického operačního systému (ROS), pak už je robotickým inženýrem. Aby mohl být mapovacím a lokalizačním inženýrem, musí jít o krok dále a porozumět obecným transformacím souřadnic a 3D geometrii. Pokud kandidát pracoval se simultánní lokalizací a mapováním (SLAM), pak se pro tuto roli výborně hodí.

Matthew Via, inženýr DevOps

Tým DevOps vyžaduje dovednosti v oblasti sjednocení vývoje softwaru a správy systémů. Tyto dovednosti využíváme ve společnosti Torc pro správu nasazení softwaru do výpočtů vozidel. Správná správa a správa počítačů se systémem Linux je také důležitou dovedností pro automatizaci a zajištění robustnosti našich systémů.

Na našich vozidlech používáme poměrně složité sítě. Umět navrhnout dobré návrhy sítí a ladit složité návrhy je pro naši práci životně důležité.

Typické technologie, které by člen týmu DevOps použil k tomu, aby byl proces automatický/opakovatelný, by byly Config Management a Continuous Integration pipelines. Namísto toho, abychom nechali vývojáře napsat software, ručně jej zkompilovat a poté ručně zkopírovat do počítače (a poté ručně nakonfigurovat), používáme automatizaci, abychom zajistili, že software bude vytvořen, nainstalován a nakonfigurován s co nejmenší možností lidské chyby. jak je to možné.

David Anderson, hlavní strojní inženýr

V oblasti návrhu hardwaru je nejužitečnějším softwarem, který je třeba znát, různé balíčky CAD (Computer Aided Design) a simulační balíčky. Ty se denně používají k vytvoření hardwaru, díky kterému tato technologie funguje. Nejužitečnějšími kódovacími jazyky by byly Python a MATLAB. Hardware se zaměřuje méně na efektivitu kódu v reálném čase, ale více na manipulaci s daty a vizualizaci.

Andrew Cunningham, softwarový inženýr pro aktivní snímání a fúzi informací

C++ je kompilovaný programovací jazyk, který podporuje jak objektově orientované programování, tak nízkoúrovňovou manipulaci s pamětí. Torc používá C++ k podpoře autonomie, protože dobře napsaný kód C++ je extrémně rychlý a rozšiřitelný.

Kandidát by měl být také obeznámen se standardy kódování. Standardy průmyslového kódování zakazují určité kódovací praktiky, které mohou mít za následek potenciálně nebezpečné chyby za běhu. Vynucením těchto omezení je kód bezpečnější, přenosnější a spolehlivější. Standardy kódování MISRA jsou otevřené, a přestože dokumentace je hustá, klíčové myšlenky se lze naučit poměrně snadno.

Ashwin Sahasrabudhe, softwarový inženýr pro chování

Samojízdné chování hraje důležitou roli při rozhodování na vysoké úrovni o tom, jak by se vozidlo mělo chovat na silnicích, protože existuje mnoho dalších entit, jako jsou auta, chodci a jízdní kola. Aby bylo možné se s těmito různými entitami vypořádat a vyvinout požadované bezpečnostní algoritmy, je třeba dobře porozumět tomu, jak kinematika a dynamika vozidla ovlivňuje jeho ovladatelnost na silnici. Nejzábavnější na práci ve společnosti Torc je, že vaše práce není nikdy omezena pouze na jednu součást. Můžete pracovat na dalších komponentách, jako je rozhraní vozidla, které ovládá akční členy automobilu. Kvůli této různorodé práci je dobré mít znalosti o řídicích algoritmech a také zkušenosti s vývojem a laděním řídicích smyček.

Když už bylo řečeno, otázka, která je běžně kladena, zní:‚Kde se mohu o této technologii dozvědět?‘ Existuje velké množství simulátorů, se kterými si můžete hrát. Vždy je zábavné objevovat něco nového a získáte jiný druh uspokojení, když auto jede v simulátoru tak, jak chcete, aby jezdilo. Dobrým začátkem je praktická zkušenost a vývoj několika řídicích algoritmů nebo chování při autonomním řízení s takovými simulátory. Spojte se také se svými vrstevníky, kteří se zajímají o samořídící auta. z osobní zkušenosti bych řekl, že práce ve skupinových projektech a učení se od ostatních hodně pomáhá, pokud jde o pochopení nových technologií.

Brzy se vraťte na třetí díl, kde se inženýři společnosti Torc podělí o své osobní dovednosti, které považovali za stejně cenné jako kódování, a porovnají svá očekávání od práce se skutečností.

Hledáte práci v oboru samořiditelných vozidel? Torc je jednou z nejzkušenějších autonomních softwarových společností a náš tým rozšiřujeme, abychom způsobili revoluci v dopravě. Podívejte se na naši stránku kariéry pro více informací a zůstaňte naladěni na třetí díl!