Был УЗДД- ультразвуковой датчик дальности, сервопривод и самоход... И идея сделать навигацию на нём. Вот что из этого вышло. Алюминиевое крепление сервопривода взял от руки-манипулятора из Лего. Шлейф сделан из старого шлейфа для соединения видеокарт. Я его скрутил для большей гибкости т.к. он одножильный. Зато теперь передние бамперы бесполезны. Добавил на самоход ещё светодиодов. Как и куда идут данные с самохода через nrf24l01, с кривой телеметрией autoAsk?...
он отправляет телеметрию на комп и там составляется карта пространства? уз-датчик очень плохо видит, было бы круто использовать что-то лазерное
В данном случае комп - Raspberry pi 4. Карта пространства - Карта с дискретностью 5×5см. Программа имеет возможность поворота и перемещения для расположения полученных пикселей на карте. Снимок экрана в графическом интерфейсе программы. Входные данные сэмулированы. Синие пиксели полученные координаты, зелёные уже отмеченные на карте. Кнопка Search. Самое главное при работе с картой - это понять с помощью неё где ты. Для этого входные координаты поворачиваются на все углы с шагом 1° и подставляются по всем координатам. Составляется карта весов для каждой потанцеальной координаты объекта. Для наглядности добавил визуализацию. Справа вверху Топ-10 вероятных местоположений самохода. Они же отмечены с градиентом то зелёного к красному на карте. В остальных ячейках отображается белый цвет яркостью, зависящей от веса данной координаты. На чём написана данная программа? Какие библиотеки использует?
Программа написана на c++ с использованием библиотек SFML, RF24 и OpenMP. Вот ещё снимков экрана. Исходники состоят из нескольких файлов и собираются вместе без использования CMake. Только аргументы командной строки g++. Так обрабатывается каждый файл: Код (Bash): g++ -c ${file} Потом собирается всё вместе: Код (Bash): g++ *.o -o ${name} -lsfml-graphics -lsfml-window -lsfml-system -lsfml-network -fopenmp -lrf24 А что собственно собирается? Фаилы из zip архива. (версия может устареть)
А теперь о недостатках самого модуля. Наблюдается при определённых углах попадания звуковой волны на плоскую поверхность отражение волны не обратно к излучателю, а в сторону. Собственно закон отражения действует и для звуковых волн. Об этом я уже писал. Теперь посмотрим как это выглядит при сканировании. Красным обозначены границы зон отражения невозврата.