Съдържание:

Задно виждане на автомобила: 9 стъпки (със снимки)
Задно виждане на автомобила: 9 стъпки (със снимки)

Видео: Задно виждане на автомобила: 9 стъпки (със снимки)

Видео: Задно виждане на автомобила: 9 стъпки (със снимки)
Видео: Стоян колев се кара с яница 2024, Ноември
Anonim
Image
Image

Защо изграждаме задно виждане на превозното средство?

Резервният сблъсък е бил голям проблем, Американският център за контрол на заболяванията съобщи, че от 2001-2003 г. приблизително 7 475 деца (2 492 годишно) на възраст под 15 години са били лекувани от автомобилни инциденти. Около 300 смъртни случая годишно са резултат от сблъсъци с резервни копия. До 2018 г. всички автомобили, продавани в САЩ, ще изискват задължителна резервна камера.

Как да решим проблема?

Повечето от автомобилите на пазара днес все още нямат резервна камера, която включва около половината от колите, които се продават в САЩ днес, и много повече от половината по целия свят. Можем да разрешим този проблем, като инсталираме камера на гърба на колата, използвайки пространството на регистрационния номер.

Walabot ще може да открие най -близкото до превозното средство разстояние на целта.

Камерата Intel RealSense R200 ще ни даде по -подробна информация за това, което се вижда, включително ситуацията при слабо осветление.

Комплектът за разработчици на Intel Joule е достатъчно мощен, за да работи с камерите RealSense заедно с Walabot. Raspberry Pi не е достатъчно мощен, за да работи с RealSense 3D камера, в която можем да добавим много повече функции в бъдеще, които могат да подобрят функционалността на автомобила. Същата версия може да се използва с Pi с нормална USB камера, но няма да е добра за нощно време.

Телефон/таблет с Android, който се използва за показване на резервната камера, това е за намаляване на разходите за допълнителен екран. Версията на iOS може да бъде създадена при поискване.

Чрез тези компоненти ще можем да изградим задно виждане, което показва на потребителя задната част на колата.

Стъпка 1: Съберете необходимия хардуер

Инсталирайте Ubuntu на Joule и необходимите библиотеки, необходими за стартирането му
Инсталирайте Ubuntu на Joule и необходимите библиотеки, необходими за стартирането му
  1. Intel Joule
  2. Walabot Pro
  3. Intel R200 RealSense камера
  4. Телефон/таблет с Android с 5.0 или по -нова версия
  5. Автомобилен адаптер за изход и 12VDC променливотоков адаптер (това е за демонстрация за захранване на Joule, серийната версия ще съдържа различен захранващ механизъм)
  6. USB концентратор за свързване на камера и Walabot (USB3 за камера и USB2 за Walabot)
  7. DC към AC Direct Plug-in захранващ инвертор
  8. Общ 3D принтер за отпечатване на рамката за регистрационни табели по поръчка

Стъпка 2: Инсталирайте Ubuntu на Joule и необходимите библиотеки, необходими за стартирането му

Тъй като решихме да преминем по маршрута на Linux, следвайте ръководството https://developer.ubuntu.com/core/get-started/intel-joule, за да инсталирате Ubuntu на Joule. Ubuntu ни дава голяма гъвкавост да стартираме действителна операционна система на чип, базиран на IoT.

Стъпка 3: Предавайте поточно камерата RealSense

Предавайте поточно камерата RealSense
Предавайте поточно камерата RealSense
Предавайте поточно камерата RealSense
Предавайте поточно камерата RealSense

Тъй като използваме телефон/таблет с Android, за да спестим разходите за материал, който също е по -достъпен за потребителите, ще използваме библиотека за движение, за да хостваме камерата, подобна на охранителните камери. След като Ubuntu е инсталиран и свързан с wifi, можем да отворим терминала и да използваме следната команда. Първо свързваме камерата към Joule чрез USB3 порт, след което изпълняваме следните стъпки.

а. Инсталиране на движение в ubuntu:

sudo apt-get updatesudo apt-get install motion

б. Копирайте файловете за конфигуриране:

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

° С. Конфигурирането на файла за тези, които са запознати с ubuntu, могат да инсталират Sublime, за да направят по -лесно редактиране на текст, в противен случай можем да го редактираме в командния ред.

sudo nano ~/.motion/motion.conf

д. След като включим камерата R200, можем да променим следните редове в движение.conf

Това е, за да го поставите във фонов режим:

# Стартирайте в режим демон (фон) и освободете демона на терминала (по подразбиране: изключен)

Това е за използване на камерата на RealSense Camera.

# Videodevice, което да се използва за заснемане (по подразбиране /dev /video0) # за FreeBSD по подразбиране е /dev /bktr0 videodevice /dev /video2

Промяната на ширината и височината, 1280 x 720 работи чудесно за мен, но можете да си поиграете с размерите, за да видите какво отговаря на вашите нужди.

# Ширина на изображението (пиксели). Валиден диапазон: Зависи от камерата, по подразбиране: 352 ширина 1280 # Височина на изображението (пиксели). Валиден диапазон: Зависи от камерата, по подразбиране: 288 височина 720

Зададох това на 30, колкото по -високо зададете числото, толкова повече изчислителна мощност ще изисква. Можете да поиграете, за да видите какъв е бенчмаркът за него, но 30 ми се справиха чудесно.

# Максимален брой кадри, които трябва да бъдат заснети в секунда. # Валиден диапазон: 2-100. По подразбиране: 100 (почти без ограничение). честота на кадрите 30

Тъй като винаги предаваме обратно на колата, можем да зададем специален порт, използваме 5001

################################################# ####################################################################################### #########################Мини-http сървърът слуша този порт за заявки (по подразбиране: 0 = деактивиран) stream_port 5001#Качество на jpeg (в проценти) произведени изображения (по подразбиране: 50) stream_quality 50 # Изходни кадри с 1 кадър в секунда, когато не се открие движение и се увеличават до # скоростта, дадена от stream_maxrate, когато се открие движение (по подразбиране: изключено) stream_motion изключено # Максимална скорост на кадрите за потоци от потоци (по подразбиране: 1) stream_maxrate 60 # Ограничете поточните връзки само до localhost (по подразбиране: включено) stream_localhost изключено

След това можете да стартирате ifconfig и да разберете ip адреса и да стартирате в терминал, портът ще бъде 5001.

движение

Ако няма грешки, лесно е да проверите камерата от компютъра си чрез ip, да поправите грешките, като например проблеми с разрешенията, ако има такива.

След като това стартира, можем да добавим това към стартиращото приложение в Ubuntu.

Стартиране на движение за камера

motion.conf е прикачен в секцията с кодове, можете да проверите още настройки там.

Стъпка 4: Настройка на Walabot

Настройка на Walabot
Настройка на Walabot
Настройка на Walabot
Настройка на Walabot
Настройка на Walabot
Настройка на Walabot
Настройка на Walabot
Настройка на Walabot

С поставена камера, все още трябва да настроим walabot, това може да открие разстоянието между превозното средство до обекта отзад, давайки ясна визия за това как трябва

a, изтеглете deb файла от

Следвайте инструкциите от https://api.walabot.com/_install.html#_linuxInstall, за да инсталирате Walabot API, така че да може да бъде импортиран в проекти на python.

Има грешка в уебсайта в частта, където се инсталира Walabot API https://walabot.com/api/_pythonapi.html#_installingwalabotapi, където се посочва

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

Това трябва да бъде

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

б. свържете Walabot Pro чрез USB 2, не можах да накарам usb3 да работи, но usb2 работи добре при свързване с Linux. Тъй като Joule има само един USB3 порт, свържете допълнителен USB2 порт за настаняване на Walabot Pro тук

° С. Тествайте проекта Walabot, като https://github.com/Walabot-Projects/Walabot-Senso…, като изпълните следната команда в папката

python SensorTargets.py

Това трябва да ви даде добър тест, за да видите дали Walabot работи правилно, както и как да измервате разстоянието на нещата, които искате. Примерът DistanceMeasure не беше твърде последователен при измерването и zPosCm изглежда изключително точен, затова реших да използвам zPosCM за демонстрацията.

д. Все още трябва да предадем данните на устройството за показване, тъй като изпълняваме това на android, за да намалим цената на материала, можем да използваме гнезда. Използваме следния код за настройка на сокета и udp в python.

MYPORT = 5002 импортираща система, време от импорт на гнездо * s = гнездо (AF_INET, SOCK_DGRAM) s.bind (('', 0)) s.setsockopt (SOL_SOCKET, SO_REUSEADDR, 1) s.setsockopt (SOL_SOCKET, SO_BROADCAST, 1)

Следващата команда ще излъчва данни за актуализация

s.sendto (str (цели [0]. zPosCm), ('255.255.255.255', MYPORT))

д. Когато това стане, можем да го настроим в Startup Application

е. Walabot вече настройва и прехвърля данни чрез UDP, пълен код на python може да се види в областта за прикачване на код. Екранната снимка по -долу е разпечатката на това как трябва да изглежда, когато няма област. Кодът е приложен в кодовия раздел.

Стъпка 5: Създаване на Wi -Fi точка за достъп от Joule

Създаване на Wi -Fi точка за достъп от Joule
Създаване на Wi -Fi точка за достъп от Joule

Ние създаваме своя собствена wifi гореща точка за устройство с Android, за да прехвърляме данни. Използването на следната команда при стартиране автоматично ще я настрои. Това се използва за Ubuntu 16.04 или по -нова версия, тъй като се използва. В следващата стъпка ние автоматично ще го свържем чрез приложението за Android. Използвайте тази команда в приложенията за стартиране.

nmcli устройство wifi hotspot con-name превозно средство-задно виждане ssid превозно средство-лента за обратно виждане bg парола safedriving

Вътре в python файла на walabot, ние също ще го актуализираме, където ще изпращаме udp съобщение до устройства, които са свързани чрез частна гореща точка. Това е за да се гарантира, че няма да се загуби пакет.

out = os.popen ('ip сус'). read (). splitlines () за i, ред в изброяване (out, start = 1): ip = line.split ('') [0] s.sendto (str (насочва [0]. zPosCm), (ip, MYPORT))

Стъпка 6: Изграждане на Android като дисплей

Изграждане на Android като дисплей
Изграждане на Android като дисплей

Приложението за Android е създадено за показване на устройството, главно защото намалява количеството материали, тъй като в противен случай отделен екран може да бъде както скъп, така и труден за инсталиране. Що се отнася до този проект, можем да използваме Android телефон/таблет.

Android се фокусира върху 3 части, които направихме по -рано,

  • Свържете се с wifi hotspot, създаден чрез IoT устройство (Intel Joule)
  • Предавайте камерата RealSense чрез движение чрез wifi
  • Измерване на разстоянието от целта на Walabot чрез udp

След като настроите всичко и инсталирате приложението за Android (с отворен код тук), ще можете да видите камерата да работи заедно с walabot

Стъпка 7: Изпробвайте всичко

Image
Image
Тестване на всичко
Тестване на всичко
Тестване на всичко
Тестване на всичко

Сега всичко работи, трябва да имаме основна настройка на всички прикачени компоненти. Когато стартираме дъската Joule, горещата точка трябва да бъде автоматично настроена, приложението за движение и walabot ще стартира заедно с нея, а когато включим нашето приложение за Android, трябва да можем да предаваме поточно от камерата. Това означава, че клавиатурата/мишката и мониторът вече не са необходими за функционирането на IoT устройството. Ако в този момент възникнат проблеми, като например библиотеки, които не са инсталирани правилно, трябва да ги поправим, преди да преминем към следващата стъпка.

3D отпечатването на корпуса, който може да държи камерата, е много важно.

При изграждането на хардуера трябва да имаме нашия персонализиран 3D отпечатан корпус, готов за камерата. Тъй като това е прототип, той може да се разхлаби малко, но когато изграждаме персонализиран държач за регистрационни табели, очакваме всички компоненти да бъдат вътре в държача.

Стъпка 8: Тестване на истински автомобил

Image
Image
Тестване на истинска кола
Тестване на истинска кола
Тестване на истинска кола
Тестване на истинска кола

Сега, след като направихме всичко работещо, ще можем да го тестваме на истинска кола. Тъй като това е прототип, нещата могат да бъдат малко груби, използваме тиксо за някои от компонентите.

За да включим Joule IoT Kit, използвахме DC към AC Direct Plug-in Power Inverter, след което просто пуснахме дълъг контакт към багажника.

Ще имаме предната и задната част. Това е само прототип в момента, следващата версия ще интегрира чиповете вътре в държача на регистрационния номер.

А за предната част можем да използваме или държач за телефон, или просто тиксо Android Tablet.

Стъпка 9: Използвайте го в света

Използвайте го в света
Използвайте го в света

Използвайки този инструмент, можем безопасно да архивираме автомобила в други автомобили и да можем да наблюдаваме пешеходците. Можете да гледате демо видео в началото. Целта на проекта е да насърчи по -безопасни практики на шофиране.

Можете да проверите проекта от

Препоръчано: