Эхолокатор на hc-sr04

Тема в разделе "Глядите, что я сделал", создана пользователем Un_ka, 31 авг 2020.

?

Достаточен ли эхолокатор для навигации?

  1. Да

    0 голосов
    0,0%
  2. Нет

    3 голосов
    100,0%
  1. Un_ka

    Un_ka Гуру

    Был УЗДД- ультразвуковой датчик дальности, сервопривод и самоход...
    И идея сделать навигацию на нём.
    Вот что из этого вышло.
    CIMG1350-min.JPG
    Алюминиевое крепление сервопривода взял от руки-манипулятора из Лего.
    CIMG1352-min.JPG
    Шлейф сделан из старого шлейфа для соединения видеокарт. Я его скрутил для большей гибкости т.к. он одножильный.
    CIMG1351-min.JPG
    Зато теперь передние бамперы бесполезны.
    CIMG1297-min.JPG
    Добавил на самоход ещё светодиодов. CIMG1347-min.JPG
    Как и куда идут данные с самохода через nrf24l01, с кривой телеметрией autoAsk?...
     
    OldKryptos и akl нравится это.
  2. akl

    akl Гуру

    он отправляет телеметрию на комп и там составляется карта пространства? уз-датчик очень плохо видит, было бы круто использовать что-то лазерное
     
  3. Un_ka

    Un_ka Гуру

    В данном случае комп - Raspberry pi 4. Карта пространства - Карта с дискретностью 5×5см.
    Программа имеет возможность поворота и перемещения для расположения полученных пикселей на карте.
    Screenshot_2020-05-13-12-54-58.png
    Снимок экрана в графическом интерфейсе программы. Входные данные сэмулированы.
    Синие пиксели полученные координаты, зелёные уже отмеченные на карте.
    Кнопка Search.
    Самое главное при работе с картой - это понять с помощью неё где ты. Для этого входные координаты поворачиваются на все углы с шагом 1° и подставляются по всем координатам. Составляется карта весов для каждой потанцеальной координаты объекта. Для наглядности добавил визуализацию.
    Screenshot_2020-05-13-12-55-50.png
    Справа вверху Топ-10 вероятных местоположений самохода. Они же отмечены с градиентом то зелёного к красному на карте. В остальных ячейках отображается белый цвет яркостью, зависящей от веса данной координаты.
    На чём написана данная программа?
    Какие библиотеки использует?
     
  4. Un_ka

    Un_ka Гуру

    Программа написана на c++ с использованием библиотек SFML, RF24 и OpenMP.
    Вот ещё снимков экрана.
    Screenshot_2020-09-08-12-17-53.png
    Screenshot_2020-09-08-12-20-07.png
    Исходники состоят из нескольких файлов и собираются вместе без использования CMake.
    Только аргументы командной строки g++.
    Так обрабатывается каждый файл:
    Код (Bash):
    g++ -c ${file}
    Потом собирается всё вместе:
    Код (Bash):
    g++ *.o -o ${name} -lsfml-graphics -lsfml-window -lsfml-system -lsfml-network -fopenmp  -lrf24  
    А что собственно собирается?
    Фаилы из zip архива. (версия может устареть)
     

    Вложения:

    • Echo_nav.zip
      Размер файла:
      181,6 КБ
      Просмотров:
      190
  5. Un_ka

    Un_ka Гуру

    А теперь о недостатках самого модуля. Наблюдается при определённых углах попадания звуковой волны на плоскую поверхность отражение волны не обратно к излучателю, а в сторону. Собственно закон отражения действует и для звуковых волн.
    Об этом я уже писал.
    Теперь посмотрим как это выглядит при сканировании.
    IMG_20200829_184744-min.jpg
    IMG_20200829_184636-min.jpg
    Красным обозначены границы зон отражения невозврата.
    IMG_20200829_190832-min.jpg
    IMG_20200829_185634-min.jpg
    IMG_20200829_190726-min.jpg