INHOUDSOPGAWE:

Voertuig se agterste visie: 9 stappe (met foto's)
Voertuig se agterste visie: 9 stappe (met foto's)

Video: Voertuig se agterste visie: 9 stappe (met foto's)

Video: Voertuig se agterste visie: 9 stappe (met foto's)
Video: Kia EV9 rijtest: gezinsjoekel biedt veel auto voor je geld 2024, Julie
Anonim
Image
Image

Waarom bou ons 'n voertuig se agterste visie?

Die rugsteunbotsing was 'n groot probleem. Die Amerikaanse sentrum vir siektebeheer het berig dat ongeveer 7 475 kinders (2, 492 per jaar) onder die ouderdom van 15 jaar van 2001 tot 2003 behandel is vir motorongelukke. Ongeveer 300 sterftes per jaar as gevolg van rugsteunbotsings. Teen 2018 benodig al die motors wat in die Verenigde State verkoop word, 'n verpligte rugsteunkamera.

Hoe los ons die probleem op?

Die meeste motors op die mark het vandag nog nie 'n rugsteunkamera nie, dit bevat ongeveer die helfte van die motors wat vandag in die VSA verkoop word, en baie meer as die helfte oor die hele wêreld. Ons kan hierdie probleem oplos deur 'n kamera aan die agterkant van die motor te installeer met behulp van die kentekenplaat.

Walabot sal die afstand van die teiken wat die naaste aan die voertuig is, kan opspoor.

Die Intel RealSense R200 -kamera gee ons 'n groter detail van wat ons sien, insluitend die situasie met swak lig.

Die Intel Joule -ontwikkelaarstel is kragtig genoeg om RealSense -kameras saam met Walabot te laat loop. Raspberry Pi is nie sterk genoeg om 'n RealSense 3D -kamera te bestuur nie, waarin ons in die toekoms baie meer funksies kan byvoeg wat die funksies van die motor kan verbeter. Dieselfde weergawe kan gebruik word met Pi met 'n gewone USB -kamera, maar dit sal nie goed wees in die nag nie.

'N Android -telefoon/-tablet wat gebruik word om die rugsteunkamera te vertoon, is om die koste van 'n ekstra skerm te verminder. iOS -weergawe kan op aanvraag gebou word.

Deur hierdie komponente kan ons 'n agterkantvisie bou wat die agterkant van die motor aan die gebruiker wys.

Stap 1: Versamel hardeware wat u benodig

Installeer Ubuntu op Joule en die nodige biblioteke wat nodig is om dit uit te voer
Installeer Ubuntu op Joule en die nodige biblioteke wat nodig is om dit uit te voer
  1. Intel Joule
  2. Walabot Pro
  3. Intel R200 RealSense -kamera
  4. Android -foon/-tablet wat 5,0 of hoër is
  5. Motor se adapter vir aansluiting en 12VDC wisselstroomadapter (dit is 'n demo om die Joule aan te skakel, die produksieweergawe bevat 'n ander kragmeganisme)
  6. USB -hub vir die aansluiting van kamera en Walabot (USB3 vir kamera en USB2 vir Walabot)
  7. DC na AC direkte inprop-kragomvormer
  8. Generiese 3D -drukker om die pasgemaakte nommerplaatraamwerk uit te druk

Stap 2: Installeer Ubuntu op Joule en die nodige biblioteke wat nodig is om dit uit te voer

Aangesien ons besluit het om 'n Linux-roete te volg, volg die gids https://developer.ubuntu.com/core/get-started/intel-joule om Ubuntu op Joule te installeer. Ubuntu bied ons groot buigsaamheid om 'n werklike bedryfstelsel op 'n IoT -gebaseerde chip te bedryf.

Stap 3: Stroom die RealSense -kamera

Stroom die RealSense -kamera
Stroom die RealSense -kamera
Stroom die RealSense -kamera
Stroom die RealSense -kamera

Omdat ons 'n Android -selfoon/-tablet gebruik om die koste op materiaalrekening te bespaar, wat ook meer toeganklik is vir die gebruikers, sal ons 'n bewegingsbiblioteek gebruik om die kamera, soortgelyk aan die veiligheidskameras, aan te bied. Sodra Ubuntu geïnstalleer en aan wifi gekoppel is, kan ons die terminale oopmaak en die volgende opdrag gebruik. Ons koppel die kamera eers aan die Joule via die USB3 -poort, en voer dan die volgende stappe uit.

a. Beweging op Ubuntu installeer:

sudo apt-get updates sudo apt-get installasiebeweging

b. Kopieer konfigurasie lêers:

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

c. Die konfigurasie van die lêer, vir diegene wat vertroud is met ubuntu, kan Sublime installeer om makliker teksbewerking te doen, anders kan ons dit binne die opdragreël wysig.

sudo nano ~/.motion/motion.conf

d. Nadat ons 'n R200 -kamera ingeprop het, kan ons die volgende reëls in beweging verander.conf

Dit is om dit in die agtergrondmodus te plaas:

# Begin in die daemon (agtergrond) modus en laat die terminale (standaard: af) demoon los

Dit is om die kamera -aansig van RealSense Camera te gebruik.

# Videodevice wat gebruik moet word om op te neem (default /dev /video0) # vir FreeBSD standaard is /dev /bktr0 video -device /dev /video2

Deur die breedte en hoogte te verander, het 1280 x 720 vir my goed gewerk, maar u kan met die afmetings speel om te sien wat by u behoefte pas.

# Beeldwydte (pixels). Geldige omvang: Kamera -afhanklik, standaard: 352 breedte 1280 # Beeldhoogte (pixels). Geldige reeks: kamera -afhanklik, standaard: 288 hoogte 720

Ek stel dit op 30, hoe hoër jy die getal stel, hoe meer rekenaarkrag sal dit verg. U kan rondspeel om te sien wat die maatstaf daarvoor is, maar 30 het baie goed vir my gewerk.

# Maksimum aantal rame wat per sekonde geneem moet word. # Geldige reeks: 2-100. Standaard: 100 (byna geen beperking nie). raamwerk 30

Aangesien ons altyd terugstroom van die motor, kan ons 'n spesiale poort instel; ons gebruik 5001

#################################################### ##########Live Stream Server ####################################### #########################Die mini-http bediener luister na hierdie poort vir versoeke (standaard: 0 = gedeaktiveer) stream_port 5001#Kwaliteit van die jpeg (in persent) beelde wat geproduseer word (standaard: 50) stroomkwaliteit 50 # Uitsetrame met 1 fps wanneer geen beweging opgespoor word nie, en verhoog tot die # koers wat deur stream_maxrate gegee word wanneer beweging opgespoor word (standaard: af) stream_motion af # Maksimum raamgetal vir stroomstrome (standaard: 1) stream_maxrate 60 # Beperk stroomverbindings slegs na localhost (standaard: aan) stream_localhost af

U kan dan ifconfig uitvoer en die ip -adres uitvind en in terminaal hardloop, die poort is 5001.

beweging

As daar geen foute is nie, is dit maklik om die kamera vanaf u rekenaar met behulp van die ip te kontroleer, die foute op te los, soos toestemmingsprobleme.

Sodra dit klaar is, kan ons dit by die opstartprogram in Ubuntu voeg.

Beweging begin vir kamera

motion.conf word in die kode -afdeling aangeheg, u kan meer instellings daar sien.

Stap 4: Stel Walabot op

Stel Walabot op
Stel Walabot op
Stel Walabot op
Stel Walabot op
Stel Walabot op
Stel Walabot op
Stel Walabot op
Stel Walabot op

Met die kamera op sy plek, moet ons nog steeds 'n walabot opstel; dit kan die afstand tussen die voertuig en die voorwerp agter bepaal, wat 'n duidelike visie gee van hoe ons moet

a, laai die deb-lêer af van

Volg die instruksies van https://api.walabot.com/_install.html#_linux Installeer om Walabot API te installeer sodat dit na python -projekte ingevoer kan word.

Daar is 'n fout op die webwerf met die installering van Walabot API https://walabot.com/api/_pythonapi.html#_installingwalabotapi waar dit staan

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

Dit behoort te wees

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

b. verbind Walabot Pro via USB 2, ek kon nie die usb3 laat werk nie, maar usb2 werk goed om aan Linux te koppel. Aangesien Joule slegs een USB3 -poort het, moet u 'n ekstra USB2 -poort aansluit om Walabot Pro hier te akkommodeer

c. Toets die Walabot-projek, soos https://github.com/Walabot-Projects/Walabot-Senso … deur die volgende opdrag in die vouer uit te voer

python SensorTargets.py

Dit moet u 'n goeie toets gee om te sien of Walabot korrek loop, en hoe u afstand kan meet oor dinge wat u wil hê. Die DistanceMeasure -voorbeeld was nie te konsekwent oor die meting nie, en zPosCm blyk uiters akkuraat te wees, so ek het besluit om die zPosCM vir die demo te gebruik.

d. Ons moet nog steeds die data aan die skermtoestel deurgee, aangesien ons dit op Android gebruik om materiaalkoste te verminder, kan ons voetstukke gebruik. Ons gebruik die volgende kode om die socket en udp in python op te stel.

MYPORT = 5002 invoer sys, tyd vanaf socket invoer * s = socket (AF_INET, SOCK_DGRAM) s.bind (('', 0)) s.setsockopt (SOL_SOCKET, SO_REUSEADDR, 1) s.setsockopt (SOL_SOCKET, SO_BROADCAST, 1)

Die volgende opdrag sal data oor die opdatering uitsaai

s.sendto (str (teikens [0].zPosCm), ('255.255.255.255', MYPORT))

e. As dit klaar is, kan ons dit opstel in die opstartprogram

f. Walabot is nou besig om data op te stel en oor te dra via UDP; volledige python -kode kan in die kode -aanhegingsgebied gesien word. Die onderstaande skermkiekie is 'n afdruk van hoe dit moet lyk as daar geen gebied is nie. Die kode is aangeheg in die kode -afdeling.

Stap 5: Skep Wifi -hotspot van Joule

Skep Wifi -hotspot vanaf Joule
Skep Wifi -hotspot vanaf Joule

Ons skep ons eie wifi -hotspot vir Android -toestelle om data deur te dra. Deur die volgende opdrag by die begin te gebruik, word dit outomaties opgestel. Dit word gebruik vir Ubuntu 16.04 of later, aangesien dit gebruik word. Ons sal dit in die volgende stap outomaties via die Android -app verbind. Gebruik hierdie opdrag by die opstartprogramme.

nmcli-toestel wifi-hotspot-naam voertuig-agter-visie ssid-voertuig-agter-sig-band bg wagwoord veilige rit

In die python -lêer van walabot, sal ons dit ook opdateer waar ons udp -boodskappe sal stuur na toestelle wat via 'n privaat hotspot gekoppel is. Dit is om te verseker dat geen pakkie verlore gaan nie.

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

Stap 6: Bou Android as skerm

Bou Android as vertoonskerm
Bou Android as vertoonskerm

Die Android -app is ontwerp om die toestel te vertoon, hoofsaaklik omdat dit materiaalverlies verminder, want anders kan 'n aparte skerm duur en moeilik wees om te installeer. Wat hierdie projek betref, kan ons 'n Android -selfoon/tablet gebruik.

Android fokus op drie dele wat ons vroeër gedoen het,

  • Koppel aan die wifi -hotspot wat via IoT -toestel geskep is (Intel Joule)
  • Stroom die RealSense -kamera via beweging via wifi
  • Meet afstand van Walabot -teiken deur udp

Nadat u alles opgestel het en die Android -app geïnstalleer het (hier oopgemaak), kan u die kamera saam met walabot sien werk

Stap 7: Toets alles

Image
Image
Toets alles uit
Toets alles uit
Toets alles uit
Toets alles uit

As ons alles aan die gang het, moet ons 'n basiese opstelling hê van al die komponente daarby. As ons die Joule -bord begin, moet die hotspot outomaties opgestel word, die beweging en die Walabot -app sal daarmee begin, en as ons ons Android -app aanskakel, moet ons vanaf die kamera kan stroom. Dit beteken dat die sleutelbord/muis en die monitor nie meer nodig is om die IoT -toestel te laat funksioneer nie. As daar op die oomblik probleme ontstaan, soos dat biblioteke nie reg geïnstalleer is nie, moet ons dit regmaak voordat ons na die volgende stap kan gaan.

3D -afdruk van die omhulsel wat die kamera kan bevat, is baie belangrik.

By die bou van die hardeware moet ons ons persoonlike 3D -gedrukte omhulsel gereed hê vir die kamera. Aangesien dit 'n prototipe is, kan dit 'n bietjie los raak, maar as ons 'n pasgemaakte kentekenhouer bou, verwag ons dat al die komponente in die houer moet wees.

Stap 8: Toets op 'n regte motor

Image
Image
Toets op 'n regte motor
Toets op 'n regte motor
Toets op 'n regte motor
Toets op 'n regte motor

Noudat ons alles laat werk het, kan ons dit op 'n regte motor toets. Aangesien dit 'n prototipe is, kan dinge 'n bietjie rof wees, maar ons gebruik kleefband vir sommige komponente.

Om die Joule IoT-kit aan te skakel, het ons 'n DC-na-AC-direkte-inprop-omvormer gebruik, en dan net 'n lang aansluiting na die kattebak gehardloop.

Ons sal die voorste en agterste deel hê. Dit is tans net 'n prototipe; die volgende weergawe bevat die skyfies in die kentekenhouer.

En vir die voorste deel kan ons óf 'n telefoonhouer gebruik, óf net 'n Android -tabletband.

Stap 9: Gebruik dit in die wêreld

Gebruik dit in die wêreld
Gebruik dit in die wêreld

Deur hierdie hulpmiddel te gebruik, kan ons die motor veilig rugsteun na ander motors en voetgangers kan monitor. U kan aan die begin die demo -video kyk. Die doel van die projek is om veiliger bestuurspraktyke aan te moedig.

U kan die projek besoek vanaf

Aanbeveel: