Введение в slam - singularis labslam 9 Актуальность slam •...

27
Введение в SLAM Докладчик: Агафонов Владислав

Upload: others

Post on 31-Aug-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

Введение в SLAM

Докладчик: Агафонов Владислав

Page 2: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 2

Что такое Robot Mapping?

Robot – устройство которое движется в некоторой среде

Mapping – моделирование некоторой окружающей среды

Page 3: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 3

Терминология

STATE ESTIMATION

LOCALIZATION

MAPPING

SLAM

NAVIGATION

Page 4: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 4

Что такое SLAM?

SLAM (Simultaneous Localization and Mapping) – одновременное вычисление позиции робота и построение карты окружения

Localization – обнаружение позиции робота

Mapping – построение карты окружения

Page 5: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 5

Пример локализации

• Обнаружение позиции робота по данным ориентирам (landmarks)

Page 6: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 6

Пример построения карты

• Запоминание позиций ориентиров относительно позиций робота

Page 7: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 7

Пример SLAM

• Одновременное вычисление позиции робота и построение карты окружения

Page 8: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 8

Парадокс SLAM

• Карта окружения необходима для локализации

• Точная локализация нужна для построения карты

Page 9: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 9

Актуальность SLAM

• Рассматривается как фундаментальная задача для создания автономных роботов

• SLAM - базовый метод для большинства навигационных систем

Page 10: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 10

Применение SLAM

• SLAM используется для навигации управляемых и автономных роботов в помещении, на улице, в воздухе и под водой

Примеры:

• Робот пылесос, газонокосилка

• Видеонаблюдение на БПЛА

• Мониторинг подводных рифов, шахт

Page 11: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 11

Видео

Page 12: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 12

Постановка задачи SLAM

Дано:

• Управляющие сигналы 𝑢1:𝑇 = 𝑢1, 𝑢2, … , 𝑢𝑇

• Наблюдения 𝑧1:𝑇 = *𝑧1, 𝑧2, … , 𝑧𝑇+

Необходимо получить:

• Карту окружения 𝑚

• Путь робота 𝑥0:𝑇 = *𝑥0, 𝑥1, … , 𝑥𝑇+

Page 13: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 13

Вероятностный подход

• Неопределенность в оценке движения робота и наблюдаемых ориентирах

• Использование теории вероятности для явного представления неопределенности

Робот точно здесь Робот где-то здесь

Page 14: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 14

Вероятностный подход

Вероятностная оценка точности пути пройденного роботом и построенной карты

Место для формулы. 𝑃 𝑥0:𝑇 , 𝑚 𝑧1:𝑇,𝑢1:𝑇)

Page 15: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 15

Графическое представление

Место для формулы.

Page 16: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 16

Offline SLAM и Online SLAM

Место для формулы.

Offline SLAM оценивает весь путь

𝑃 𝑥0:𝑇 , 𝑚 𝑧1:𝑇,𝑢1:𝑇)

Online SLAM оценивает только последнюю позицию робота

𝑃 𝑥𝑡, 𝑚 𝑧1:𝑡,𝑢1:𝑡)

Page 17: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 17

Графическое представление Online SLAM

Место для формулы.

Page 18: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 18

Online SLAM

Место для формулы. 𝑃 𝑥𝑡, 𝑚 𝑧1:𝑡,𝑢1:𝑡)=

… 𝑝 𝑥0:𝑡 −1, 𝑚 𝑧1:𝑡 −1, 𝑢1:𝑡 −1 𝑑𝑥𝑡−1𝑥𝑡 −1𝑥0…𝑑𝑥0

Online SLAM интегрирует распределения вероятности состояний по всем предыдущим итерациям

Page 19: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 19

Почему SLAM сложная задача?

Место для формулы.

• Путь робота и карта окружения неизвестны

• Локализация робота и оценка карты коррелируют

• Ложное сопоставление ориентиров ведет к ошибкам

Page 20: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 20

Разновидности SLAM

• Volumetric Feature-based

• Статическое окружение Динамическое окружение

• Активный SLAM Пассивный SLAM

• Один робот Несколько роботов

Page 21: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 21

SLAM Заметки

• На данный момент большое количество различных методов решения предложено

• Большинство робототехнических конференций имеют SLAM секции

• Очень много методов SLAM реализуют вероятностный подход

Page 22: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 22

Основные парадигмы

• Фильтр Калмана

• Многочастичный фильтр

• Графовые алгоритмы

Page 23: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 23

Фильтр Калмана

Page 24: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 24

Фильтр Калмана

Предсказание по модели 𝑥𝑘+1 = 𝑥𝑘 + 𝑢𝑘 + ξ𝑘

Показания сенсоров 𝑧𝑘 = 𝑥𝑘 + η𝑘

𝐸η𝑘 = 𝐸ξ𝑘 = 0

Баланс между показанием сенсоров и то что ожидали увидеть

𝑥𝑘+1 opt

= 𝐾𝑧𝑘+1 + (1 − 𝐾)(𝑥𝑘 opt

+ 𝑢𝑘)

Page 25: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 25

Фильтр Калмана

Минимизация функции ошибки: 𝑒𝑘+1= 𝑥𝑘+1 − 𝑥𝑘+1𝑜𝑝𝑡

𝑒𝑘+1 = 1 − 𝐾 𝑒𝑘 + ξ𝑘 − Kη𝑘+1

Ошибка как положительная так и отрицательная

𝐸 𝑒𝑘+12 → 𝑚𝑖𝑛

𝐸 𝑒𝑘+12 = 1 − 𝐾 2 𝐸𝑒𝑘

2 + σξ2 + 𝐾2ση

2

𝐾𝑘+1 =𝐸𝑒𝑘

2 + σξ2

𝐸𝑒𝑘2 + σξ

2 + ση2

Page 26: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

SLAM 26

Практика

1) Собрать и посмотреть библиотеку ORB SLAM

https://github.com/raulmur/ORB_SLAM2

2) Переделать ее для работы с web камерой

Page 27: Введение в SLAM - Singularis LabSLAM 9 Актуальность SLAM • Рассматривается как фундаментальная задача для создания

www.singularis-lab.com