Turinys:

Transporto priemonės galinis matymas: 9 žingsniai (su nuotraukomis)
Transporto priemonės galinis matymas: 9 žingsniai (su nuotraukomis)

Video: Transporto priemonės galinis matymas: 9 žingsniai (su nuotraukomis)

Video: Transporto priemonės galinis matymas: 9 žingsniai (su nuotraukomis)
Video: Kaip pakeisti priekinių rato guolis BMW E60 [AUTODOC PAMOKA] 2024, Liepa
Anonim
Image
Image

Kodėl mes kuriame automobilio galinę viziją?

Atsarginis susidūrimas buvo didelė problema, JAV Ligų kontrolės centras pranešė, kad 2001–2003 m. Maždaug 7 475 vaikai (2, 492 per metus), jaunesni nei 15 metų, buvo gydomi dėl atsitiktinių automobilių. Dėl atsarginių susidūrimų kasmet miršta apie 300 žmonių. Iki 2018 metų visiems JAV parduodamiems automobiliams reikės privalomos atsarginės kameros.

Kaip mes išsprendžiame problemą?

Dauguma šiandien rinkoje esančių automobilių vis dar neturi atsarginės kameros, kuri apima apie pusę šiandien JAV parduodamų automobilių ir daug daugiau nei pusę visame pasaulyje. Šią problemą galime išspręsti sumontuodami fotoaparatą automobilio gale, naudodami valstybinio numerio vietą.

„Walabot“galės aptikti arčiausiai transporto priemonės esančio taikinio atstumą.

„Intel RealSense R200“kamera suteiks mums daugiau informacijos apie tai, kas matoma, įskaitant blogo apšvietimo situaciją.

„Intel Joule“kūrėjų rinkinys yra pakankamai galingas, kad kartu su „Walabot“galėtų paleisti „RealSense“fotoaparatus. „Raspberry Pi“nėra pakankamai galinga, kad galėtų paleisti „RealSense 3D“fotoaparatą, kuriame ateityje galime pridėti daug daugiau funkcijų, galinčių pagerinti automobilio funkcijas. Tą pačią versiją galima naudoti su „Pi“su įprasta USB kamera, tačiau ji nebus tinkama naktį.

Jei „Android“telefonas/planšetinis kompiuteris naudojamas atsarginei kamerai rodyti, tai sumažina papildomo ekrano kainą. „iOS“versiją galima sukurti pagal pageidavimą.

Per šiuos komponentus galėsime sukurti galinę viziją, kuri parodytų vartotojui automobilio galą.

1 žingsnis: surinkite reikalingą įrangą

Įdiekite „Ubuntu“„Joule“ir būtinose bibliotekose, kurių reikia norint jį paleisti
Įdiekite „Ubuntu“„Joule“ir būtinose bibliotekose, kurių reikia norint jį paleisti
  1. „Intel Joule“
  2. „Walabot Pro“
  3. „Intel R200 RealSense“kamera
  4. „Android“telefonas/planšetinis kompiuteris, kuriame veikia 5.0 ar naujesnė versija
  5. Automobilio adapteris kištukiniam išėjimui ir 12VDC kintamosios srovės adapteris (tai skirta demonstracijai, skirta įjungti „Joule“, gamybinėje versijoje bus skirtingas maitinimo mechanizmas)
  6. USB koncentratorius, skirtas prijungti fotoaparatą ir „Walabot“(USB3 fotoaparatui ir USB2, skirtas „Walabot“)
  7. Nuolatinės srovės į kintamosios srovės kintamosios srovės maitinimo keitiklį
  8. Bendras 3D spausdintuvas, skirtas atspausdinti pagal užsakymą pagamintą valstybinio numerio rėmelį

2 veiksmas: įdiekite „Ubuntu“„Joule“ir būtinose bibliotekose, kurių reikia norint jį paleisti

Kadangi nusprendėme pasirinkti „Linux“maršrutą, vadovaukitės vadovu https://developer.ubuntu.com/core/get-started/intel-joule, kad įdiegtumėte „Ubuntu“„Joule“. „Ubuntu“suteikia mums didelį lankstumą paleisti tikrąją operacinę sistemą naudojant IoT pagrįstą lustą.

3 veiksmas: transliuokite „RealSense“kamerą

Srautu perduokite „RealSense“kamerą
Srautu perduokite „RealSense“kamerą
Srautu perduokite „RealSense“kamerą
Srautu perduokite „RealSense“kamerą

Kadangi mes naudojame „Android“telefoną/planšetinį kompiuterį, kad sutaupytume medžiagos, kuri taip pat yra labiau prieinama vartotojams, išlaidas, mes naudosime judesio biblioteką, kad talpintume kamerą, panašią į apsaugos kameras. Kai „Ubuntu“bus įdiegtas ir prijungtas prie „wifi“, galime atidaryti terminalą ir naudoti šią komandą. Pirmiausia prijungiame fotoaparatą prie „Joule“per USB3 prievadą, tada atlikite šiuos veiksmus.

a. Judėjimo diegimas „Ubuntu“:

sudo apt-get atnaujinimai; sud-apt-get install motion

b. Nukopijuokite konfigūracijos failus:

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

c. Konfigūruodami failą tiems, kurie yra susipažinę su „ubuntu“, gali įdiegti „Sublime“, kad būtų lengviau redaguoti tekstą, kitaip galime jį redaguoti komandų eilutėje.

sudo nano ~/.motion/motion.conf

d. Prijungę R200 fotoaparatą, galime pakeisti šias judėjimo eilutes.conf

Tai atliekama fono režimu:

# Pradėkite demono (fono) režimu ir įjunkite terminalo (numatytasis: išjungtas) demoną

Tai naudojama norint naudoti „RealSense Camera“kameros vaizdą.

# Vaizdo įtaisas, naudojamas fiksavimui (numatytasis /dev /video0) # FreeBSD numatytasis yra /dev /bktr0 videodevice /dev /video2

Pakeitus plotį ir aukštį, 1280 x 720 man puikiai tiko, bet jūs galite žaisti su matmenimis, kad pamatytumėte, kas atitinka jūsų poreikius.

# Vaizdo plotis (pikseliais). Tinkamas diapazonas: priklauso nuo fotoaparato, numatytasis: 352 plotis 1280 # Vaizdo aukštis (pikseliais). Tinkamas diapazonas: priklauso nuo fotoaparato, numatytasis: 288 aukštis 720

Aš nustatiau tai į 30, kuo aukštesnį skaičių nustatysite, tuo daugiau skaičiavimo galios reikės. Galite pažaisti, kad pamatytumėte, koks yra jo etalonas, tačiau 30 man puikiai pasiteisino.

# Maksimalus kadrų, kuriuos reikia užfiksuoti per sekundę, skaičius. # Galiojantis diapazonas: 2-100. Numatytasis: 100 (beveik jokių apribojimų). kadrų dažnis 30

Kadangi mes visada transliuojame automobilį atgal, galime nustatyti tam skirtą prievadą, todėl naudojame 5001

############################################### ##########Tiesioginio srauto serveris ##################################### ########################Mini-http serveris klauso šio prievado prašymų (numatytasis: 0 = išjungtas) stream_port 5001#„jpeg“(procentais) sukurti vaizdai (numatytasis: 50) stream_quality 50 # Išvesties kadrai esant 1 kadro per sekundę greičiui, kai judesys neaptinkamas, ir padidinus iki # greičio, kurį suteikia srauto_maxrate, kai aptinkamas judesys (numatytasis: išjungtas) stream_motion off # Maksimalus srauto srautų kadrų dažnis (numatytasis: 1) stream_maxrate 60 # Apriboti srauto ryšius tik su „localhost“(numatytoji: įjungta) „stream_localhost“išjungta

Tada galite paleisti ifconfig ir išsiaiškinti IP adresą ir paleisti terminale, prievadas bus 5001.

judesys

Jei nėra klaidų, nesunku patikrinti fotoaparatą iš kompiuterio naudojant ip, ištaisyti klaidas, pvz., Leidimo problemas, jei tokių yra.

Kai tai bus paleista, galime tai pridėti prie „Ubuntu“paleisties programos.

Fotoaparato judesio paleidimas

„motion.conf“yra pridedamas kodo skiltyje, ten galite patikrinti daugiau nustatymų.

4 veiksmas: nustatykite „Walabot“

Nustatykite „Walabot“
Nustatykite „Walabot“
Nustatykite „Walabot“
Nustatykite „Walabot“
Nustatykite „Walabot“
Nustatykite „Walabot“
Nustatykite „Walabot“
Nustatykite „Walabot“

Kai fotoaparatas yra vietoje, mums vis tiek reikia nustatyti „walabot“, kuris gali aptikti atstumą tarp transporto priemonės ir už jo esančio objekto, suteikdamas aiškią viziją, kaip turėtume

a, atsisiųskite deb failą iš

Vykdykite https://api.walabot.com/_install.html#_linuxInstall pateiktas instrukcijas, kad įdiegtumėte „Walabot“API, kad ją būtų galima importuoti į „Python“projektus.

Svetainėje, kurioje ji įdiegia „Walabot“API, yra klaida https://walabot.com/api/_pythonapi.html#_installingwalabotapi, kurioje nurodyta

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

Tai turėtų būti

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

b. Prijunkite „Walabot Pro“per USB 2, negalėjau gauti „usb3“darbo, bet usb2 puikiai veikia jungiantis prie „Linux“. Kadangi „Joule“turi tik vieną USB3 prievadą, prijunkite papildomą USB2 prievadą, kad čia būtų „Walabot Pro“

c. Išbandykite „Walabot“projektą, pvz., Https://github.com/Walabot-Projects/Walabot-Senso…, vykdydami šią komandą aplanke

python SensorTargets.py

Tai turėtų suteikti jums gerą testą, kad pamatytumėte, ar „Walabot“veikia teisingai, ir kaip išmatuoti norimų dalykų atstumą. DistanceMeasure pavyzdys nebuvo labai nuoseklus matuojant, o zPosCm atrodo labai tikslus, todėl nusprendžiau demonstracijai naudoti zPosCM.

d. Mums vis tiek reikia perduoti duomenis į rodymo įrenginį, nes mes tai naudojame „Android“, kad sumažintume medžiagų kainą, todėl galime naudoti lizdus. Mes naudojame šį kodą, kad nustatytume lizdą ir udp „python“.

MYPORT = 5002 importavimo sys, laikas nuo lizdo importavimo

Ši komanda transliuos duomenis atnaujinus

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

e. Kai tai bus padaryta, galime ją nustatyti paleisties programoje

f. „Walabot“dabar nustato ir perduoda duomenis per UDP, visą python kodą galima pamatyti kodo priedų srityje. Žemiau esanti ekrano kopija yra atspausdinta, kaip ji turėtų atrodyti, kai nėra srities. Kodas pridedamas kodų skyriuje.

5 veiksmas: sukurkite „Wifi“viešosios interneto prieigos tašką iš „Joule“

„Wifi“viešosios interneto prieigos taško kūrimas iš „Joule“
„Wifi“viešosios interneto prieigos taško kūrimas iš „Joule“

Mes kuriame savo „Wi -Fi“viešosios interneto prieigos tašką, skirtą „Android“įrenginiui perduoti duomenis. Pradedant naudoti šią komandą, ji bus automatiškai nustatyta. Tai naudojama „Ubuntu 16.04“ar naujesnėms versijoms. Kitame veiksme tai automatiškai sujungsime per „Android“programą. Naudokite šią komandą paleisdami programas.

„nmcli“įrenginys „Wi-Fi“viešosios interneto prieigos taškas su transporto priemonės galinio matymo ssid transporto priemonės galinio matymo juosta bg slaptažodžio saugus

„Walabot“„python“failo viduje mes taip pat jį atnaujinsime ten, kur siųsime udp pranešimą į įrenginius, prijungtus per privatų viešosios interneto prieigos tašką. Taip siekiama užtikrinti, kad paketas nebūtų prarastas.

out = os.popen ('ip kaimynas'). skaityti (). splitlines () i, eilutė išvardyti (out, start = 1): ip = line.split ('') [0] s.sendto (str. (taikiniai [0].zPosCm), (ip, MYPORT))

6 veiksmas: kurkite „Android“kaip ekrano ekraną

„Android“kūrimas kaip ekranas
„Android“kūrimas kaip ekranas

„Android“programa sukurta įrenginiui rodyti, daugiausia dėl to, kad sumažina medžiagos kiekį, nes priešingu atveju atskiras ekranas gali būti brangus ir sunkiai įdiegiamas. Kalbant apie šį projektą, galime naudoti „Android“telefoną/planšetinį kompiuterį.

„Android“sutelkia dėmesį į 3 dalis, kurias padarėme anksčiau,

  • Prisijunkite prie „Wi -Fi“viešosios interneto prieigos taško, sukurto naudojant „IoT“įrenginį („Intel Joule“)
  • Srautu perduokite „RealSense“kamerą judėdami per „Wi -Fi“
  • Matavimo atstumas nuo Walabot tikslo per udp

Viską nustatę ir įdiegę „Android“programą (čia atidaryta), galėsite pamatyti, kaip fotoaparatas veikia kartu su „walabot“

7 žingsnis: išbandykite viską

Image
Image
Viską išbandyti
Viską išbandyti
Viską išbandyti
Viską išbandyti

Dabar viskas veikia, turėtume turėti pagrindinę visų prijungtų komponentų sąranką. Kai paleidžiame „Joule“plokštę, viešosios interneto prieigos taškas turėtų būti automatiškai sukonfigūruotas, kartu su juo prasidės judesio ir „walabot“programa, o kai įjungiame „Android“programą, turėtume turėti galimybę transliuoti srautą iš fotoaparato. Tai reiškia, kad klaviatūra/pelė ir monitorius nebereikalingi, kad veiktų daiktų interneto įrenginys. Jei šiuo metu iškyla kokių nors problemų, pvz., Bibliotekos neįdiegtos tinkamai, prieš pereidami prie kito veiksmo, turime jas išspręsti.

3D spausdinimas korpuse, kuriame galima laikyti fotoaparatą, yra labai svarbus.

Kurdami aparatūrą, fotoaparatui turėtume paruošti pasirinktinį 3D spausdintą korpusą. Kadangi tai yra prototipas, jis gali šiek tiek atsilaisvinti, tačiau kai mes pagaminsime pagal užsakymą pagamintą valstybinio numerio laikiklį, tikimės, kad visi komponentai bus laikiklio viduje.

8 žingsnis: išbandykite automobilį

Image
Image
Išbandymas tikrame automobilyje
Išbandymas tikrame automobilyje
Išbandymas tikrame automobilyje
Išbandymas tikrame automobilyje

Dabar, kai viskas pavyko, galėsime tai išbandyti tikrame automobilyje. Kadangi tai yra prototipas, viskas gali būti šiek tiek šiurkšta, kai kuriems komponentams naudojame lipnią juostą.

Norėdami įjungti „Joule IoT Kit“, mes naudojome tiesioginio kintamosios srovės kintamosios srovės kintamosios srovės keitiklį, tada tiesiog prijungėme ilgą maitinimo lizdą prie bagažinės.

Mes turėsime priekinę ir galinę dalis. Šiuo metu tai tik prototipas, kita versija integruotų lustus į valstybinio numerio laikiklio laikiklį.

Priekinėje dalyje galime naudoti telefono laikiklį arba tiesiog lipnią juostą „Android Tablet“.

9 žingsnis: naudokite jį pasaulyje

Naudokite jį pasaulyje
Naudokite jį pasaulyje

Naudodamiesi šiuo įrankiu, mes galime saugiai sukurti atsarginę automobilio kopiją kitiems automobiliams ir stebėti pėsčiuosius. Pradžioje galite žiūrėti demonstracinį vaizdo įrašą. Projekto tikslas - skatinti saugesnę vairavimo praktiką.

Projektą galite patikrinti apsilankę

Rekomenduojamas: