Innholdsfortegnelse:

Kjøretøy bakfra: 9 trinn (med bilder)
Kjøretøy bakfra: 9 trinn (med bilder)

Video: Kjøretøy bakfra: 9 trinn (med bilder)

Video: Kjøretøy bakfra: 9 trinn (med bilder)
Video: Tappe ser på nrksuper.no [EDUCATIONAL] 2024, Juli
Anonim
Image
Image

Hvorfor bygger vi kjøretøyets bakre syn?

Sikkerhetskollisjon har vært et stort problem. Det amerikanske senteret for sykdomskontroll rapporterte at fra 2001–2003 ble anslagsvis 7, 475 barn (2, 492 per år) under 15 år behandlet for biloverfallshendelser. Omtrent 300 omkomne i året skyldes backup -kollisjoner. I 2018 krever alle bilene som selges i USA et obligatorisk backup -kamera.

Hvordan løser vi problemet?

De fleste bilene på markedet i dag har fremdeles ikke backup -kamera, det inkluderer omtrent halvparten av bilene som selges i USA i dag, og mye mer enn halvparten over hele verden. Vi kan løse dette problemet ved å installere et kamera på baksiden av bilen, ved å bruke plassen på nummerplaten.

Walabot vil kunne oppdage avstanden til målet nærmest kjøretøyet.

Intel RealSense R200 -kameraet vil gi oss en større detalj om hva som blir sett, inkludert situasjoner med lite lys.

Intel Joule -utviklerpakken er kraftig nok til å kjøre RealSense -kameraer sammen med Walabot. Raspberry Pi er ikke kraftig nok til å kjøre et RealSense 3D -kamera, der vi kan legge til mange flere funksjoner i fremtiden som kan forbedre bilens funksjonalitet. Samme versjon kan brukes med Pi med et vanlig USB -kamera, men det vil ikke være bra om natten.

Android -telefon/nettbrett som brukes til å vise sikkerhetskopikameraet, dette er for å redusere kostnaden for en ekstra skjerm. iOS -versjonen kan bygges på forespørsel.

Gjennom disse komponentene vil vi kunne bygge et bakre syn som viser brukerens bakside av bilen.

Trinn 1: Samle inn hardwares du trenger

Installer Ubuntu på Joule og nødvendige biblioteker som trengs for å kjøre det
Installer Ubuntu på Joule og nødvendige biblioteker som trengs for å kjøre det
  1. Intel Joule
  2. Walabot Pro
  3. Intel R200 RealSense -kamera
  4. Android -telefon/nettbrett som kjører 5,0 eller høyere
  5. Bilens adapter for pluggutgang og 12VDC vekselstrømadapter (dette er for demo for å slå på Joule, produksjonsversjonen vil inneholde en annen strømmekanisme)
  6. USB -hub for tilkobling av kamera og Walabot (USB3 for kamera og USB2 for Walabot)
  7. DC til AC Direct Plug-in Power Inverter
  8. Generisk 3D -skriver for å skrive ut den spesialbygde lisensplaterammen

Trinn 2: Installer Ubuntu på Joule og nødvendige biblioteker som trengs for å kjøre det

Siden vi har bestemt oss for å gå med Linux-ruten, følger du veiledningen https://developer.ubuntu.com/core/get-started/intel-joule for å installere Ubuntu på Joule. Ubuntu gir oss stor fleksibilitet til å kjøre et faktisk operativsystem på en IoT -basert chip.

Trinn 3: Stream RealSense -kameraet

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

Fordi vi bruker Android -telefon/nettbrett for å spare kostnader på materialregning, som også er mer tilgjengelig for brukerne, vil vi bruke bevegelsesbibliotek til å være vertskap for kameraet som ligner på sikkerhetskameraene. Når Ubuntu er installert og koblet til wifi, kan vi åpne terminalen og bruke følgende kommando. Vi kobler først kameraet til Joule via USB3 -porten, og gjør deretter følgende trinn.

en. Installere bevegelse på ubuntu:

sudo apt-get updatesudo apt-get installere bevegelse

b. Kopier konfigurasjonsfiler:

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

c. Konfigurering av filen, for de som er kjent med ubuntu, kan installere Sublime for å gjøre enklere tekstredigering, ellers kan vi redigere den inne på kommandolinjen.

sudo nano ~/.motion/motion.conf

d. Etter at vi har plugget inn R200 -kameraet, kan vi endre følgende linjer i bevegelse. Konf

Dette er for å sette det i bakgrunnsmodus:

# Start i demon- (bakgrunns-) modus og slipp terminal (standard: off) daemon på

Dette er for å bruke RealSense -kameras kameravisning.

# Videoenhet som skal brukes til å fange (standard /dev /video0) # for FreeBSD -standarden er /dev /bktr0 videoenhet /dev /video2

Endring av bredde og høyde, 1280 x 720 fungerte bra for meg, men du kan leke med dimensjonene for å se hva som passer ditt behov.

# Bildebredde (piksler). Gyldig rekkevidde: Kameravhengig, standard: 352 bredde 1280 # Bildehøyde (piksler). Gyldig rekkevidde: Kameravhengig, standard: 288 høyde 720

Jeg satte dette til 30, jo høyere du angir tallet, jo mer datakraft vil det kreve. Du kan leke deg for å se hva referansen er for det, men 30 har fungert bra for meg.

# Maksimalt antall bilder som skal tas i sekundet. # Gyldig område: 2-100. Standard: 100 (nesten ingen grense). framerate 30

Siden vi alltid strømmer tilbake på bilen, kan vi sette en egen port, vi bruker 5001

#################################################### ##########Live Stream Server ####################################### #########################mini-http-serveren lytter til denne porten for forespørsler (standard: 0 = deaktivert) stream_port 5001#Kvaliteten på jpeg (i prosent) bilder som er produsert (standard: 50) stream_quality 50 # Utgangsrammer med 1 bps når ingen bevegelse oppdages, og øk til # hastigheten gitt av stream_maxrate når bevegelse oppdages (standard: av) stream_motion av # Maksimal framerate for strømstrømmer (standard: 1) stream_maxrate 60 # Begrens strømtilkoblinger til bare localhost (standard: på) stream_localhost av

Du kan deretter kjøre ifconfig og finne ut ip -adressen og kjøre i terminalen, porten vil være 5001.

bevegelse

Hvis det ikke er noen feil, er det enkelt å sjekke kameraet fra datamaskinen din ved hjelp av IP -en, fikse feilene, for eksempel tillatelsesproblemer hvis det er noen.

Når dette kjører, kan vi legge dette til oppstartsprogrammet i Ubuntu.

Oppstart av bevegelse for kamera

motion.conf blir vedlagt i kodeseksjonen, du kan sjekke ut flere innstillinger der.

Trinn 4: Konfigurer Walabot

Oppsett Walabot
Oppsett Walabot
Oppsett Walabot
Oppsett Walabot
Oppsett Walabot
Oppsett Walabot
Oppsett Walabot
Oppsett Walabot

Med kameraet på plass må vi fortsatt sette opp walabot, dette kan oppdage avstanden mellom kjøretøyet og objektet bak, noe som gir en klar visjon om hvordan vi skal

a, last ned deb-filen fra

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

Det er en feil på nettstedet på den delen der det installeres Walabot API https://walabot.com/api/_pythonapi.html#_installingwalabotapi der det står

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

Det burde være

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

b. koble til Walabot Pro via USB 2, jeg kunne ikke få usb3 -arbeidet, men usb2 fungerer fint ved å koble til linux. Siden Joule bare har en USB3 -port, kan du koble til en ekstra USB2 -port for å ta imot Walabot Pro her

c. Test Walabot-prosjektet, for eksempel https://github.com/Walabot-Projects/Walabot-Senso … ved å kjøre følgende kommando i mappen

python SensorTargets.py

Dette bør gi deg en god test for å se om Walabot kjører riktig, samt hvordan du måler avstand på ting du vil ha. DistanceMeasure -eksemplet var ikke for konsekvent på måling, og zPosCm ser ut til å være ekstremt nøyaktig, så jeg har bestemt meg for å bruke zPosCM til demoen.

d. Vi trenger fortsatt å overføre dataene til skjermenheten, siden vi kjører dette på android for å redusere materialkostnadene, kan vi bruke stikkontakter. Vi bruker følgende kode for å sette opp socket 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 vil kringkaste data ved oppdatering

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

e. Når dette er gjort, kan vi sette det opp i oppstartsprogram

f. Walabot konfigurerer nå og overfører data via UDP, full pythonkode kan sees i kodevedleggsområdet. Skjermbilde nedenfor viser utskriften av hvordan det skal se ut når det ikke er noe område. Koden er vedlagt i kodeseksjonen.

Trinn 5: Opprette Wifi -hotspot fra Joule

Opprette Wifi -hotspot fra Joule
Opprette Wifi -hotspot fra Joule

Vi lager vårt eget wifi -hotspot for Android -enheter for å overføre data gjennom. Hvis du bruker følgende kommando ved start, blir den automatisk satt opp. Dette brukes for Ubuntu 16.04 eller nyere, ettersom dette brukes. Vi kobler dette automatisk til via Android -appen i neste trinn. Bruk denne kommandoen i oppstartsprogrammene.

nmcli enhet wifi hotspot con-name kjøretøy-bak-visjon ssid kjøretøy-bak-syn-band bg passord safedriving

Inne i walabots python -fil vil vi også oppdatere den der vi skal sende udp -melding til enheter som er koblet til via privat hotspot. Dette er for å sikre at ingen pakker går tapt.

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))

Trinn 6: Bygg Android som skjerm

Bygg Android som skjerm
Bygg Android som skjerm

Android -appen er bygget for å vise enheten, hovedsakelig fordi den reduserer regningen for materiale, da en separat skjerm ellers kan være både dyr og vanskelig å installere. Når det gjelder dette prosjektet, kan vi bruke Android -telefon/nettbrett.

Android fokuserer på tre deler som vi har gjort tidligere,

  • Koble til wifi -hotspot opprettet via IoT -enhet (Intel Joule)
  • Stream RealSense -kameraet via bevegelse via wifi
  • Måle avstand fra Walabot -målet gjennom udp

Etter å ha konfigurert alt og installert Android -appen (åpen kildekode her), vil du kunne se kameraet fungere sammen med walabot

Trinn 7: Test ut alt

Image
Image
Tester ut alt
Tester ut alt
Tester ut alt
Tester ut alt

Nå har vi fått alt til å fungere, vi bør ha et grunnleggende oppsett av alle komponentene festet. Når vi starter Joule -tavlen, bør hotspot automatisk konfigureres, bevegelse og walabot -app starter sammen med det, og når vi slår på Android -appen vår, bør vi kunne streame fra kameraet. Dette betyr at tastaturet/musen og skjermen ikke lenger er nødvendig for at IoT -enheten skal fungere. Hvis det oppstår problemer for øyeblikket, for eksempel at biblioteker ikke er installert riktig, bør vi fikse det før vi går videre til neste trinn.

3D -utskrift av huset som kan holde kameraet er veldig viktig.

Når vi bygger maskinvaren, bør vi ha vårt tilpassede 3D -trykte hus klar for kameraet. Siden dette er en prototype kan den bli litt løs, men når vi bygger ut en tilpasset skiltholder, forventer vi at alle komponentene er inne i holderen.

Trinn 8: Test ut på en ekte bil

Image
Image
Testet ut på en ekte bil
Testet ut på en ekte bil
Testet ut på en ekte bil
Testet ut på en ekte bil

Nå som vi har fått alt til å fungere, vil vi kunne teste det på en ekte bil. Siden dette er en prototype ting kan være litt grovt, bruker vi duct tape for noen av komponentene.

For å få strøm på Joule IoT-settet brukte vi en DC til AC Direct Plug-in Power Inverter, og så kjørte vi bare et langt strømuttak til bagasjerommet.

Vi vil ha den fremre delen og den bakre delen. Dette er bare en prototype akkurat nå, neste versjon vil integrere brikkene inne i nummerplateholderen.

Og for den fremre delen kan vi enten bruke en telefonholder eller bare tape Android Tablet.

Trinn 9: Bruk den i verden

Bruk den i verden
Bruk den i verden

Ved å bruke dette verktøyet kan vi sikkerhetskopiere bilen trygt til andre biler og kunne overvåke fotgjengere. Du kan se demovideoen i begynnelsen. Prosjektets mål er å oppmuntre til tryggere kjørepraksis.

Du kan sjekke prosjektet fra

Anbefalt: