Innholdsfortegnelse:
- Trinn 1: Samle inn hardwares du trenger
- Trinn 2: Installer Ubuntu på Joule og nødvendige biblioteker som trengs for å kjøre det
- Trinn 3: Stream RealSense -kameraet
- Trinn 4: Konfigurer Walabot
- Trinn 5: Opprette Wifi -hotspot fra Joule
- Trinn 6: Bygg Android som skjerm
- Trinn 7: Test ut alt
- Trinn 8: Test ut på en ekte bil
- Trinn 9: Bruk den i verden
Video: Kjøretøy bakfra: 9 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
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
- Intel Joule
- Walabot Pro
- Intel R200 RealSense -kamera
- Android -telefon/nettbrett som kjører 5,0 eller høyere
- Bilens adapter for pluggutgang og 12VDC vekselstrømadapter (dette er for demo for å slå på Joule, produksjonsversjonen vil inneholde en annen strømmekanisme)
- USB -hub for tilkobling av kamera og Walabot (USB3 for kamera og USB2 for Walabot)
- DC til AC Direct Plug-in Power Inverter
- 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
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
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
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
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
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
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
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:
Kontroller et kjøretøy med hånden: 8 trinn
Kontroller et kjøretøy med hånden: Dette prosjektet var for 'Creative Electronics', en BEng Electronics Engineering 4. årsmodul ved University of Málaga, School of Telecommunications (uma.es/etsi-de-telecomunicacion/) I denne instruksjonsboken vil vi se hvordan lage et armbånd
Kollisjon av kjøretøy med Arduino Nano: 6 trinn
Kollisjonsbilkjøretøy med Arduino Nano: Et kjøretøy for å unngå kollisjoner kan være en veldig enkel robot for å begynne å dykke ned i mikroelektronikken. Vi vil bruke den til å lære de grunnleggende elementene i mikroelektronikk og forbedre den for å legge til mer sofistikerte sensorer og aktuatorer. Grunnleggende komponenter ·
Selvbalanserende etthjuls kjøretøy: 8 trinn (med bilder)
DIY Self-Balancing One Wheel Vehicle: Interessert i noen av trenden med selvbalanserende produkter som segway og solowheel.yes, du kan gå hvor som helst ved å kjøre på hjulet ditt uten å slite. men det er flott hvis du kan få det selv. Vel, la oss bygge det
Komplett Arduino-basert kjøretøy GPS+GPRS tyverisikringssystem: 5 trinn (med bilder)
Komplett Arduino-basert Vehicle GPS+GPRS Anti-tyverisystem: Hei alle sammen! Jeg ønsket å bygge en komplett løsning for en GPS-tyverisikringsenhet, som ville være: så billig som mulig så komplett som mulig som det bare fungerer -det er-ingenting-annet-å-gjøre som muligSå endte jeg med å bygge en Arduino-basert løsning
Autonomt kjøretøy: 7 trinn (med bilder)
Autonomous Vehicle: Dette prosjektet er en autonomt navigerende robot som prøver å nå sin målposisjon samtidig som det unngår hindringer på veien. Roboten vil være utstyrt med en LiDAR -sensor som skal brukes til å oppdage objekter i omgivelsene. Som gjenstander er dete