YaChudo

SLAM (метод)

Переглядів: 0. Оновлено 04.11.2026.

Переможець змагань DARPA Grand Challenge — STANLEY, використовував SLAM, як елемент своєї автономної системи водіння.
Мапа створена SLAM-роботом.

При розв'язуванні задач навігації і картографії у робототехніці, одночасна локалізація і картографування (англ. simultaneous localization and mapping — SLAM) є алгоритмічною обчислювальною задачею побудови і оновлення мапи невідомого оточення з одночасним відстежуванням місцеположення рухаючись по ньому. Хоча це схоже на задачу «курка чи яйце?», існує декілька алгоритмів, що розв'язують її, щонайменше приблизно, в скінченний час для певних умов. До популярних методів розв'язування належать фільтр часток, розширений фільтр Калмана і GraphSLAM.

Алгоритми SLAM обмежуються наявними ресурсами, таким чином не можуть бути абсолютно досконалими, бо досягають оперативної доступності. Опубліковані методи і підходи реалізовані в безпілотних автомобілях, безпілотних літаючих засобах, автономних підводних апаратах, планетоходах, згодом виникли в побутових роботах і навіть всередині людського тіла.[1]

Постановка задачі

Дана послідовність даних спостереження сенсору o t {\displaystyle o_{t}} за дискретні проміжки часу t {\displaystyle t} , задачею SLAM є розрахувати і визначити розташування агента x t {\displaystyle x_{t}} і мапу оточення m t . {\displaystyle m_{t}.} Всі величини зазвичай ймовірнісні, тому необхідно обчислити:

P ( m t , x t | o 1 : t ) {\displaystyle P(m_{t},x_{t}|o_{1:t})}

Застосування правила Баєса дає основу для послідовного оновлення апостеріорного розташування, при даній мапі і функції переходу P ( x t | x t − 1 ) , {\displaystyle P(x_{t}|x_{t-1}),}

P ( x t | o 1 : t , m t ) = ∑ m t − 1 P ( o t | x t , m t ) ∑ x t − 1 P ( x t | x t − 1 ) P ( x t − 1 | m t , o 1 : t − 1 ) / Z . {\displaystyle P(x_{t}|o_{1:t},m_{t})=\sum _{m_{t-1}}P(o_{t}|x_{t},m_{t})\sum _{x_{t-1}}P(x_{t}|x_{t-1})P(x_{t-1}|m_{t},o_{1:t-1})/Z.}

Аналогічно мапа може оновлюватися послідовно наступним шляхом

P ( m t | x t , o 1 : t ) = ∑ x t ∑ m t P ( m t | x t , m t − 1 , o t ) P ( m t − 1 , x t | o 1 : t − 1 , m t − 1 ) . {\displaystyle P(m_{t}|x_{t},o_{1:t})=\sum _{x_{t}}\sum _{m_{t}}P(m_{t}|x_{t},m_{t-1},o_{t})P(m_{t-1},x_{t}|o_{1:t-1},m_{t-1}).}

Як для більшості задач наближення, рішення можна знайти при наближенні двох змінних, до локального оптимального рішення, шляхом почергового оновлення двох рівнянь у формі ЕМ-алгоритму.

Алгоритми

До статистичних методів, що використовуються для задач апроксимації наведених вище, належать: фільтр Калмана, фільтр часток (який є методом Монте-Карло) і узгоджене сканування діапазонних даних. Вони дозволяють визначити оцінку функції апостеріорної ймовірності для позиції робота і параметрів мапи. Техніки оцінювання приналежності до множини в основному засновуються на поширенні сталого інтервалу.[2][3] Вони забезпечують множину, яка містить позицію робота і множину апроксимації мапи. Налаштування пучка є наступною популярною технікою у SLAM, який використовує дані зображень поєднані з оцінками розташування робота і орієнтирів на місцевості, тим самим підвищуючи точність мапи. Вона використовується в комерційних SLAM системах, таких як Проект Tango [Архівовано 16 березня 2014 у Wayback Machine.] компанії Google.

Нові алгоритми SLAM досі потребують активного дослідження і пошуку, і часто обумовлені різними вимогами і припущеннями щодо типів карт, давачів і моделей. Більшість SLAM систем можна розглядати як комбінації виборів кожного з цих аспектів.

Картографування

Побудова топологічних мап це метод представлення довколишнього світу, який узагальнює структуру (тобто, топологію) оточення замість створення геометрично точної мапи. Топологічні методи SLAM використовуються для підвищення загальної узгодженості метричних алгоритмів SLAM.[4]

На противагу тому, для топологічного представлення світу існують мапи у вигляді поверхонь, які використовують масиви оцифрованих елементів (зазвичай квадратних, або гексагональних клітин), і роблять припущення яка клітина зайнята в конкретний момент. Зазвичай клітини вважаються статистично незалежними, аби спростити обчислення. Згідно цього припущення, P ( m t | x t , m t − 1 , o t ) {\displaystyle P(m_{t}|x_{t},m_{t-1},o_{t})} приймає значення 1, якщо клітини нової карти узгоджені із спостереженням o t {\displaystyle o_{t}} на позиції x t {\displaystyle x_{t}} і 0, якщо неузгоджені.

Давачі

Методи SLAM можуть поєднувати дані кількох типів давачів, а їхні можливості та обмеження значною мірою визначають будову алгоритму. Лазерні далекоміри та лідари формують набори відстаней або тривимірні хмари точок. Камери дають зображення, з яких виділяють характерні точки, лінії та інші візуальні ознаки. Інерціальні вимірювальні модулі оцінюють прискорення й кутову швидкість та допомагають відстежувати швидкі переміщення між кадрами. Дані колісної одометрії корисні для наземних роботів, але накопичують похибку через проковзування та нерівності поверхні. Ультразвукові та радарні давачі застосовують у середовищах, де оптичні або лазерні вимірювання ненадійні.[5] Моделі спостережень поділяють на методи, що використовують впізнавані орієнтири, і методи, які зіставляють необроблені дані без явного виділення орієнтирів. Візуальний SLAM став поширеним завдяки доступності камер і розвитку локальних ознак, зокрема SIFT.[6] Поєднання камери з інерціальним модулем називають візуально-інерціальним SLAM; така комбінація компенсує частину слабких сторін кожного окремого давача. Вибір сенсорів залежить від освітлення, масштабу простору, швидкості руху, необхідної точності та обчислювальних обмежень системи.[7]

Реалізація

Різноманітні алгоритми SLAM реалізовані у відкритих бібліотеках Robot Operating System, які часто використовуються з Point Cloud Library для побудови 3D карт або візуальних ефектів у OpenCV.

Список методів SLAM

Список відомих реалізацій методів SLAM:

Див. також

Примітки

  1. ↑ Mountney, P.; Stoyanov, D.; Davison, A.; Yang, G-Z. (2006). Simultaneous Stereoscope Localization and Soft-Tissue Mapping for Minimal Invasive Surgery. MICCAI. 1: 347—354. doi:10.1007/11866565_43. Архів оригіналу за 12 січня 2017. Процитовано 30 липня 2010.
  2. ↑ Jaulin, L. (2009). A nonlinear set-membership approach for the localization and map building of an underwater robot using interval constraint propagation (PDF). IEEE Transactions on Robotics. Архів оригіналу (PDF) за 5 жовтня 2016. Процитовано 3 жовтня 2016.
  3. ↑ Jaulin, L. (2011). Range-only SLAM with occupancy maps; A set-membership approach (PDF). IEEE Transactions on Robotics. Архів оригіналу (PDF) за 5 жовтня 2016. Процитовано 3 жовтня 2016.
  4. ↑ Cummins, Mark; Newman, Paul (Червень 2008). FAB-MAP: Probabilistic localization and mapping in the space of appearance (PDF). The International Journal of Robotics Research. 27 (6): 647—665. doi:10.1177/0278364908090961. Архів оригіналу (PDF) за 12 травня 2014. Процитовано 23 липня 2014.
  5. ↑ Khan, Muhammad Shahzad Alam; Hussain, Danish; Naveed, Kanwal; Khan, Umar S.; Mundial, Imran Qayyum; Aqeel, Anas Bin (2022). Investigation of Widely Used SLAM Sensors Using Analytical Hierarchy Process. Journal of Sensors (англ.). 2022: 5428097. doi:10.1155/2022/5428097.{{cite journal}}: Обслуговування CS1: Сторінки з номером статті як номер сторінки (посилання) Обслуговування CS1: Сторінки із непозначеним DOI з безкоштовним доступом (посилання)
  6. ↑ Se, Stephen; Lowe, David; Little, James (2001). Vision-based mobile robot localization and mapping using scale-invariant features. IEEE International Conference on Robotics and Automation. doi:10.1109/ROBOT.2001.932909.
  7. ↑ Cadena, Cesar; Carlone, Luca; Carrillo, Henry; Latif, Yasir; Scaramuzza, Davide; Neira, José; Reid, Ian; Leonard, John J. (2016). Past, Present, and Future of Simultaneous Localization and Mapping: Toward the Robust-Perception Age. IEEE Transactions on Robotics (англ.). 32 (6): 1309—1332. doi:10.1109/TRO.2016.2624754.
  8. ↑ Zikos, Nikos; Petridis, Vassilios (2014), 6-DoF Low Dimensionality SLAM (L-SLAM), Journal of Intelligent & Robotic Systems, Springer: 1—18, doi:10.1007/s10846-014-0029-6, ISSN 0921-0296
  9. ↑ Thrun, S.; Burgard, W.; Fox, D. (2005). Probabilistic Robotics. Cambridge: The MIT Press. ISBN 0-262-20162-3.
  10. ↑ G. Klein and D. Murray (2007). Parallel Tracking and Mapping for Small AR Workspaces. International Symposium on Mixed and Augmented Reality (ISMAR). Архів оригіналу (PDF) за 6 грудня 2016. Процитовано 4 жовтня 2016.
  11. ↑ J. Engel and T. Schops and D. Cremers (2014). LSD-SLAM: Large-Scale Direct Monocular SLAM (PDF). European Conference on Computer Vision (ECCV). Архів оригіналу (PDF) за 22 жовтня 2014. Процитовано 4 жовтня 2016.
  12. ↑ 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. ISSN 1552-3098.
  13. ↑ D. Zou and P. Tan (2013). CoSLAM: Collaborative Visual SLAM in Dynamic Environments (PDF). IEEE Trans. on Pattern Analysis and Machine Intelligence. IEEE. Архів оригіналу (PDF) за 5 липня 2016. Процитовано 4 жовтня 2016. [Архівовано 5 липня 2016 у Wayback Machine.]
  14. ↑ 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.



Джерело: стаття у Вікіпедії та історія редагувань (автори).