Close

Autonomní vozidlo řízené Androidem

Softwarový inženýr Dimitri Platis pracoval s vlastním týmem na automaticky řízeném vozidle založeném na Androidu, které používá techniky a algoritmy strojového vidění (aplikace počítačového vidění). V Arduino projektu se využívá zpracování obrazu spolu s daty z palubních senzorů, aby mohlo auto sledovat jízdní pruhy, samo parkovat a překonat překážky blokující jeho cestu:

Inovativním aspektem tohoto projektu je hlavně použití telefonu s Androidem jako jednotky, která realizuje zpracování obrazu a rozhodování o dalším chování. Telefon bezdrátově přenáší instrukce do Arduino Mega, které ovládá fyzikální vlastnosti vozidla a tím i jeho chování. Data z různých hardwarových komponent (senzory, motory…) jsou programem zpracovány. Program je objektově orientovaný – jednotlivé objekty se nacházejí ve speciální knihovně, která umožňuje i uživatelům bez znalostí embedded (vestavěných) systémů ponořit se tvorby programů pro toto autonomní vozítko bez toho, aby se museli zabývat problémy s implementacemi na nižších úrovních.

Co se software týče, vznikla knihovna pro Arduino (založená na mé předchozí práci – 12), která obsahuje všechny potřebné funkce pro práci se senzory a umožňuje získaná data zpracovávat objektově orientovaným způsobem. API přeskakuje silně abstraktní úroveň věci a zaměřuje se na začátečníky, kteří chtějí „hlavně, aby to všechno fungovalo“ (Co je to API se můžete dočíst na Wikipedii).  Objekty na které se API zaměřuje, ale stačí i pro složitější úlohy. Knihovna není dosud 100% připravená pro okamžité použití na jiných hardwarových platformách, koneckonců jsme ji skládali pro naše „domácí“ využití, přesto by přechod na jinou platformu neměl být nijak složitý. Mělo by stačit pouze pár malých modifikací. Knihovna zatím podporuje následující komponenty: ESC servo motor, ultrazvukový snímač vzdálenosti HC-SR04, infračervený senzor SHARP GP2D120, gyroskop L3G4200D, a 9DOF senzor Razor IMU. Sketch pracující na reálném vozidle najdete zde. Mějme na paměti, že veškeré rozhodování v této Arduino aplikaci probíhá v mobilním přístroji, proto je úkolem Arduina pouze převzít příkazy, zakódované jako netstring a provést je, spolu se sbíráním dat a jejich opětovným přenášením zpět do Android zařízení.

 

Podívejte se na Arduino knihovny na Githubu a užite si následující video:

Přeloženo z https://blog.arduino.cc/2015/07/15/self-driving-vehicle-on-android/ a mírně upraveno.

Napsat komentář