Оглавление:

Вид сзади автомобиля: 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 недостаточно мощный, чтобы запускать 3D-камеру RealSense, в которую мы можем добавить гораздо больше функций в будущем, которые могут улучшить функциональность автомобиля. Та же версия может использоваться с Pi с обычной USB-камерой, но для ночного времени она не годится.

Телефон / планшет Android используется для отображения камеры резервного копирования, это сделано для снижения стоимости дополнительного экрана. Версия для iOS может быть создана по запросу.

С помощью этих компонентов мы сможем создать систему заднего обзора, которая показывает пользователю заднюю часть автомобиля.

Шаг 1. Соберите необходимое оборудование

Установите Ubuntu на Joule и необходимые библиотеки для его запуска
Установите Ubuntu на Joule и необходимые библиотеки для его запуска
  1. Intel Джоуль
  2. Walabot Pro
  3. Камера Intel R200 RealSense
  4. Телефон / планшет Android с версией 5.0 или выше.
  5. Автомобильный адаптер для штекерного выхода и адаптер переменного тока 12 В постоянного тока (это для демонстрации для включения Джоуля, производственная версия будет содержать другой механизм питания)
  6. USB-концентратор для подключения камеры и Walabot (USB3 для камеры и USB2 для Walabot)
  7. Преобразователь постоянного тока в переменный, подключаемый напрямую
  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 и подключения к Wi-Fi мы можем открыть терминал и использовать следующую команду. Сначала мы подключаем камеру к Joule через порт USB3, затем делаем следующие шаги.

а. Установка движения на ubuntu:

sudo apt-get updatesudo apt-get install движение

б. Скопируйте файлы конфигурации:

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

c. Настроив файл, те, кто знаком с ubuntu, могут установить Sublime, чтобы упростить редактирование текста, в противном случае мы можем редактировать его внутри командной строки.

sudo nano ~ /.motion / motion.conf

d. После подключения камеры R200 мы можем изменить следующие строки в motion.conf

Это для того, чтобы перевести его в фоновый режим:

# Запустить в режиме демона (фоновый) и отпустить демона терминала (по умолчанию: выключено)

Это необходимо для использования обзора камеры RealSense Camera.

# Видеоустройство, которое будет использоваться для захвата (по умолчанию / dev / video0) # для FreeBSD по умолчанию / dev / bktr0 videodevice / dev / video2

Изменение ширины и высоты, 1280 x 720 отлично поработало для меня, но вы можете поиграть с размерами, чтобы увидеть, что вам подходит.

# Ширина изображения (в пикселях). Допустимый диапазон: зависит от камеры, по умолчанию: 352 width 1280 # Высота изображения (в пикселях). Допустимый диапазон: зависит от камеры, по умолчанию: 288 высота 720

Я установил это значение на 30, чем выше вы установите число, тем больше вычислительной мощности потребуется. Вы можете поиграть, чтобы увидеть, какой для него тест, но 30 мне отлично подошли.

# Максимальное количество кадров, которые нужно захватить в секунду. # Допустимый диапазон: 2-100. По умолчанию: 100 (почти без ограничений). частота кадров 30

Поскольку мы всегда транслируем назад из автомобиля, мы можем установить выделенный порт, мы используем 5001

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

Затем вы можете запустить 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. Поскольку у Джоуля есть только один порт USB3, подключите дополнительный порт USB2, чтобы разместить здесь Walabot Pro.

c. Протестируйте проект Walabot, например https://github.com/Walabot-Projects/Walabot-Senso…, выполнив следующую команду в папке

python SensorTargets.py

Это должно дать вам хороший тест, чтобы увидеть, правильно ли работает Walabot, а также как измерить расстояние до вещей, которые вы хотите. Пример DistanceMeasure не был слишком последовательным при измерении, а zPosCm кажется чрезвычайно точным, поэтому я решил использовать zPosCM для демонстрации.

d. Нам по-прежнему нужно передавать данные на устройство отображения, поскольку мы запускаем это на Android, чтобы снизить стоимость материала, мы можем использовать сокеты. Мы используем следующий код для настройки сокета и UDP в Python.

MYPORT = 5002 import sys, время из импорта сокета * s = socket (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.

f. Walabot теперь настраивается и передает данные через UDP, полный код Python можно увидеть в области прикрепления кода. Снимок экрана ниже - это распечатка того, как он должен выглядеть, когда нет области. Код прилагается в разделе кода.

Шаг 5: Создание точки доступа Wi-Fi из Джоуля

Создание точки доступа Wi-Fi из джоуля
Создание точки доступа Wi-Fi из джоуля

Мы создаем собственную точку доступа Wi-Fi для устройства Android для передачи данных. Использование следующей команды при запуске автоматически настроит его. Это используется для Ubuntu 16.04 или более поздней версии, так как это используется. Мы автоматически подключим это через приложение для Android на следующем шаге. Используйте эту команду в Startup Applications.

устройство nmcli точка доступа Wi-Fi мошенничество автомобиль-заднее видение ssid автомобиль-диапазон заднего обзора bg пароль safedriving

Внутри файла python walabot мы также обновим его, где мы будем отправлять udp-сообщение на устройства, подключенные через частную точку доступа. Это необходимо для того, чтобы пакет не был потерян.

out = os.popen ('ip neigh'). read (). splitlines () для i, строка в enumerate (out, start = 1): ip = line.split ('') [0] s.sendto (str (цели [0].zPosCm), (ip, MYPORT))

Шаг 6. Создание Android в качестве экрана дисплея

Создание Android как экрана дисплея
Создание Android как экрана дисплея

Приложение Android создано для отображения устройства, главным образом потому, что оно сокращает расходы на материалы, поскольку в противном случае отдельный экран может быть дорогостоящим и сложным в установке. Что касается этого проекта, мы можем использовать телефон / планшет Android.

Android состоит из трех частей, которые мы сделали ранее:

  • Подключитесь к точке доступа Wi-Fi, созданной с помощью устройства IoT (Intel Joule)
  • Транслируйте потоковую передачу с камеры RealSense с помощью движения через Wi-Fi
  • Измерение расстояния от цели Walabot через udp

После настройки всего и установки приложения для Android (исходный код открыт здесь) вы сможете увидеть, как камера работает вместе с walabot.

Шаг 7: проверка всего

Image
Image
Тестирование всего
Тестирование всего
Тестирование всего
Тестирование всего

Теперь у нас все работает, у нас должна быть базовая настройка всех подключенных компонентов. Когда мы запускаем доску Joule, точка доступа должна быть автоматически настроена, приложение движения и walabot запускается вместе с ней, а когда мы включаем наше приложение для Android, мы должны иметь возможность передавать поток с камеры. Это означает, что клавиатура / мышь и монитор больше не нужны для работы устройства IoT. Если в этот момент возникают какие-либо проблемы, например, неправильно установленные библиотеки, мы должны исправить это, прежде чем переходить к следующему шагу.

3D-печать корпуса, в котором можно разместить камеру, очень важна.

При создании оборудования у нас должен быть готовый корпус для камеры, напечатанный на 3D-принтере. Поскольку это прототип, он может немного болтаться, но когда мы создаем специальный держатель номерного знака, мы ожидаем, что все компоненты будут внутри держателя.

Шаг 8: Тестирование на реальной машине

Image
Image
Тестирование на реальной машине
Тестирование на реальной машине
Тестирование на реальной машине
Тестирование на реальной машине

Теперь, когда все заработало, мы сможем протестировать это на реальной машине. Поскольку это прототип, все может быть немного грубо, мы используем изоленту для некоторых компонентов.

Чтобы включить Joule IoT Kit, мы использовали подключаемый инвертор постоянного тока в переменный, а затем просто подключили длинную розетку к магистрали.

У нас будет передняя часть и задняя часть. Сейчас это всего лишь прототип, в следующей версии чипы будут интегрированы внутри держателя номерного знака.

А для передней части мы можем использовать либо держатель для телефона, либо просто изоленту Android Tablet.

Шаг 9: Используйте это в мире

Используйте это в мире
Используйте это в мире

Используя этот инструмент, мы можем безопасно копировать данные с одного автомобиля на другой и отслеживать пешеходов. Вы можете посмотреть демонстрационное видео в начале. Цель проекта - способствовать более безопасному вождению.

Вы можете проверить проект на

Рекомендуемые: