Сканер ландшафта для велосипедных прогулок - Своими руками
Своими руками

Сканер ландшафта для велосипедных прогулок

>

Сканер ландшафта для велосипедных прогулокСканер ландшафта для велосипедных прогулокСканер ландшафта для велосипедных прогулокСканер ландшафта для велосипедных прогулокВ этом проекте мастер попытался создать дополнение к велосипеду, которое позволит сканировать ландшафт, по которому он путешествует, будь то город или сельская местность.
Инструменты и материалы:-Нить для 3D-принтера;-Эпоксидная смола;-Ткань из углеродного волокна;
-Пленка формата А4;
-Крепеж;
-Raspberry pi 3B +;- Raspi Camera v2;-SD-карта 32Гб;-Повербанк 20 Ач;-USB-кабель для подключения пауэрбанка;
-Удлинительный кабель usb (для передачи видео, не открывая корпус);
-Датчик скорости на велосипед (геркон + магнит);-3D-принтер;-Компьютер;-Паяльник;
-Отвертки, шестигранные ключи, плоскогубцы;
-Мультиметр;-Термофен;
Шаг первый: об устройстве
Цель заключалась в том, чтобы иметь очень гибкую систему (где можно настраивать параметры для точной настройки рендеринга (отрисовка)), способную без проблем работать часами и без создания слишком большого количества данных.

По функционалу устройство похоже на камеру с линейной разверткой (или, по сути, на то, что делает режим панорамы на большинстве смартфонов).

Идея состоит в том, чтобы использовать Raspberry Pi и камеру, работать от батареи и создавать отдельные вертикальные кадры на основе скорости велосипеда.

Так же задача была, чтобы устройство выглядело красиво и было ударопрочным (гоночный велосипед без подвески, есть сильные вибрации). По этим причинам он сделал одну сторону корпуса из углеродного волокна (CFRP). При этом есть версия и без углеродного волокна.
С SD-картой 32 Гб должно быть достаточно места для записи около 700 км пути, а с аккумулятором на 20 А•ч – на запись в течении около 20 часов.

Изначально результат выглядит примерно как на фото ниже (изображение с высоким разрешением, здесь 16,000×1,800 пикселей):
Сканер ландшафта для велосипедных прогулокСканер ландшафта для велосипедных прогулокСканер ландшафта для велосипедных прогулокСканер ландшафта для велосипедных прогулокСканер ландшафта для велосипедных прогулокСканер ландшафта для велосипедных прогулокСканер ландшафта для велосипедных прогулокВ дальнейшем эти снимки можно обработать и улучшить.

Шаг второй: 3D-печать
Сначала нужно напечатать детали корпуса. Файлы для печати можно скачать ниже. Деталь Main_Body для версии с углеродным волокном. Деталь Main_Body_noCFRP для версии без углеродного волокна.
Для печати понадобится около 300 грамм нити и 38 часов.
Camera_Centering.stlCamera_Circle.stlCamera_Fixation.stlCover_Body.stlFixation_Battery.stlFixation_Raspi.stlFixation_Saddle.stlHolder_Magnet_Sensor.stlHolder_Screw_Wheel.stlMain_Body.stlMain_Body_noCFRP.stl
Сканер ландшафта для велосипедных прогулокСканер ландшафта для велосипедных прогулокСканер ландшафта для велосипедных прогулокШаг третий: заливка
Деталь из углеродного волокна и эпоксидной смолы изготавливается за 4 простых шага:
-подготовка 3D-печати к отливке
-подготовка ткани из углеродного волокна
-заливка первого слоя эпоксидной смолы
-установка углеродного волокна и всех опорных элементов и герметизация их вторым эпоксидным слоем
Сканер ландшафта для велосипедных прогулокСканер ландшафта для велосипедных прогулокСканер ландшафта для велосипедных прогулокПодготовка 3D-принта заключается в заклейке нижней стороны пленкой.
Сканер ландшафта для велосипедных прогулокСканер ландшафта для велосипедных прогулокЗатем нужно обрезать ткань на 2-3 мм больше внутреннего размера корпуса.
Сканер ландшафта для велосипедных прогулокСканер ландшафта для велосипедных прогулокК пленке необходимо приклеить двусторонним скотчем пластиковый шип. Он приклеивается в том месте, где будет размещаться камера. В ткани, тоже нужно сделать отверстие на месте камеры.
Сканер ландшафта для велосипедных прогулокСканер ландшафта для велосипедных прогулокЗатем заливается первый слой эпоксидной смолы. После полимеризации смолы, укладывает ткань, размещает крепление для Рассбери и заливает второй слой.
Сканер ландшафта для велосипедных прогулокСканер ландшафта для велосипедных прогулокШаг четвертый: датчик скорости
К датчику нужно припаять провода. Затем закрепить его на вилку велосипеда. Магнит закрепляется на клапане велосипедной камеры. Теперь при каждом обороте колеса, будет срабатывать геркон.
Сканер ландшафта для велосипедных прогулокСканер ландшафта для велосипедных прогулокСканер ландшафта для велосипедных прогулокСканер ландшафта для велосипедных прогулокДальше подключает провода от датчика к контактам 1 и 12 Рассбери.
Сканер ландшафта для велосипедных прогулокШаг пятый: настройка Рассбери
Дальше нужно будет установить raspi со стандартной ОС:
Скачиваем образ (не распаковывая) с Raspberrypi.org на компьютер.
Устанавливаем SD-карту в компьютер
Загружаем и запускаем Balena Etcher с balena.io
Запускаем belena Etcher
Кликаем ‘Flash from file’.
Выбираем файл.
Нажимаем ‘Select target’.
Выбираем свою SD-карту.
Нажимаем “Flash”.
Затем устанавливаем SD-карту в Raspi.
Подключаем к Рассбери дисплей, мышь, клавиатуру и загружаем систему.
Подключаемся к Интернету.
Из терминала (ctrl + alt + T) запускаем «sudo apt-get update», а затем «sudo apt-get upgrade», чтобы обновить Рассбери.
Если планируется запускать все скрипты на raspi, то понадобится opencv для python: “sudo apt-get install
python3-opencv “, но мастер рекомендует запустить его на своем настольном компьютере после передачи видеофайлов.
Теперь нужно будет загрузить скрипты для получения и обработки изображений из этого руководства.
Создаем папку на Pi, в которой будет выполняться проект, и копируем туда файлы.
Чтобы автоматически запустить скрипт python при загрузке, мастер следовал инструкциям отсюда. Сценарий, который должен запускаться при загрузке, – это «Autoscript.py», он должен запускаться с помощью python 3.
Read_video.pyAutostart.pyFusion_images.py
Сканер ландшафта для велосипедных прогулокШаг шестой: протокол SSH
Чтобы получить легкий доступ к raspi, мастер подключается к нему через SSH. Это позволит иметь доступ к файлам, не открывая корпус.
Для настройки протокола делаем следующее:
настраиваем Wi-Fi на Pi
подключаем его к домашнему Wi-Fi
записываем IP-адрес Рассбери
Сканер ландшафта для велосипедных прогулокЗатем нужно активировать SSH на Рассбери. Как только это будет сделано, подключаемся к Рассбери по сети.
Сканер ландшафта для велосипедных прогулок Теперь можно редактировать код, удалять или копировать файлы по своему усмотрению. Пока ваш велосипед находится в пределах досягаемости домашнего Wi-Fi, включаем систему и подключаемся к ней.
После завершения выключаем пи следующим образом:
Сканер ландшафта для велосипедных прогулокШаг седьмой: установка устройства на велосипед
Теперь нужно установить устройство под сиденье велосипеда. Наружу выводится USB-кабель для переноса данных на компьютер и кабель для подключения повербанка.
Сканер ландшафта для велосипедных прогулокСканер ландшафта для велосипедных прогулокШаг восьмой: запись
Теперь можно прокатиться и просканировать местность.
Подключите USB-вход питания Рассбери к блоку питания. Pi загрузится и автоматически запустит скрипт для записи видео.
Чем стабильнее езда на велосипеде, тем лучше будут снимки.
Когда пользователь резко увеличивает или уменьшает скорость, камера будет генерировать
немного «неправильные» изображения, поскольку частота кадров обновляется только каждый оборот колеса. Точно так же, когда пользователь поворачивает на велосипеде, изображения будут сканироваться со скоростью велосипеда, даже если во время поворота скорость объекта, который сканируется, отличается.
На прямой, с близким к постоянному расстоянию до сканируемого объекта и с низкими вибрациями / раскачиванием велосипеда, можно получить хорошие изображения.
Сканер ландшафта для велосипедных прогулокСканер ландшафта для велосипедных прогулокШаг девятый: обработка изображений
После записи видео копируем его на USB-накопитель и переносим на компьютер.
Затем нужно будет преобразовать видео из формата .h264 во что-то, доступное для чтения opencv, например формат mp4. Для преобразования можно использовать любой удобный конвертер.
Мастер делает это в Линукс. Запускает команду: sudo apt-get update sudo apt-get install gpac
Затем переходит в папку с сырыми видео “.h264”. Запускает следующую команду, которая преобразует все файлы «h.264» в текущей папке в mp4:
"for i in *.h264; do MP4Box -add $i "${i%.h264}.mp4"; done"
Сканер ландшафта для велосипедных прогулокТеперь нужно извлечь каждый кадр из видео в формате “.mp4”. Для этого запускаем скрипт «Read_video.py». Изменяем переменную «NumberVideosToProcess» на количество видеофайлов, которые нужно обработать.
Отдельные кадры будут сохранены в папке «Frames», которую нужно создать раньше внутри папки, в которой находятся видео.
Далее запускаем скрипт «Fusion_images.py».
Здесь можно изменить «FusionRatio» (int), который определяет коэффициент перекрытия для градиентного слияния двух соседних изображений (от 0 до 0,5).
Можно изменить “FotoWidth” (int), который представляет собой размер середины каждого кадра, используемого для слияния (от 1 до 64).
“NumberFotoPerFrame” (int), определяет количество кадров, объединенных в одно изображение.
Нужно изменить переменную NumberImageToProduce (int) на самую большую (int).
Результаты изображения будут сохранены в папке «Результат», которую нужно создать раньше, также внутри папки, в которой находятся видео.

В дальнейшем мастер предполагает расширить проект. В планах установить несколько камер сканирующих, в том числе и небо. Обработка видео до 3D, регистрация скорости велосипеда, добавление небольшого экрана и т.д.

SitesReady

Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного. - Альберт Эйнштейн

Follow us

Don't be shy, get in touch. We love meeting interesting people and making new friends.