User Tools

Site Tools


courses:ros:class6

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

courses:ros:class6 [2018/11/25 21:18]
kalishenko ↷ Page moved from start:ros:class6 to courses:ros:class6
courses:ros:class6 [2022/12/10 09:08]
Line 1: Line 1:
-==== Занятие №6. EKF SLAM и GMAPPING ==== 
  
-=== EKF SLAM === 
- 
-Суть EKF SLAM можно найти в [[https://​www.google.ru/​url?​sa=t&​rct=j&​q=&​esrc=s&​source=web&​cd=6&​ved=0ahUKEwic382PruHPAhWta5oKHcMtCMAQFghBMAU&​url=http%3A%2F%2Fcyberleninka.ru%2Farticle%2Fn%2Falgoritmy-lokalnoy-navigatsii-i-kartografii-dlya-bortovoy-sistemy-upravleniya-avtonomnogo-mobilnogo-robota.pdf&​usg=AFQjCNHed8dltJQoKbuLknbDnOtysmFqiw&​sig2=n-UGO6anREbZoyEePyWtDg&​cad=rja | статье]] 
- 
-=== gMapping === 
- 
-Общий алгоритм представлен на рисунке:​ 
-{{:​start:​ros:​снимок_экрана_от_2016-10-17_13-29-29.png|gMapping algorythm}} 
- 
-Во-первых,​ зафиксируемся некоторым "​набором выборки",​ в котором будут лежать все состояния системы за всё время. Каждое состояние - это вектор из трёх элементов:​ 
-x - положение робота 
-w - вес вектора 
-m - карта на текущий момент времени 
- 
-Итак, в полученном наборе St будет столько же элементов,​ сколько в S_(t-1), поскольку алгоритм предполагает прохождение по всем элементам набора S_(t-1), и на каждом шаге в этот набор добавляется по одному элементу. Набор St можно считать различными гипотезами о текущем положении робота. Совершенно необязательно иметь только одну гипотезу. Наоборот,​ выгоднее просчитывать несколько вариантов,​ потмоу что окружающий мир может быть фрактальным и в этом случае наличие нескольких гипотез может помочь определить реальное положение. ​ 
- 
-Теперь подробнее о том, как строится каждый элемент. Сначала к значению,​ полученному на предыдущем шаге прибавляется значение одометрии и получается x' - априорная оценка. Затем ищется argmax плотности распределения величины x в зависимости от текущего знания о карте m, текущего наблюдения z и априорной оценки x'. 
- 
-Если апостериорная оценка сильно отличается от априорной,​ то апостериорная оценка отбрасывается,​ в качестве предположения о новом положении робота выбирается случайная величина,​ распределённая как p(x| x_(t-1), u_(t-1)), то есть исключительно на основе предыдущего положения и данных одометрии. Вес наблюдения считается также тривиально. 
- 
-В случае если априорная и апостериорная оценки оказались близки,​ в качесте предположения о положении робота выбирается случайная величина,​ распределённая по нормальному закону с математическим ожиданием и дисперсией,​ посчитанными на основании выборки положений,​ построенных в окрестности апостериорной оценки. 
- 
-Вне зависимости от того, как считается x, на основании этого значения обновляется карта и новый посчитанный вектор добавляется в набор выборки. 
- 
-По завершении работы цикла высчитывается количество элементов,​ которые должно содержать St, чтобы дисперсия весов была равна единице (чтобы они были распределены по стандартному нормальному закону). Если это количество оказалось меньше,​ чем реальное значение T, то всю операцию необходимо проделать заново,​ чтобы увеличить веса построенных предположений x. 
courses/ros/class6.txt · Last modified: 2022/12/10 09:08 (external edit)