25.11.2017, 11:37
Клещев АлексейПользователь
Прогресс по проекту «SLAM» (23.10.2017 - 29.10.2017)

Участники:

  • Клещев Алексей
  • Галембо Егор
  • Кирьянов Данил

Поставленные задачи в период с 23.10.2017 - 29.10.2017:

1.Продумать реализацию алгоритма SLAM составления и заполнения карты.

2.Изучить документацию на сайте wiki.ros.org.

В результате были выполнены все поставленные задачи в период с 16.10.2017 по 22.10.2017:

1.В ходе обсуждения было решено, что наилучшей реализацией алгоритма SLAMбудет представление карты в виде двумерного динамического массива (матрицы) содержащего следующие символы:

«#» - препятствие

«*» - робот

«-» - свободная ячейка

а основе данных с Лидара строится двумерный динамический массив, крайней дальней ячейкой которого является самое удаленное препятствие. Далее массив заполняется следующим образом:

1.Анализируется поток данных с Лидара

2.На основе данных высчитывается координаты препятствий

3.В соответствующие ячейки помещается символ «#»

2.Для дальнейшей работы и понимания концепции графа ROS было выяснено, что:

~ Узел(Node) — это ничто иное, как исполняемый файл пакета ROS. Узлы ROS используют клиентские библиотеки ROS для связи с другими узлами. Узлы могут публиковать или подписаться на Тему(Topic). Узлы могут также предоставлять или использовать службы(Service).

~Клиентские библиотеки ROS: позволяют реализовывать узлы ROS на различных языках программирования:
Rospy = клиентская библиотека для Python
Roscpp = клиентской библиотеки для С++


~Rosbash включает следующие утилиты командной строки, явно похожие на стандартный bash в Linux.Например,

roscd - изменить каталог, начиная с имени пакета, стека или местоположения
это эквивалент cd в стандартном Bash.

Прогресс по проекту «Алгоритм одновременного позиционирования и картографирования для наземного робота (SLAM)» (16.10.2017 - 22.10.2017)

Прогресс по проекту «Алгоритм одновременного позиционирования и картографирования для наземного робота (SLAM)» (16.10.2017 - 22.10.2017)

Участники:

  • Клещев Алексей
  • Галембо Егор
  • Кирьянов Данил

Поставленные задачи в период с 16.10.2017 по 22.10.2017:

  • Проанализировать недостатки реализации SLAM и выбрать метод.

ORB­SLAM является универсальным и довольно точным решением задачи Monocular SLAM. Система способна в реальном времени вычислять траекторию камеры и строить разреженную трёхмерную реконструкцию сцен самых разных размеров: от рабочего стола до нескольких городских кварталов.

Недостаток – недоступность камеры.

DP­SLAM – реализация, использующая показания лазерного дальномера и фильтр частиц для хранения гипотез о положении робота и конфигурации окружающей его сцены.

Недостаток – необходимость в точных датчиках.

Grid Maps – подход, описывающий средства хранения и обновления информации о сцене, окружающей робота.

Недостатки – несоответствие действительности (незначительное).

В ходе активных дискуссий был выбран GridMaps. Основными его преимуществами стали:

  • Сцена представляется как набор клеток, каждая из которых соответствует небольшому участку пространства. Это и обеспечивает относительную невосприимчивость алгоритма к небольшим погрешностям замеров.
  • Каждая клетка либо полностью занята, либо полностью свободна.
  • Реализация не очень затратна по памяти
  • Не важно, откуда поступает информация об окружающем мире и каким образом она была получена, что обеспечивает модульность системы.
  • Возможна работа с неточными датчиками.
  • Позволяет реализовать алгоритм, не использующий операции деления нецелых чисел.
Прогресс по проекту «Алгоритм одновременного позиционирования и картографирования для наземного робота (SLAM)» (09.10.2017 - 15.10.2017)

Участники:

  • Клещев Алексей
  • Галембо Егор
  • Кирьянов Данил

Поставленные задачи в период с 09.10.2017 по 15.10.2017:

  1. Найти узел SLAM отвечающий за построение карты в роботе, на wiki
  2. Разобраться в устройстве получения показаний с lidar’а
  3. Разобраться в технологии определения препятствий (метод нахождения разрывов)
  • 1. После продолжительных поисков каталогов в файловой системе робота, было установлено, что исходные файлы хранящиеся на роботе не пригодны для дальнейшей разработки. Это послужило причиной поиска исходников в интернете. Источником стал http://wiki.ros.org. На нем был найден архив со всей документацией и исходниками.

  • 2. Устройство получения показаний с лидара происходит следующим образом: световой импульс, а затем и его отражения проходят через оптический элемент. Отраженный импульс принимается фотодиодом, где преобразуется в электрический сигнал. Далее сигнал усиливается усилителем, преобразуется в «цифру» с помощью АЦП (аналого-цифрового преобразователя), а затем обрабатывается микропроцессором.

  • 3. Поиск разрыва - алгоритм, который ищет первое препятствие по следующему принципу: просматриваются элементы массива, заполненные информацией об удаленности препятствия от робота, пока не встретился первый разрыв или пока не изучили все 360 элементов. (Под разрывом подразумевается существенная разница между соседними элементами массива). Если текущий элемент и следующий примерно совпадают по значению, то это одно препятствие и разрыва нет. Иначе найден разрыв и нужно запомнить, где закончилось первое препятствие, и продолжить поиск.
Прогресс по проекту «Алгоритм одновременного позиционирования и картографирования для наземного робота (SLAM)» (2.10.2017 - 08.10.2017)

Презентация


Участники:

  • Клещев Алексей
  • Галембо Егор
  • Кирьянов Данил

Поставленные задачи в период с 02.10.2017 по 08.10.2017:

  1. Научиться работать с роботом // первый запуск
  2. Получить доступ к каталогам в роботе с помощью клиента putty и утилиты psftp
  3. Рассмотреть существующие способы реализации SLAM
  4. Изучение теоретического материала полученного от второго курса

В результате были выполнены все поставленные задачи в период с 02.10.2017 по 08.10.2017:

1.

При первом запуске были наглядно рассмотрены возможности робота, было уделено особое внимание RPLidar (далее Лидар).

Лидар способен сканировать окружающее пространство с частотой 5.5 Гц в угловом охвате 360 градусов на расстоянии до 6 метров. Он создает 2D облако точек, так называемый плоский срез. Каждая точка облака имеет точные координаты относительно системы координат лазера.

2.Так как ROS работает только на Unix-платформах, то для подключения к нему используется клиент PuTTY. Клиент позволяет подключиться и управлять удаленным узлом (например, сервером). В PuTTY реализована только клиентская сторона соединения — сторона отображения, в то время как сама работа выполняется на стороне сервера.

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

Разница значительна

3.

Метод МонтеКарло — рекурсивный алгоритм для численного решения проблем оценивания (фильтрации, сглаживания), особенно для нелинейных случаев. Метод заключается в том, что в фильтре поддерживается множество гипотез о текущем положении робота. В начальный момент генерируется случайный набор гипотез. В ходе работы алгоритма некоторые из них будут отсеиваться из-за несоответствия вторичным признакам системы, которые могут быть измерены более точно. После завершения цикла сканирования выбирается наиболее вероятная из оставшихся в фильтре гипотез – она будет искомой картой, на которой к тому же будет отмечена траектория движения исполнителя.

Метод отжига (метод симуляции отжига, simulated annealing) – 10 это техника оптимизации, использующая упорядоченный случайный поиск. Одним из главных преимуществ этой методики является то, что в условиях нехватки вычислительных ресурсов метод отжига и его модификации, выдает решение, очень близкое к одному из локальных экстремумов.

  • DPSLAM – реализация, использующая показания лазерного дальномера и фильтр частиц для хранения гипотез о положении робота и конфигурации окружающей его сцены.
  • Grid Maps – подход, описывающий средства 8 хранения и обновления информации о сцене, окружающей робота. Эта методика имеет ряд полезных свойств, благодаря которым она отлично подходит для решения поставленной задачи:

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

2. Каждая клетка либо полностью занята, либо полностью свободна.

3. Реализация не очень затратна по памяти.

4. Не важно, откуда поступает информация об окружающем мире и каким образом она была получена, что обеспечивает модульность системы.

  • ORB SLAM является универсальным и довольно точным решением задачи
    3D. Monocular SLAM - система способна в реальном времени вычислять траекторию камеры и строить разреженную трёхмерную реконструкцию сцен самых разных размеров: от рабочего стола до нескольких городских кварталов. Система отлично справляется с восстановлением довольно беспорядочных траекторий, в ней также реализованы некоторые дополнительные эвристические методы для замыкания объёмных циклов.

4 Был прочитан отчет «Разработка и реализация алгоритма обнаружения и остановки наземного робота перед внезапно возникшим препятствием» предоставленный второкурсниками.

Глоссарий

  • Каталог — объект в файловой системе, упрощающий организацию файлов.
  • Лидар как прибор представляет собой активный дальномер оптического диапазона
  • PuTTY — свободно распространяемый клиент для различных протоколов удалённого доступа.
  • Сцена – поле, на котором определяется положение робота.

08.10.2017, 15:23
Клещев АлексейПользователь
Прогресс по проекту «Алгоритм одновременного позиционирования и картографирования для наземного робота (SLAM)» Первая неделя (25.09.2017 - 01.10.2017)

Участники: 

  • Клещев Алексей
  • Галембо Егор
  • Кирьянов Данил

Поставленные задачи в период с 25.09.2017 по 01.10.2017:

  • Развернуть OSUbuntu 16.03 на ноутбуке
  • Развернуть framework ROS (Robot Operating System) на ранее установленной Ubuntu 16.03
  • Запустить проект Turtle в ROS
  • Проанализировать стандартный алгоритм SLAM, реализованный в ROS 
  • Создать рабочее пространство catkin_ws

В результате были выполнены все поставленные задачи в период с 25.09.2017 по 01.10.2017

Было выяснено, что

  • SLAM — Simultaneous Localization And Mapping - Метод, используемый в мобильных автономных средствах для построения карты в неизвестном пространстве, путем получения показаний датчиков, обработки и наложения на карту, с одновременным контролем текущего местоположения и пройденного пути.
  • В рамках ROS, реализовано несколько алгоритмов SLAM:
    • GMapping — реализация метода SLAM на основе данных от лазерного дальномера и одометрии робота.
    • Visual SLAM — визуальный SLAM — реализация метода SLAM на основе языка Python и библиотеки компьютерного зрения OpenCV, данный алгоритм используется роботом пылесосом Samsung Hauzen RE70V.
    • hector_mapping — SLAM для платформ без одометрии — только на основе данных от LIDAR-ов. Система успешно использовалась на беспилотных наземных роботах, а также транспортных средствах.
  • Главный принцип ROS: «не изобретать велосипед», поскольку это ускорят скорость разработки и увеличивает горизонт открытий!

Глоссарий
Одометрия — использование данных о движении приводов для оценки перемещения.

LIDAR – Лазерный дальномер.

Screenshots

Объявления
Начинается проектный практикум для студентов УрФУ

проектный практикум 2 курса

проектный практикум 3 курса

проектный практикум 4 курса

Молодежный космический форум - 2018 (V Семихатовские чтения)О Форуме-2018 Новое

Школа наставников - 2018 “Как создать проект в новом технологическом укладе” )Актуальное

Партнеры:

ИнФО УрФУ - Генеральный партнер в проведении проектной практики в июне-июле 2017 года

Роботология - Российское оборудование для программирования и конструирования роботов

Уральский клуб нового образования - общественная организация, которая разрабатывает и реализует социально-образовательные проекты

Архив событий:

Проектная практика для студентов Института фундаментального образования УрФУСобытие

Молодежный космический форум - 2017 (Четвертые Семихатовские чтения)Конкурс

Выбор темы работы для участия в IV Семихатовских чтенияхО Форуме-2017

Подписка на новости
Контакты

Адрес: г. Екатеринбург, ул. Мамина-Сибиряка 145, к. 1119 (на карте)

Тел.: +7 (343) 355-93-88

info@cosmoport.club