Indholdsfortegnelse:

Køretøjets bageste vision: 9 trin (med billeder)
Køretøjets bageste vision: 9 trin (med billeder)

Video: Køretøjets bageste vision: 9 trin (med billeder)

Video: Køretøjets bageste vision: 9 trin (med billeder)
Video: This is a very common mistake on roundabouts | Straight lines a roundabout 2024, Juli
Anonim
Image
Image

Hvorfor bygger vi køretøjets bageste vision?

Back-up kollision har været et stort problem. Det amerikanske Center for Sygdomsbekæmpelse rapporterede, at fra 2001-2003 anslået 7, 475 børn (2, 492 om året) under 15 år blev behandlet for bil-back-over hændelser. Omkring 300 dødsfald om året skyldes backupkollisioner. I 2018 kræver alle biler, der sælges i USA, et obligatorisk backup -kamera.

Hvordan løser vi problemet?

De fleste biler på markedet i dag har stadig ikke et backup -kamera, det omfatter omkring halvdelen af de biler, der sælges i USA i dag, og meget mere end halvdelen over hele kloden. Vi kan løse dette problem ved at installere et kamera bag på bilen ved hjælp af nummerpladen.

Walabot vil være i stand til at registrere afstanden til målet tættest på køretøjet.

Intel RealSense R200 kamera vil give os en større detalje om, hvad der bliver set, herunder situation med svagt lys.

Intel Joule -udviklersættet er stærkt nok til at køre RealSense -kameraer sammen med Walabot. Raspberry Pi er ikke kraftfuld nok til at køre et RealSense 3D -kamera, hvor vi kan tilføje mange flere funktioner i fremtiden, der kan forbedre bilens funktionaliteter. Samme version kan bruges med Pi med et normalt USB -kamera, men det vil ikke være godt for natten.

Android -telefon/tablet, der bruges til at vise backupkameraet, er for at reducere omkostningerne ved en ekstra skærm. iOS -version kan bygges efter anmodning.

Gennem disse komponenter vil vi være i stand til at opbygge en Rear End Vision, der viser brugerens bagside af bilen.

Trin 1: Saml den hardware, du har brug for

Installer Ubuntu på Joule og nødvendige biblioteker, der er nødvendige for at køre det
Installer Ubuntu på Joule og nødvendige biblioteker, der er nødvendige for at køre det
  1. Intel Joule
  2. Walabot Pro
  3. Intel R200 RealSense -kamera
  4. Android -telefon/tablet, der kører 5.0 eller nyere
  5. Bilens adapter til stikudgang og 12VDC vekselstrømsadapter (dette er til demo for at tænde for Joule, produktionsversionen indeholder en anden strømmekanisme)
  6. USB -hub til tilslutning af kamera og Walabot (USB3 til kamera og USB2 til Walabot)
  7. DC til AC Direct Plug-in Power Inverter
  8. Generisk 3D -printer til at udskrive den specialbyggede nummerpladeramme

Trin 2: Installer Ubuntu på Joule og nødvendige biblioteker, der er nødvendige for at køre det

Da vi har besluttet at gå med Linux-rute, skal du følge vejledningen https://developer.ubuntu.com/core/get-started/intel-joule for at installere Ubuntu på Joule. Ubuntu giver os stor fleksibilitet til at køre et egentligt operativsystem på en IoT -baseret chip.

Trin 3: Stream RealSense -kameraet

Stream RealSense -kameraet
Stream RealSense -kameraet
Stream RealSense -kameraet
Stream RealSense -kameraet

Fordi vi bruger Android -telefon/tablet til at spare omkostninger på regning af materiale, der også er mere tilgængeligt for brugerne, vil vi bruge bevægelsesbibliotek til at være vært for kameraet, der ligner sikkerhedskameraerne. Når Ubuntu er installeret og forbundet til wifi, kan vi åbne terminalen og bruge følgende kommando. Vi tilslutter først kameraet til Joule via USB3 -porten og gør derefter følgende trin.

en. Installation af bevægelse på ubuntu:

sudo apt-get updatesudo apt-get installere bevægelse

b. Kopiér konfigurationsfiler:

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

c. Konfiguration af filen, for dem, der er fortrolige med ubuntu, kan installere Sublime for at gøre lettere tekstredigering, ellers kan vi redigere den inde i kommandolinjen.

sudo nano ~/.motion/motion.conf

d. Efter tilslutning af R200 -kamera kan vi ændre følgende linjer i bevægelse. Konf

Dette er for at sætte det i baggrundstilstand:

# Start i dæmon (baggrund) tilstand og slip terminal (standard: slukket) dæmon til

Dette er for at bruge RealSense -kameras kameravisning.

# Videodevice, der skal bruges til at optage (default /dev /video0) # for FreeBSD -standard er /dev /bktr0 videodevice /dev /video2

Ændring af bredde og højde, 1280 x 720 fungerede godt for mig, men du kan lege med dimensionerne for at se, hvad der passer til dit behov.

# Billedbredde (pixels). Gyldigt område: Kameraafhængig, standard: 352 bredde 1280 # Billedhøjde (pixels). Gyldigt område: Kameraafhængig, standard: 288 højde 720

Jeg indstiller dette til 30, jo højere du indstiller tallet, jo mere computerkraft vil det kræve. Du kan spille rundt for at se, hvad benchmarket for det, men 30 har fungeret godt for mig.

# Maksimalt antal billeder, der skal optages pr. Sekund. # Gyldigt område: 2-100. Standard: 100 (næsten ingen grænse). framerate 30

Da vi altid streamer tilbage af bilen, kan vi indstille en dedikeret port, vi bruger 5001

#################################################### ##########Live Stream Server ####################################### #########################mini-http-serveren lytter til denne port for anmodninger (standard: 0 = deaktiveret) stream_port 5001#Kvaliteten af jpeg (i procent) producerede billeder (standard: 50) stream_quality 50 # Output -rammer ved 1 fps, når der ikke registreres nogen bevægelse, og stig til # hastigheden givet af stream_maxrate, når der registreres bevægelse (standard: off) stream_motion off # Maksimal framerate for stream -streams (standard: 1) stream_maxrate 60 # Begræns streamforbindelser til kun localhost (standard: tændt) stream_localhost slukket

Du kan derefter køre ifconfig og finde ud af ip -adressen og køre i terminalen, porten vil være 5001.

bevægelse

Hvis der ikke er fejl, er det let at kontrollere kameraet fra din computer ved hjælp af ip'en, rette fejlene, f.eks. Tilladelsesproblemer, hvis der er nogen.

Når dette kører, kan vi tilføje dette til opstartsprogrammet i Ubuntu.

Bevægelsesstart til kamera

motion.conf vedhæftes i kodesektionen, du kan tjekke flere indstillinger der.

Trin 4: Opsæt Walabot

Opsæt Walabot
Opsæt Walabot
Opsæt Walabot
Opsæt Walabot
Opsæt Walabot
Opsæt Walabot
Opsæt Walabot
Opsæt Walabot

Med kameraet på plads skal vi stadig konfigurere walabot, dette kan registrere afstanden mellem køretøjet til objektet bagved, hvilket giver en klar vision om, hvordan vi skal

a, download deb-filen fra

Følg instruktionerne fra https://api.walabot.com/_install.html#_linux Installer for at installere Walabot API, så det kan importeres til python -projekter.

Der er en fejl på webstedet på den del, hvor det installerer Walabot API https://walabot.com/api/_pythonapi.html#_installingwalabotapi, hvor det står

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

Det burde være

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

b. tilslut Walabot Pro via USB 2, jeg kunne ikke få usb3 til at fungere, men usb2 fungerer fint ved at oprette forbindelse til linux. Da Joule kun har en USB3 -port, skal du tilslutte en ekstra USB2 -port for at rumme Walabot Pro her

c. Test Walabot-projektet, f.eks. Https://github.com/Walabot-Projects/Walabot-Senso … ved at køre følgende kommando i mappen

python SensorTargets.py

Dette skulle give dig en god test for at se, om Walabot kører korrekt, samt hvordan du måler afstand på ting, du ønsker. DistanceMeasure -eksemplet var ikke for konsekvent på målingen, og zPosCm ser ud til at være ekstremt præcis, så jeg har besluttet at bruge zPosCM til demoen.

d. Vi mangler stadig at videregive dataene til displayenheden, da vi kører dette på android for at reducere omkostningerne ved materiale, kan vi bruge stikkontakter. Vi bruger følgende kode til at konfigurere stikket og udp i python.

MYPORT = 5002 import sys, tid fra socket import * s = socket (AF_INET, SOCK_DGRAM) s.bind (('', 0)) s.setsockopt (SOL_SOCKET, SO_REUSEADDR, 1) s.setsockopt (SOL_SOCKET, SO_BROADCAST, 1)

Følgende kommando sender data ved opdatering

s.sendto (str (mål [0].zPosCm), ('255.255.255.255', MYPORT))

e. Når dette er gjort, kan vi konfigurere det i opstartsprogram

f. Walabot konfigurerer og overfører nu data via UDP, fuld pythonkode kan ses i kodevedhæftningsområdet. Skærmbillede herunder er udskriften af, hvordan det skal se ud, når der ikke er noget område. Koden er vedhæftet i kodesektionen.

Trin 5: Oprettelse af Wifi Hotspot fra Joule

Oprettelse af Wifi Hotspot fra Joule
Oprettelse af Wifi Hotspot fra Joule

Vi opretter vores eget wifi -hotspot til Android -enheder til at overføre data igennem. Brug af følgende kommando ved start vil automatisk konfigurere den. Dette bruges til Ubuntu 16.04 eller nyere, da dette bruges. Vi forbinder dette automatisk via Android -appen i det næste trin. Brug denne kommando i opstartsprogrammerne.

nmcli enhed wifi hotspot con-navn køretøj-bak-vision ssid køretøj-bak-vision band bg adgangskode safedriving

Inde i walabots python -fil vil vi også opdatere den, hvor vi sender udp -beskeder til enheder, der er forbundet via privat hotspot. Dette er for at sikre, at ingen pakker går tabt.

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

Trin 6: Byg Android som skærm

Bygger Android som skærm
Bygger Android som skærm

Android -appen er bygget til visning af enheden, hovedsagelig fordi den reducerer regning af materiale, da en separat skærm ellers kan være både dyr og vanskelig at installere. Med hensyn til dette projekt kan vi bruge Android -telefon/tablet.

Android fokuserer på 3 dele, som vi har gjort tidligere,

  • Opret forbindelse til wifi -hotspot oprettet via IoT -enhed (Intel Joule)
  • Stream RealSense -kameraet via bevægelse via wifi
  • Måling af afstand fra Walabot -mål gennem udp

Efter at have konfigureret alt og installeret Android -appen (åben her), vil du kunne se kameraet arbejde sammen med walabot

Trin 7: Afprøvning af alt

Image
Image
Afprøver alt
Afprøver alt
Afprøver alt
Afprøver alt

Nu fik vi alt i gang, vi skulle have en grundlæggende opsætning af alle komponenterne vedhæftet. Når vi starter Joule -tavlen, skal hotspot automatisk konfigureres, bevægelse og walabot -app starter sammen med det, og når vi tænder vores Android -app, skal vi kunne streame fra kameraet. Det betyder, at tastaturet/musen og skærmen ikke længere er nødvendige for, at IoT -enheden fungerer. Hvis der opstår problemer i øjeblikket, f.eks. At biblioteker ikke er installeret rigtigt, skal vi rette det, inden vi går videre til det næste trin.

3D -udskrivning af kabinettet, der kan rumme kameraet, er meget vigtigt.

Ved opbygningen af hardware skal vi have vores brugerdefinerede 3D -printede kabinet klar til kameraet. Da dette er en prototype, kan det blive lidt løst, men når vi bygger en brugerdefineret nummerpladeholder, forventer vi, at alle komponenterne er inde i holderen.

Trin 8: Test på en rigtig bil

Image
Image
Test af en rigtig bil
Test af en rigtig bil
Test af en rigtig bil
Test af en rigtig bil

Nu hvor vi har fået alt til at fungere, kan vi teste det på en rigtig bil. Da dette er en prototype tingene kan være lidt ru, bruger vi gaffatape til nogle af komponenterne.

For at tænde Joule IoT-kittet brugte vi en DC til AC Direct Plug-in Power Inverter, hvorefter vi bare kørte en lang stikkontakt til bagagerummet.

Vi vil have den forreste del og den bageste del. Dette er bare en prototype lige nu, næste version ville integrere chipsene inde i nummerpladeholderen.

Og til den forreste del kan vi enten bruge en telefonholder eller bare gaffatape Android Tablet.

Trin 9: Brug det i verden

Brug det i verden
Brug det i verden

Ved hjælp af dette værktøj kan vi sikkerhedskopiere bilen sikkert til andre biler og kunne overvåge fodgængere. Du kan se demovideoen i begyndelsen. Projektets mål er at tilskynde til sikrere kørepraksis.

Du kan tjekke projektet ud fra

Anbefalede: