Indholdsfortegnelse:
- Trin 1: Saml den hardware, du har brug for
- Trin 2: Installer Ubuntu på Joule og nødvendige biblioteker, der er nødvendige for at køre det
- Trin 3: Stream RealSense -kameraet
- Trin 4: Opsæt Walabot
- Trin 5: Oprettelse af Wifi Hotspot fra Joule
- Trin 6: Byg Android som skærm
- Trin 7: Afprøvning af alt
- Trin 8: Test på en rigtig bil
- Trin 9: Brug det i verden
Video: Køretøjets bageste vision: 9 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
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
- Intel Joule
- Walabot Pro
- Intel R200 RealSense -kamera
- Android -telefon/tablet, der kører 5.0 eller nyere
- Bilens adapter til stikudgang og 12VDC vekselstrømsadapter (dette er til demo for at tænde for Joule, produktionsversionen indeholder en anden strømmekanisme)
- USB -hub til tilslutning af kamera og Walabot (USB3 til kamera og USB2 til Walabot)
- DC til AC Direct Plug-in Power Inverter
- 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
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
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
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
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
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
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
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:
RC FPV-Trike Med bageste rat: 9 trin (med billeder)
RC FPV-Trike med bageste rat: Da jeg havde nogle reservedele fra min første FPV Rover, har jeg besluttet mig for at bygge en RC-bil. Men det skulle ikke bare være en standard RC -bil. Derfor har jeg designet en trike med et bageste rat. Følg mig på Instagram for de seneste nyheder: //www.instagram.com
Sådan dekoder du køretøjets CAN -busdata: 8 trin
Sådan dekoder du køretøjets CAN -busdata: I denne instruks vil vi registrere en CAN -busdata for en bil eller en lastbil og konvertere de registrerede CAN -buslogdata til læsbare værdier. Til afkodning vil vi bruge can2sky.com cloud service, som er gratis. Vi kan registrere loggen ved hjælp af CAN-USB-adaptere, men betale atte
Køretøjets digitale målervisning: 8 trin
Vehicle Digital Gauge Display: Dette er mit digitale gauge -projekt, som jeg planlægger at sætte i min 73 Montego. Den drives af en Arduino Mega 2560 R3, skrueterminalskærm, en ITDB02 TFT -skærm og toppet med en Sain Smart 4.3 TFT. Formålet med dette projekt er at overvåge olie
En overkommelig vision -løsning med robotarm baseret på Arduino: 19 trin (med billeder)
En overkommelig vision -løsning med robotarm baseret på Arduino: Når vi taler om maskinsyn, føles det altid så utilgængeligt for os. Mens vi lavede en open-source vision demo, som ville være super let at lave for alle. I denne video, med OpenMV -kameraet, er robotten ligegyldig, hvor den røde terning er
Støjsvag pc -mod, bageste udstødningskanal: 3 trin
Støjsvag pc -mod, bageste udstødningskanal: Slip en decibel og ryd op i rodet på bagsiden af dit tårn med denne billige og lette mod. Du kan købe strømforsyningskanaler og bageste ventilatorkanaler, men ofte bruger de tyndt skum og blokerer mere luft end dette. Du kan også bruge dette til at trække ho