При розв'язуванні задач навігації і картографії у робототехніці, одночасна локалізація і картографування (англ.simultaneous localization and mapping — SLAM) є алгоритмічною обчислювальною задачею побудови і оновлення мапи невідомого оточення з одночасним відстежуванням місцеположення рухаючись по ньому. Хоча це схоже на задачу «курка чи яйце?», існує декілька алгоритмів, що розв'язують її, щонайменше приблизно, в скінченний час для певних умов. До популярних методів розв'язування належать фільтр часток[en], розширений фільтр Калмана і GraphSLAM.
Дана послідовність даних спостереження сенсору за дискретні проміжки часу , задачею SLAM є розрахувати і визначити розташування агента і мапу оточення Всі величини зазвичай ймовірнісні, тому необхідно обчислити:
Застосування правила Баєса дає основу для послідовного оновлення апостеріорного розташування, при даній мапі і функції переходу
Аналогічно мапа може оновлюватися послідовно наступним шляхом
Як для більшості задач наближення, рішення можна знайти при наближенні двох змінних, до локального оптимального рішення, шляхом почергового оновлення двох рівнянь у формі ЕМ-алгоритму.
До статистичних методів, що використовуються для задач апроксимації наведених вище, належать: фільтр Калмана, фільтр часток[en] (який є методом Монте-Карло) і узгоджене сканування діапазонних даних. Вони дозволяють визначити оцінку функції апостеріорної ймовірності для позиції робота і параметрів мапи. Техніки оцінювання приналежності до множини[en] в основному засновуються на поширенні сталого інтервалу[en].[2][3]
Вони забезпечують множину, яка містить позицію робота і множину апроксимації мапи. Налаштування пучка є наступною популярною технікою у SLAM, який використовує дані зображень поєднані з оцінками розташування робота і орієнтирів на місцевості, тим самим підвищуючи точність мапи. Вона використовується в комерційних SLAM системах, таких як Проект Tango [Архівовано 16 березня 2014 у Wayback Machine.] компанії Google.
Нові алгоритми SLAM досі потребують активного дослідження і пошуку, і часто обумовлені різними вимогами і припущеннями щодо типів карт, давачів і моделей. Більшість SLAM систем можна розглядати як комбінації виборів кожного з цих аспектів.
Картографування
Побудова топологічних мап це метод представлення довколишнього світу, який узагальнює структуру (тобто, топологію) оточення замість створення геометрично точної мапи. Топологічні методи SLAM використовуються для підвищення загальної узгодженості метричних алгоритмів SLAM.[4]
На противагу тому, для топологічного представлення світу існують мапи у вигляді поверхонь, які використовують масиви оцифрованих елементів (зазвичай квадратних, або гексагональних клітин), і роблять припущення яка клітина зайнята в конкретний момент. Зазвичай клітини вважаються статистично незалежними, аби спростити обчислення. Згідно цього припущення, приймає значення 1, якщо клітини нової карти узгоджені із спостереженням на позиції і 0, якщо неузгоджені.
Реалізація
Різноманітні алгоритми SLAM реалізовані у відкритих бібліотеках Robot Operating System, які часто використовуються з Point Cloud Library для побудови 3D карт або візуальних ефектів у OpenCV.
↑R. Mur-Artal and J. M. M. Montiel and J. D. Tardós (2015). ORB-SLAM: A Versatile and Accurate Monocular SLAM System. IEEE Transactions on Robotics. 31 (5): 1147—1163. arXiv:1502.00956. doi:10.1109/TRO.2015.2463671. ISSN1552-3098.
↑Michael J. Milford and Gordon. F. Wyeth. SeqSLAM: Visual Route-Based Navigation for Sunny Summer Days and Stormy Winter Nights. Proc. of Intl. Conf. on Robotics and Automation.
В іншому мовному розділі є повніша стаття Simultaneous localization and mapping(англ.). Ви можете допомогти, розширивши поточну статтю за допомогою перекладу з англійської. (січень 2023)
Перекладач повинен розуміти, що відповідальність за кінцевий вміст статті у Вікіпедії несе саме автор редагувань. Онлайн-переклад надається лише як корисний інструмент перегляду вмісту зрозумілою мовою. Не використовуйте невичитаний і невідкоригований машинний переклад у статтях української Вікіпедії!
Машинний переклад Google є корисною відправною точкою для перекладу, але перекладачам необхідно виправляти помилки та підтверджувати точність перекладу, а не просто скопіювати машинний переклад до української Вікіпедії.
Не перекладайте текст, який видається недостовірним або неякісним. Якщо можливо, перевірте текст за посиланнями, поданими в іншомовній статті.