Obsah:

Zadní vidění vozidla: 9 kroků (s obrázky)
Zadní vidění vozidla: 9 kroků (s obrázky)

Video: Zadní vidění vozidla: 9 kroků (s obrázky)

Video: Zadní vidění vozidla: 9 kroků (s obrázky)
Video: Adel ukazala prso 2024, Červenec
Anonim
Image
Image

Proč stavíme Vehicle Rear Vision?

Záložní srážka byla velkým problémem, Americké centrum pro kontrolu nemocí uvedlo, že v letech 2001–2003 bylo odhadnuto 7 475 dětí (2 492 ročně) mladších 15 let za incidenty zpětného chodu automobilu. Asi 300 smrtelných úrazů ročně je důsledkem kolizí záloh. Do roku 2018 budou všechna auta prodávaná v USA vyžadovat povinnou záložní kameru.

Jak problém vyřešíme?

Většina dnešních automobilů na trhu stále nemá záložní kameru, což zahrnuje zhruba polovinu vozů, které se dnes prodávají v USA, a mnohem více než polovinu po celém světě. Tento problém můžeme vyřešit instalací kamery na zadní část vozu, využívající prostor poznávací značky.

Walabot bude schopen detekovat vzdálenost cíle nejblíže vozidlu.

Kamera Intel RealSense R200 nám poskytne podrobnější informace o tom, co je vidět, včetně situace za špatného osvětlení.

Vývojářská sada Intel Joule je dostatečně výkonná pro provoz kamer RealSense společně s Walabotem. Raspberry Pi není dostatečně výkonné na to, aby provozovalo 3D kameru RealSense, do které můžeme v budoucnu přidat mnohem více funkcí, které mohou zlepšit funkčnost vozu. Stejnou verzi lze použít s Pi s normální USB kamerou, ale v noci to nebude dobré.

Telefon/tablet Android, který se používá k zobrazení záložní kamery, má snížit náklady na další obrazovku. Verzi pro iOS lze vytvořit na vyžádání.

Prostřednictvím těchto komponent budeme schopni postavit zadní pohled, který uživateli ukáže zadní část vozu.

Krok 1: Shromážděte potřebné hardwarové vybavení

Nainstalujte si Ubuntu do knihoven Joule a nezbytných knihoven, které jsou k jeho spuštění potřeba
Nainstalujte si Ubuntu do knihoven Joule a nezbytných knihoven, které jsou k jeho spuštění potřeba
  1. Intel Joule
  2. Walabot Pro
  3. Kamera Intel R200 RealSense
  4. Telefon/tablet Android se systémem 5.0 nebo vyšším
  5. Automobilový adaptér pro zásuvkový výstup a napájecí adaptér 12 V DC (slouží k ukázce napájení Joule, produkční verze bude obsahovat jiný napájecí mechanismus)
  6. Rozbočovač USB pro připojení kamery a Walabot (USB3 pro kameru a USB2 pro Walabot)
  7. Napájecí měnič DC to AC Direct Plug-in
  8. Obecná 3D tiskárna pro tisk vlastního rámu registrační značky

Krok 2: Nainstalujte si Ubuntu do knihoven Joule a nezbytných knihoven, které jsou k jeho spuštění potřeba

Protože jsme se rozhodli jít cestou Linux, nainstalujte Ubuntu na Joule podle pokynů https://developer.ubuntu.com/core/get-started/intel-joule. Ubuntu nám poskytuje velkou flexibilitu pro spuštění skutečného operačního systému na čipu založeném na IoT.

Krok 3: Streamujte kameru RealSense

Streamujte kameru RealSense
Streamujte kameru RealSense
Streamujte kameru RealSense
Streamujte kameru RealSense

Vzhledem k tomu, že používáme telefon/tablet Android, abychom ušetřili náklady na materiál, který je také přístupnější uživatelům, použijeme k hostování kamery podobnou bezpečnostním kamerám knihovnu pohybu. Jakmile je Ubuntu nainstalován a připojen k wifi, můžeme terminál otevřít a použít následující příkaz. Nejprve připojíme kameru k Joule přes port USB3 a poté provedeme následující kroky.

A. Instalace pohybu na ubuntu:

sudo apt-get updatesudo apt-get install motion

b. Kopírovat konfigurační soubory:

mkdir.motion sudo cp /etc/motion/motion.conf ~/.motion/motion.conf

C. Konfigurace souboru pro ty, kteří jsou obeznámeni s ubuntu, může nainstalovat Sublime pro snadnější úpravy textu, jinak jej můžeme upravit v příkazovém řádku.

sudo nano ~/.motion/motion.conf

d. Po připojení kamery R200 můžeme změnit následující řádky v souboru motion.conf

Chcete -li to přepnout do režimu na pozadí:

# Začněte v režimu daemon (na pozadí) a uvolněte terminál (výchozí: vypnuto) daemon zapnutý

Toto má použít pohled kamery RealSense Camera.

# Videodevice to be used for capturing (default /dev /video0) # for FreeBSD default is /dev /bktr0 videodevice /dev /video2

Změna šířky a výšky, 1280 x 720 pro mě fungovala skvěle, ale můžete si pohrát s rozměry a zjistit, co vyhovuje vašim potřebám.

# Šířka obrázku (pixely). Platný rozsah: Závisí na fotoaparátu, výchozí: 352 šířka 1280 # Výška obrázku (pixely). Platný rozsah: Závisí na fotoaparátu, výchozí: 288, výška 720

Nastavil jsem to na 30, čím vyšší číslo nastavíte, tím větší výpočetní výkon bude vyžadovat. Můžete si hrát, abyste zjistili, jaké je měřítko, ale 30 se mi osvědčilo.

# Maximální počet snímků, které lze zachytit za sekundu. # Platný rozsah: 2-100. Výchozí: 100 (téměř žádný limit). snímková frekvence 30

Protože neustále streamujeme z auta, můžeme nastavit vyhrazený port, používáme 5001

############################################################################# ###########Live Stream Server ########################################### ############################Server mini-http naslouchá tomuto portu pro požadavky (výchozí: 0 = zakázáno) stream_port 5001#Kvalita jpeg (v procentech) vytvořené obrázky (výchozí: 50) stream_quality 50 # Výstupní snímky rychlostí 1 fps, když není detekován žádný pohyb, a zvýšení na # rychlost danou stream_maxrate, když je detekován pohyb (výchozí: vypnuto) stream_motion off # Maximální snímková frekvence pro streamy streamů (výchozí: 1) stream_maxrate 60 # Omezení připojení streamu pouze na localhost (výchozí: zapnuto) stream_localhost vypnuto

Poté můžete spustit ifconfig a zjistit IP adresu a spustit v terminálu, port bude 5001.

pohyb

Pokud neexistují žádné chyby, je snadné zkontrolovat kameru z počítače pomocí IP, opravit chyby, jako jsou problémy s oprávněním, pokud existují.

Jakmile to poběží, můžeme to přidat do spouštěcí aplikace v Ubuntu.

Spuštění pohybu pro kameru

motion.conf se připojuje v sekci kódu, tam se můžete podívat na další nastavení.

Krok 4: Nastavení Walabot

Nastavení Walabot
Nastavení Walabot
Nastavení Walabot
Nastavení Walabot
Nastavení Walabot
Nastavení Walabot
Nastavení Walabot
Nastavení Walabot

S kamerou na místě stále potřebujeme nastavit walabot, který dokáže detekovat vzdálenost mezi vozidlem a objektem za ním, což dává jasnou představu o tom, jak bychom měli

a, stáhněte si deb soubor z

Podle pokynů z https://api.walabot.com/_install.html#_linuxInstall nainstalujte Walabot API, aby bylo možné jej importovat do projektů pythonu.

Na webu je chyba v části, kde instaluje Walabot API https://walabot.com/api/_pythonapi.html#_installingwalabotapi, kde uvádí

python -m pip „/usr/share/walabot/python/WalabotAPI-1.0.21.tar.gz“

To by mělo být

python -m pip install "/usr/share/walabot/python/WalabotAPI-1.0.21.tar.gz"

b. připojte Walabot Pro přes USB 2, nemohl jsem pracovat s usb3, ale usb2 funguje dobře při připojení k linuxu. Vzhledem k tomu, že Joule má pouze jeden port USB3, připojte další port USB2, abyste zde mohli umístit Walabot Pro

C. Otestujte projekt Walabot, jako je https://github.com/Walabot-Projects/Walabot-Senso… spuštěním následujícího příkazu ve složce

python SensorTargets.py

To by vám mělo dát dobrý test, abyste zjistili, zda Walabot běží správně, a také jak změřit vzdálenost na věcech, které chcete. Příklad DistanceMeasure nebyl při měření příliš konzistentní a zPosCm se zdá být extrémně přesný, takže jsem se rozhodl použít zPosCM pro demo.

d. Stále potřebujeme předat data do zobrazovacího zařízení, protože to spouštíme na Androidu, abychom snížili náklady na materiál, můžeme použít zásuvky. Následující kód používáme k nastavení soketu a udp v pythonu.

MYPORT = 5002 import sys, čas ze soketu import * s = socket (AF_INET, SOCK_DGRAM) s.bind (('', 0)) s.setsockopt (SOL_SOCKET, SO_REUSEADDR, 1) s.setsockopt (SOL_SOCKET, SO_BROADCAST, 1)

Následující příkaz bude při aktualizaci vysílat data

s.sendto (str (cíle [0].zPosCm), ('255.255.255.255', MYPORT))

E. Až to bude hotové, můžeme to nastavit ve spouštěcí aplikaci

F. Walabot nyní nastavuje a přenáší data přes UDP, plný kód pythonu je vidět v oblasti přílohy kódu. Snímek obrazovky níže je tiskem toho, jak by měl vypadat, když není žádná oblast. Kód je připojen v sekci kódu.

Krok 5: Vytvoření hotspotu Wifi z Joule

Vytvoření Wifi hotspotu z Joule
Vytvoření Wifi hotspotu z Joule

Vytváříme vlastní wifi hotspot pro zařízení Android pro přenos dat. Následující příkaz při spuštění jej automaticky nastaví. Toto se používá pro Ubuntu 16.04 nebo novější, protože se používá. V dalším kroku to automaticky připojíme prostřednictvím aplikace pro Android. Tento příkaz použijte ve spouštěcích aplikacích.

nmcli zařízení wifi hotspot pojmenování vozidla zadní pohled ssid vozidlo zadní pásmo bg heslo safedriving

V souboru pythonu walabotu jej také aktualizujeme, kam budeme odesílat zprávy udp zařízením připojeným přes soukromý hotspot. To má zajistit, aby se žádný paket neztratil.

out = os.popen ('ip neigh'). read (). splitlines () for i, line in enumerate (out, start = 1): ip = line.split ('') [0] s.sendto (str (cíle [0].zPosCm), (ip, MYPORT))

Krok 6: Budování Androidu jako obrazovky displeje

Budování Androidu jako displeje
Budování Androidu jako displeje

Aplikace pro Android je vytvořena pro zobrazování zařízení, hlavně proto, že snižuje náklady na materiál, protože jinak může být samostatná obrazovka drahá a obtížně se instaluje. Pro tento projekt můžeme použít telefon/tablet Android.

Android se zaměřuje na 3 části, které jsme udělali dříve,

  • Připojte se k wifi hotspotu vytvořenému prostřednictvím zařízení IoT (Intel Joule)
  • Streamujte kameru RealSense pohybem přes wifi
  • Měření vzdálenosti od cíle Walabot přes udp

Po nastavení všeho a instalaci aplikace pro Android (zde otevřený zdroj) uvidíte, jak kamera funguje společně s walabotem

Krok 7: Testování všeho

Image
Image
Testování všeho
Testování všeho
Testování všeho
Testování všeho

Nyní jsme vše spustili, měli bychom mít základní nastavení všech připojených komponent. Když spustíme desku Joule, hotspot by se měl automaticky nastavit, spolu s ním se spustí aplikace Motion a walabot, a když zapneme naši aplikaci pro Android, měli bychom být schopni streamovat z kamery. To znamená, že klávesnice/myš a monitor již pro fungování zařízení IoT nejsou potřeba. Pokud se v tuto chvíli vyskytnou nějaké problémy, například knihovny nejsou správně nainstalovány, měli bychom to opravit, než přejdeme k dalšímu kroku.

3D tisk pouzdra, které pojme fotoaparát, je velmi důležitý.

Při stavbě Hardware bychom měli mít pro kameru připravený vlastní 3D potištěný kryt. Jelikož se jedná o prototyp, může se to trochu uvolnit, ale když stavíme vlastní držák registrační značky, očekáváme, že všechny součásti budou uvnitř držáku.

Krok 8: Testování na skutečném autě

Image
Image
Testování na skutečném autě
Testování na skutečném autě
Testování na skutečném autě
Testování na skutečném autě

Nyní, když jsme vše zprovoznili, si to budeme moci vyzkoušet na skutečném autě. Protože se jedná o prototyp, věci mohou být trochu drsné, pro některé komponenty používáme lepicí pásku.

Abychom mohli zapnout Joule IoT Kit, použili jsme DC to AC Direct Plug-in Power Inverter, pak jsme prostě jen vedli dlouhou elektrickou zásuvku do kufru.

Budeme mít přední část a zadní část. Toto je zatím jen prototyp, další verze by integrovala čipy do držáku registrační značky.

A pro přední část můžeme použít buď držák telefonu, nebo jen lepicí pásku Android Tablet.

Krok 9: Použijte to ve světě

Použijte to ve světě
Použijte to ve světě

Pomocí tohoto nástroje můžeme bezpečně zacouvat auto k jiným autům a sledovat chodce. Na začátku se můžete podívat na demo video. Cílem projektu je podpořit bezpečnější postupy řízení.

Projekt si můžete prohlédnout na stránce

Doporučuje: