Cuprins:

Vedere din spate a vehiculului: 9 pași (cu imagini)
Vedere din spate a vehiculului: 9 pași (cu imagini)

Video: Vedere din spate a vehiculului: 9 pași (cu imagini)

Video: Vedere din spate a vehiculului: 9 pași (cu imagini)
Video: Au Uitat Să Oprească Camera De FILMAT! Momente Incredibile Filmate În LIVE 2024, Iulie
Anonim
Image
Image

De ce construim Vehicle Rear Vision?

Coliziunea de rezervă a fost o problemă majoră, Centrul SUA pentru Controlul Bolilor a raportat că, din 2001-2003, aproximativ 7 475 de copii (2, 492 pe an) sub 15 ani au fost tratați pentru incidente de retragere a automobilelor. Aproximativ 300 de decese pe an rezultă din coliziuni de rezervă. Până în 2018, toate mașinile vândute în Statele Unite vor necesita o cameră de rezervă obligatorie.

Cum rezolvăm problema?

Majoritatea mașinilor de pe piață astăzi încă nu au cameră de rezervă, care include aproximativ jumătate din mașinile care sunt vândute astăzi în SUA și mult mai mult de jumătate pe tot globul. Putem rezolva această problemă instalând o cameră pe spatele mașinii, folosind spațiul plăcuței de înmatriculare.

Walabot va putea detecta distanța țintei cea mai apropiată de vehicul.

Camera Intel RealSense R200 ne va oferi un detaliu mai mare asupra a ceea ce se vede, inclusiv situația cu lumină slabă.

Kitul de dezvoltator Intel Joule este suficient de puternic pentru a rula camere RealSense împreună cu Walabot. Raspberry Pi nu este suficient de puternic pentru a rula o cameră 3D RealSense, în care putem adăuga mult mai multe funcții în viitor, care pot îmbunătăți funcționalitățile mașinii. Aceeași versiune poate fi utilizată cu Pi cu o cameră USB normală, dar nu va fi bună pentru noapte.

Telefonul / tableta Android fiind utilizat pentru a afișa camera de rezervă, aceasta este pentru a reduce costul unui ecran suplimentar. Versiunea iOS poate fi construită la cerere.

Prin intermediul acestor componente, vom putea construi o Rear End Vision care să arate utilizatorului partea din spate a mașinii.

Pasul 1: Adunați hardware-urile de care aveți nevoie

Instalați Ubuntu pe Joule și bibliotecile necesare care sunt necesare pentru al rula
Instalați Ubuntu pe Joule și bibliotecile necesare care sunt necesare pentru al rula
  1. Intel Joule
  2. Walabot Pro
  3. Camera Intel R200 RealSense
  4. Telefon / tabletă Android care rulează 5.0 sau o versiune ulterioară
  5. Adaptorul mașinii pentru ieșire mufă și adaptor de curent alternativ 12VDC (acesta este pentru demonstrație pentru a porni Joule, versiunea de producție va conține mecanisme de alimentare diferite)
  6. Hub USB pentru conectarea camerei și Walabot (USB3 pentru cameră și USB2 pentru Walabot)
  7. Invertor de alimentare plug-in direct de la DC la AC
  8. Imprimantă 3D generică pentru imprimarea cadrului de înmatriculare personalizat

Pasul 2: Instalați Ubuntu pe Joule și bibliotecile necesare care sunt necesare pentru al rula

Deoarece am decis să mergem cu ruta Linux, urmați ghidul https://developer.ubuntu.com/core/get-started/intel-joule pentru a instala Ubuntu pe Joule. Ubuntu ne oferă o mare flexibilitate pentru a rula un sistem de operare real pe un cip bazat pe IoT.

Pasul 3: Transmiteți camera RealSense

Redă în flux camera RealSense
Redă în flux camera RealSense
Redă în flux camera RealSense
Redă în flux camera RealSense

Deoarece folosim telefonul / tableta Android pentru a economisi costul facturii de material, de asemenea mai accesibil utilizatorilor, vom folosi biblioteca de mișcare pentru a găzdui camera, similar cu camerele de securitate. Odată ce Ubuntu este instalat și conectat la wifi, putem deschide terminalul și putem utiliza următoarea comandă. Mai întâi conectăm camera la Joule prin portul USB3, apoi facem pașii următori.

A. Instalarea mișcării pe Ubuntu:

sudo apt-get updatesudo apt-get install motion

b. Copiați fișierele de configurare:

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

c. Configurarea fișierului, pentru cei care sunt familiarizați cu Ubuntu, pot instala Sublime pentru a edita textul mai ușor, altfel îl putem edita în linia de comandă.

sudo nano ~ /.motion / motion.conf

d. După conectarea camerei R200, putem schimba următoarele linii în motion.conf

Aceasta este pentru a-l pune în modul de fundal:

# Porniți în modul daemon (fundal) și eliberați terminalul (implicit: off) daemon activat

Aceasta este pentru a utiliza vizualizarea camerei RealSense Camera.

# Videodevice care va fi utilizat pentru capturare (implicit / dev / video0) # pentru FreeBSD implicit este / dev / bktr0 videodevice / dev / video2

Schimbând lățimea și înălțimea, 1280 x 720 a funcționat excelent pentru mine, dar vă puteți juca cu dimensiunile pentru a vedea ce se potrivește nevoilor dvs.

# Lățimea imaginii (pixeli). Gama valabilă: dependentă de cameră, implicit: lățimea 352 1280 # Înălțimea imaginii (pixeli). Domeniu valid: dependent de cameră, implicit: 288 înălțime 720

Am setat acest lucru la 30, cu cât setați numărul mai mare, cu atât ar necesita mai multă putere de calcul. Puteți să vă jucați pentru a vedea care este reperul pentru acesta, dar 30 au funcționat excelent pentru mine.

# Numărul maxim de cadre de captat pe secundă. # Interval valabil: 2-100. Implicit: 100 (aproape fără limită). framerate 30

Deoarece suntem întotdeauna înapoi înapoi în mașină, putem seta un port dedicat, folosim 5001

####################################################### ######### # Server Stream Live ########################################## ######################## # Serverul mini-http ascultă acest port pentru solicitări (implicit: 0 = dezactivat) stream_port 5001 # Calitatea jpegului (în procente) imagini produse (implicit: 50) stream_quality 50 # Cadre de ieșire la 1 fps atunci când nu este detectată nicio mișcare și crește la # rata dată de stream_maxrate când este detectată mișcarea (implicit: off) stream_motion off # Framerate maximă pentru fluxurile de flux (implicit: 1) stream_maxrate 60 # Restricționează conexiunile de flux doar la localhost (implicit: activat) stream_localhost oprit

Apoi puteți rula ifconfig și aflați adresa IP și rulați în terminal, portul va fi 5001.

mişcare

Dacă nu există erori, este ușor să verificați camera de pe computerul dvs. utilizând IP, să remediați erorile, cum ar fi problemele de permisiune, dacă există.

Odată ce acest lucru rulează, îl putem adăuga la aplicația de pornire din Ubuntu.

Pornire mișcare pentru cameră

motion.conf este atașat în secțiunea cod, puteți verifica mai multe setări acolo.

Pasul 4: Configurați Walabot

Configurați Walabot
Configurați Walabot
Configurați Walabot
Configurați Walabot
Configurați Walabot
Configurați Walabot
Configurați Walabot
Configurați Walabot

Cu camera instalată, trebuie totuși să configurăm walabot, aceasta putând detecta distanța dintre vehicul și obiectul din spate, oferind o viziune clară asupra modului în care ar trebui

a, descărcați fișierul deb de pe

Urmați instrucțiunile de la https://api.walabot.com/_install.html#_linux Instalați pentru a instala Walabot API, astfel încât să poată fi importat în proiecte Python.

Există o greșeală pe site-ul web în partea în care instalează Walabot API https://walabot.com/api/_pythonapi.html#_installingwalabotapi unde indică

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

Ar trebui să fie

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

b. conectează Walabot Pro prin USB 2, nu am reușit să folosesc USB3, dar USB2 funcționează bine conectându-te la Linux. Deoarece Joule are un singur port USB3, conectați un port USB2 suplimentar pentru a găzdui Walabot Pro aici

c. Testați proiectul Walabot, cum ar fi https://github.com/Walabot-Projects/Walabot-Senso…, executând următoarea comandă în dosar

python SensorTargets.py

Acest lucru ar trebui să vă ofere un test bun pentru a vedea dacă Walabot funcționează corect, precum și cum să măsurați distanța pe lucrurile dorite. Exemplul DistanceMeasure nu a fost prea consistent în măsurare și zPosCm pare a fi extrem de precis, așa că am decis să folosesc zPosCM pentru demonstrație.

d. Încă trebuie să transmitem datele către dispozitivul de afișare, deoarece rulăm acest lucru pe Android pentru a reduce costul materialului, putem folosi prize. Folosim următorul cod pentru a configura socketul și udp în python.

MYPORT = 5002 sistem de import, timp de la importul de socket * s = socket (AF_INET, SOCK_DGRAM) s.bind (('', 0)) s.setsockopt (SOL_SOCKET, SO_REUSEADDR, 1) s.setsockopt (SOL_SOCKET, SO_BROADCAST, 1)

Următoarea comandă va transmite date la actualizare

s.sendto (str (ținte [0].zPosCm), ('255.255.255.255', MYPORT))

e. Când se face acest lucru, îl putem configura în Startup Application

f. Walabot este acum configurat și transferând date prin UDP, codul complet Python poate fi văzut în zona de atașare a codului. Captura de ecran de mai jos este tipărirea a ceea ce ar trebui să arate atunci când nu există nicio zonă. Codul este atașat în secțiunea cod.

Pasul 5: Crearea Wifi Hotspot din Joule

Crearea hotspot-ului Wifi din Joule
Crearea hotspot-ului Wifi din Joule

Ne creăm propriul hotspot wifi pentru dispozitivul Android pentru a transfera date. Utilizarea următoarei comenzi la început o va configura automat. Acesta este utilizat pentru Ubuntu 16.04 sau o versiune ulterioară, deoarece acesta este utilizat. Vom conecta automat acest lucru prin intermediul aplicației Android la pasul următor. Utilizați această comandă la Startup Applications.

dispozitiv nmcli wifi hotspot con-nume vehicul-viziune-spate ssid vehicul-bandă-viziune-spate bg parolă safedriving

În fișierul python al lui walabot, îl vom actualiza și în cazul în care vom trimite un mesaj UDP către dispozitivele conectate prin hotspot privat. Aceasta este pentru a vă asigura că nu se pierde niciun pachet.

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

Pasul 6: Construirea Android ca ecran de afișare

Construirea Android ca ecran de afișare
Construirea Android ca ecran de afișare

Aplicația Android este concepută pentru afișarea dispozitivului, în principal pentru că reduce factura de material, altfel un ecran separat poate fi atât costisitor, cât și dificil de instalat. În ceea ce privește acest proiect, putem folosi telefonul / tableta Android.

Android se concentrează pe 3 părți pe care le-am făcut mai devreme,

  • Conectați-vă la hotspot-ul wifi creat prin dispozitiv IoT (Intel Joule)
  • Transmiteți camera RealSense prin mișcare prin wifi
  • Măsurarea distanței de la ținta Walabot prin udp

După ce ați configurat totul și ați instalat aplicația Android (deschisă aici), veți putea vedea camera funcționând împreună cu walabot

Pasul 7: Testarea tuturor

Image
Image
Testând totul
Testând totul
Testând totul
Testând totul

Acum avem totul în funcțiune, ar trebui să avem o configurare de bază a tuturor componentelor atașate. Când pornim placa Joule, hotspot-ul ar trebui configurat automat, mișcarea și aplicația walabot vor începe odată cu aceasta, iar când pornim aplicația noastră Android ar trebui să putem transmite în flux de pe cameră. Aceasta înseamnă că tastatura / mouse-ul și monitorul nu mai sunt necesare pentru ca dispozitivul IoT să funcționeze. Dacă se întâmplă probleme în acest moment, cum ar fi bibliotecile care nu sunt instalate corect, ar trebui să o remediem înainte de a trece la pasul următor.

Imprimarea 3D a carcasei care poate ține camera este foarte importantă.

La construirea hardware-ului, ar trebui să avem carcasa personalizată tipărită 3D pregătită pentru cameră. Deoarece acesta este un prototip, se poate slăbi puțin, dar când construim suportul personalizat al plăcuței de înmatriculare, ne așteptăm ca toate componentele să fie în interiorul suportului.

Pasul 8: Testarea pe o mașină reală

Image
Image
Testarea pe o mașină reală
Testarea pe o mașină reală
Testarea pe o mașină reală
Testarea pe o mașină reală

Acum, că am făcut totul să funcționeze, îl vom putea testa pe o mașină adevărată. Deoarece acesta este un prototip, lucrurile pot fi puțin dificile, folosim bandă adezivă pentru unele componente.

Pentru a porni kitul Joule IoT, am folosit un invertor de alimentare direct la curent alternativ, apoi pur și simplu am rulat o priză lungă la portbagaj.

Vom avea partea din față și partea din spate. Acesta este doar un prototip chiar acum, următoarea versiune ar integra cipurile în titularul plăcuței de înmatriculare.

Și pentru partea din față, putem folosi un suport pentru telefon sau doar o bandă adezivă pentru tableta Android.

Pasul 9: Folosește-l în lume

Folosește-l în lume
Folosește-l în lume

Folosind acest instrument, putem sprijini mașina în siguranță pe alte mașini și putem monitoriza pietonii. Puteți viziona videoclipul demonstrativ la început. Scopul proiectului este de a încuraja practici de conducere mai sigure.

Puteți verifica proiectul de pe

Recomandat: