Innehållsförteckning:

Fordonsbaksyn: 9 steg (med bilder)
Fordonsbaksyn: 9 steg (med bilder)

Video: Fordonsbaksyn: 9 steg (med bilder)

Video: Fordonsbaksyn: 9 steg (med bilder)
Video: Трактористы (комедия, реж. Иван Пырьев, 1939 г.) 2024, Juli
Anonim
Image
Image

Varför bygger vi bilens bakre vision?

Säkerhetskollision har varit ett stort problem, U. S. Center for Disease Control rapporterade att från 2001–2003 uppskattningsvis 7 475 barn (2, 492 per år) under 15 år behandlades för bilback-incidenter. Omkring 300 dödsfall per år beror på reservkollisioner. År 2018 kommer alla bilar som säljs i USA att kräva en obligatorisk reservkamera.

Hur löser vi problemet?

De flesta bilar på marknaden idag har fortfarande ingen reservkamera, det inkluderar ungefär hälften av de bilar som säljs i USA idag och mycket mer än hälften över hela världen. Vi kan lösa detta problem genom att installera en kamera på baksidan av bilen med hjälp av registreringsskylten.

Walabot kommer att kunna upptäcka avståndet till målet närmast fordonet.

Intel RealSense R200 -kamera kommer att ge oss en större detalj om vad som syns, inklusive situationer med svagt ljus.

Intel Joule -utvecklarpaketet är tillräckligt kraftfullt för att köra RealSense -kameror tillsammans med Walabot. Raspberry Pi är inte tillräckligt kraftfull för att köra en RealSense 3D -kamera, där vi kan lägga till många fler funktioner i framtiden som kan förbättra bilens funktioner. Samma version kan användas med Pi med en vanlig USB -kamera, men det kommer inte att vara bra för natten.

Android -telefon/surfplatta som används för att visa reservkamera, detta är för att minska kostnaden för en extra skärm. iOS -versionen kan byggas på begäran.

Genom dessa komponenter kommer vi att kunna bygga en Rear End Vision som visar användarens baksida av bilen.

Steg 1: Samla in den hårdvara du behöver

Installera Ubuntu på Joule och nödvändiga bibliotek som behövs för att köra det
Installera Ubuntu på Joule och nödvändiga bibliotek som behövs för att köra det
  1. Intel Joule
  2. Walabot Pro
  3. Intel R200 RealSense -kamera
  4. Android -telefon/surfplatta som kör 5.0 eller högre
  5. Bilens adapter för uttag och 12VDC nätadapter (detta är för demo för att driva Joule, produktionsversionen kommer att innehålla olika kraftmekanismer)
  6. USB -hubb för anslutning av kamera och Walabot (USB3 för kamera och USB2 för Walabot)
  7. DC till AC Direct Plug-in Power Inverter
  8. Generisk 3D -skrivare för att skriva ut den specialbyggda registreringsskyltramen

Steg 2: Installera Ubuntu på Joule och nödvändiga bibliotek som behövs för att köra det

Eftersom vi har bestämt oss för att gå med Linux-rutt, följ guiden https://developer.ubuntu.com/core/get-started/intel-joule för att installera Ubuntu på Joule. Ubuntu ger oss stor flexibilitet att köra ett verkligt operativsystem på ett IoT -baserat chip.

Steg 3: Strömma RealSense -kameran

Strömma RealSense -kameran
Strömma RealSense -kameran
Strömma RealSense -kameran
Strömma RealSense -kameran

Eftersom vi använder Android -telefon/surfplatta för att spara kostnaderna på materialräkningen, som också är mer tillgängliga för användarna, kommer vi att använda rörelsebibliotek för att vara värd för kameran som liknar säkerhetskamerorna. När Ubuntu är installerat och anslutet till wifi kan vi öppna terminalen och använda följande kommando. Vi ansluter först kameran till Joule via USB3 -porten och gör sedan följande steg.

a. Installera rörelse på ubuntu:

sudo apt-get updatesudo apt-get installera rörelse

b. Kopiera konfigurationsfiler:

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

c. Konfigurera filen, för de som är bekanta med ubuntu kan installera Sublime för att göra enklare textredigering, annars kan vi redigera den på kommandoraden.

sudo nano ~/.motion/motion.conf

d. Efter att ha anslutit R200 -kameran kan vi ändra följande rader i rörelse. Konf

Detta för att sätta det i bakgrundsläget:

# Starta i daemon (bakgrund) läge och släpp terminal (standard: off) daemon på

Detta är för att använda RealSense -kamerans kameravy.

# Videodevice som ska användas för att fånga (default /dev /video0) # för FreeBSD -standard är /dev /bktr0 videodevice /dev /video2

Att ändra bredd och höjd, 1280 x 720 fungerade bra för mig, men du kan leka med måtten för att se vad som passar ditt behov.

# Bildbredd (pixlar). Giltigt intervall: Kameraberoende, standard: 352 bredd 1280 # Bildhöjd (pixlar). Giltigt område: Kameraberoende, standard: 288 höjd 720

Jag ställer in detta till 30, ju högre du ställer in numret desto mer datorkraft krävs det. Du kan leka och se vad som är riktmärket för det, men 30 har fungerat utmärkt för mig.

# Maximalt antal bilder som ska fångas per sekund. # Giltigt intervall: 2-100. Standard: 100 (nästan ingen gräns). framerate 30

Eftersom vi alltid strömmar bakåt i bilen kan vi ställa in en dedikerad port, vi använder 5001

#################################################### ##########Live Stream Server ####################################### #########################mini-http-servern lyssnar på denna port för förfrågningar (standard: 0 = inaktiverad) stream_port 5001#Kvaliteten på jpeg (i procent) bilder som produceras (standard: 50) stream_quality 50 # Utmatningsramar vid 1 bps när ingen rörelse detekteras och ökar till den # hastighet som stream_maxrate ger när rörelse detekteras (standard: av) stream_motion av # Maximal framerate för strömströmmar (standard: 1) stream_maxrate 60 # Begränsa strömanslutningar till endast localhost (standard: på) stream_localhost av

Du kan sedan köra ifconfig och räkna ut ip -adressen och köra i terminalen, porten blir 5001.

rörelse

Om det inte finns några fel är det enkelt att kontrollera kameran från din dator med hjälp av ip, åtgärda felen, till exempel tillståndsproblem om det finns några.

När detta har körts kan vi lägga till detta i startprogrammet i Ubuntu.

Rörelse start för kamera

motion.conf bifogas i kodavsnittet, du kan kolla in fler inställningar där.

Steg 4: Konfigurera Walabot

Installera Walabot
Installera Walabot
Installera Walabot
Installera Walabot
Installera Walabot
Installera Walabot
Installera Walabot
Installera Walabot

Med kameran på plats behöver vi fortfarande ställa in walabot, detta kan upptäcka avståndet mellan fordonet till föremålet bakom, vilket ger en tydlig vision om hur vi ska

a, ladda ner deb-filen från

Följ instruktionerna från https://api.walabot.com/_install.html#_linuxInstall för att installera Walabot API så att det kan importeras till python -projekt.

Det finns ett misstag på webbplatsen på den del där det installeras Walabot API https://walabot.com/api/_pythonapi.html#_installingwalabotapi där det står

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

Det borde vara

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

b. anslut Walabot Pro via USB 2, jag kunde inte få usb3 -funktionen men usb2 fungerar bra att ansluta till linux. Eftersom Joule bara har en USB3 -port, anslut en extra USB2 -port för att rymma Walabot Pro här

c. Testa Walabot-projektet, till exempel https://github.com/Walabot-Projects/Walabot-Senso … genom att köra följande kommando i mappen

python SensorTargets.py

Detta bör ge dig ett bra test för att se om Walabot körs korrekt, samt hur du mäter avstånd på saker du vill ha. DistanceMeasure -exemplet var inte alltför konsekvent i mätningen, och zPosCm verkar vara extremt exakt, så jag har bestämt mig för att använda zPosCM för demoen.

d. Vi behöver fortfarande skicka data till displayenheten, eftersom vi kör detta på Android för att minska materialkostnaden kan vi använda uttag. Vi använder följande kod för att konfigurera uttaget och udp i python.

MYPORT = 5002 import sys, tid från 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öljande kommando sänder data vid uppdatering

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

e. När detta är gjort kan vi ställa in det i startprogrammet

f. Walabot installerar och överför nu data via UDP, full pythonkod kan ses i kodfästområdet. Skärmdumpen nedan är utskriften av hur det ska se ut när det inte finns något område. Koden bifogas i kodavsnittet.

Steg 5: Skapa Wifi -hotspot från Joule

Skapa Wifi -hotspot från Joule
Skapa Wifi -hotspot från Joule

Vi skapar vår egen wifi -hotspot för Android -enhet att överföra data genom. Om du använder följande kommando vid start ställs det in automatiskt. Detta används för Ubuntu 16.04 eller senare, eftersom det används. Vi kommer automatiskt att ansluta detta via Android -appen i nästa steg. Använd det här kommandot vid startprogram.

nmcli enhet wifi hotspot con-name fordon-bak-vision ssid fordon-bak-vision band bg lösenord safedriving

Inuti walabots python -fil kommer vi också att uppdatera den där vi kommer att skicka udp -meddelande till enheter som är anslutna via privat hotspot. Detta för att säkerställa att inget paket går förlorat.

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

Steg 6: Bygg Android som skärm

Bygga Android som skärm
Bygga Android som skärm

Android -appen är byggd för att visa enheten, främst för att den minskar materialräkningen eftersom en separat skärm annars kan vara både dyr och svår att installera. När det gäller detta projekt kan vi använda Android -telefon/surfplatta.

Android fokuserar på tre delar som vi har gjort tidigare,

  • Anslut till wifi -hotspot skapad via IoT -enhet (Intel Joule)
  • Ström RealSense -kameran via rörelse via wifi
  • Mätavstånd från Walabot -målet genom udp

När du har konfigurerat allt och installerat Android -appen (öppen här) kan du se kameran fungera tillsammans med walabot

Steg 7: Testa allt

Image
Image
Testar allt
Testar allt
Testar allt
Testar allt

Nu fick vi allt igång, vi borde ha en grundläggande installation av alla komponenter bifogade. När vi startar Joule -kortet bör hotspot automatiskt konfigureras, rörelse- och walabot -appen startar tillsammans med den, och när vi slår på vår Android -app ska vi kunna strömma från kameran. Det betyder att tangentbordet/musen och monitorn inte längre behövs för att IoT -enheten ska fungera. Om det uppstår några problem för närvarande, till exempel att bibliotek inte är rätt installerade, bör vi åtgärda det innan vi fortsätter till nästa steg.

3D -utskrift av höljet som rymmer kameran är mycket viktigt.

När vi bygger hårdvaran bör vi ha vårt anpassade 3D -tryckta hölje redo för kameran. Eftersom det här är en prototyp kan det lossna lite, men när vi bygger ut anpassad registreringsskylthållare förväntar vi oss att alla komponenter ska vara inne i hållaren.

Steg 8: Testa på en riktig bil

Image
Image
Testar på en riktig bil
Testar på en riktig bil
Testar på en riktig bil
Testar på en riktig bil

Nu när vi har fått allt att fungera kommer vi att kunna testa det på en riktig bil. Eftersom det här är en prototyp kan saker vara lite grova, vi använder tejp för några av komponenterna.

För att starta Joule IoT-satsen använde vi en DC till AC Direct Plug-in Power Inverter, sedan körde vi bara ett långt eluttag till bagageutrymmet.

Vi kommer att ha den främre delen och den bakre delen. Detta är bara en prototyp just nu, nästa version skulle integrera chipsen inuti registreringsskylthållaren.

Och för den främre delen kan vi antingen använda en telefonhållare eller bara bandtejp Android Tablet.

Steg 9: Använd det i världen

Använd det i världen
Använd det i världen

Med det här verktyget kan vi säkerhetskopiera bilen säkert till andra bilar och kunna övervaka fotgängare. Du kan se demofilmen i början. Projektets mål är att uppmuntra till säkrare körrutiner.

Du kan kolla in projektet från

Rekommenderad: