Проблема локализации мобильного робота

Post on 08-Dec-2014

221 Views

Category:

Technology

10 Downloads

Preview:

Click to see full reader

DESCRIPTION

Рассмотрены основные подходы применяемые в вероятностной робототехнике для решения задачи локализации мобильного робота.

TRANSCRIPT

Проблема локализации мобильного роботаРобошкола-2014

Андрей Антонов

robotosha.ru

10 октября 2014 г.

http://robotosha.ru

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 2 / 55

План

1 Локализация мобильного робота

2 Вероятность в робототехнике

3 Вероятностная робототехника

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 3 / 55

Локализация мобильного роботаФормулировка задачи локализации

Робот в неизвестном окружающем пространствеНеобходимо определить местоположение робота (локализоваться)

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 4 / 55

Локализация мобильного роботаФормулировка задачи локализации

Определение местоположения транспортного средства, используясистему глобального позиционирования (ГЛОНАСС, GPS,GALILEO, COMPASS)

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 5 / 55

Локализация мобильного роботаФормулировка задачи локализации

Как нам узнать где находится робот с точностью до 10см?Это и есть вопрос ЛОКАЛИЗАЦИИ

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 6 / 55

Локализация мобильного роботаЛокализация самоуправляемого автомобиля

Проведена серия испытаний(Audi TT, три Lexus RX450h, шестьToyota Prius)Автомобили с высокой интеграцией электронных систем +доп.оборудование

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 7 / 55

Локализация мобильного роботаЛокализация самоуправляемого автомобиля

Октябрь 2010г: начало испытанийАвгуст 2012г: завершено 500 тыс.миль дорожных испытанийДекабрь 2013г: 4 штата США приняли законы, позволяющиеиспользовать самоуправляемые автомобилиМай 2014г: Google планирует выпустить 100 полностьюавтономных автомобилей

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 8 / 55

Локализация мобильного роботаЛокализация самоуправляемого автомобиля

Основные подсистемы беспилотного автомобиля Google

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 9 / 55

Локализация мобильного роботаЛокализация самоуправляемого автомобиля

Что скрыто в багажнике беспилотного автомобиля Google

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 10 / 55

Локализация мобильного роботаЛокализация самоуправляемого автомобиля

Изображение с экрана контрольного дисплея, расположенного в салоне

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 11 / 55

Локализация мобильного роботаЛокализация самоуправляемого автомобиля

Технология опирается на карты дорог и местности с высокойдетализацией, что позволяет очень точно определятьместоположение автомобиля.Перед дорожными испытаниями, инженеры Google проезжалитрассу, минимум один раз, используя ручное управление исобирая данные об окружающем пространстве.При самостоятельном движении, автомобиль сравнивал текущиеданные с записанными ранее на этом пути.Это подход очень полезен для отличия пешеходов отнеподвижных объектов, таких как, например, столбы.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 12 / 55

Вероятность в робототехникеОценка движения при помощи датчиков

Одометрия.Робот оценивает движение мониторингом собственных датчиков(напряжение электродвигателя, колесные датчики и пр.)

D = KV * t

Пройденное расстояние пропорционально напряжению и времениK - рассчитывается, либо получается при помощи калибровкиКалибровка включает экспериментальное перемещение робота исравнение фактического значения пройденного расстояния созначением, полученным в результате теоретической оценки.Отношение фактического к теоретическому значениям и являетсякалибровочным коэффициентом.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 13 / 55

Вероятность в робототехникеОценка движения при помощи датчиков

Робот производит перемещение и возвращается в исходную точкуНасколько хорошо мы можем оценить движение робота,используя данные одометрии, полученной с колесных датчиков?

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 14 / 55

Вероятность в робототехникеОценка движения при помощи датчиков

Постепенный «занос движения» от идеального квадратаПричины: ошибки начального выравнивания относительно осей,пробуксовка колес, неверная калибровка, неэквивалентностьлевого/правого моторов,...Использование моторных энкодеров и синхронизация двухдвигателей улучшает ситацию, но повторяя попытку, мы несможем каждый раз получить идеальный результат

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 15 / 55

Вероятность в робототехникеОценка движения при помощи датчиков

После тщательной калибровки, робот должен, в среднем,возвращаться в стартовую точку, но разброс все еще останетсявследствие неконтролируемых факторов (переменной пробуксовкиколес, поверхности, потоков воздуха...)Устранена систематическая ошибка, то есть остались ошибки снулевым средним.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 16 / 55

Вероятность в робототехникеОценка движения при помощи датчиков

Мы можем построить вероятностную модель для ошибок снулевым средним. Для большинства случаев подходит нормальное(Гауссово) распределение.Дисперсия ошибок будет расти по мере продвижения робота.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 17 / 55

Вероятность в робототехникеМодель движения

Точное интегрирование движения, используя одометриюневозможно.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 18 / 55

Вероятность в робототехникеМодель движения

При прямолинейном движении робота на расстояние D новоесостояние будет выражено как:⎛⎝ xnew

ynew𝜃new

⎞⎠ =

⎛⎝ x + D cos 𝜃y + D sin 𝜃

𝜃

⎞⎠Если присутствует только вращательное движение, при поворотена угол 𝛼: ⎛⎝ xnew

ynew𝜃new

⎞⎠ =

⎛⎝ xy

𝜃 + 𝛼

⎞⎠

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 19 / 55

Вероятность в робототехникеНеопределенность движения

Более реальная модель учитывает, что эта «идеальная»траектория зависит от неопределенных помех («шумадвижения»).При прямолинейном движении робота на расстояние D:⎛⎝ xnew

ynew𝜃new

⎞⎠ =

⎛⎝ x + (D + e) cos 𝜃y + (D + e) sin 𝜃

𝜃 + f

⎞⎠При вращательном движении, с поворотом на угол 𝛼:⎛⎝ xnew

ynew𝜃new

⎞⎠ =

⎛⎝ xy

𝜃 + 𝛼 + g

⎞⎠e, f и g - «шумовые» составляющие с нулевым средним инормальным распределением

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 20 / 55

Вероятность в робототехникеНеопределенность движения

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

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 21 / 55

Вероятность в робототехникеДатчики: проприоцептивные и внешней среды

Проприоцептивные — показывают внутреннее состояние системы.Проприоцептивные датчики (например, моторные энкодеры илидатчики силовых воздействий) улучшают восприятие роботомсобственного внутреннего состояния и движения.Без датчиков внешней среды робот движется вслепую.

Распознавание мест и объектов, которые уже встречались ранее.Планирование движения в свободном пространстве для того,чтобы избежать столкновений с препятствиями.Взаимодействие с предметами и людьми.Создание общего представления об окружающей робота среде.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 22 / 55

Вероятность в робототехникеИзмерения проприоцептивными датчиками

Датчики собирают численные показания - измерения. Дляпроприоцептивных датчиков, измеренное значение zp являетсяфункцией только состояния робота x:

zp = zp(x)

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

x =

⎛⎝ xy𝜃

⎞⎠

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 23 / 55

Вероятность в робототехникеИзмерения проприоцептивными датчиками

Проприоцептивные измерения могут зависеть не только оттекущего состояния, а и от предыдущих состояний или текущейскорости изменения состояния. Например, колесная одометриясообщает показания в зависимости от разницы между текущим ипредыдущим состоянием. Гироскоп выдает показания взависимости от текущей скорости вращения.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 24 / 55

Вероятность в робототехникеИзмерения датчиками внешней среды

Измерения, производимые датчиками внешней среды, зависят иот состояния робота x и от состояния окружающего его мира y:

z0 = z0(x, y)

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

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 25 / 55

Вероятность в робототехникеВероятностное моделирование датчика

И движение и измерения, производимые датчиками, являютсянеопределенными. Реальные датчики не сообщают истинныхзначений измеряемых величин, они измеряют, но спогрешностями.Охарактирозовав (смоделировав) датчик и, понявнеопределенность в производимых им измерениях, мы можемпостроить вероятностную модель измерений. Это будетраспределение вероятностей (в частности, функцияправдоподобия) вида:

p(z0|x, y)

Такое распределение часто имеет колоколообразную форму

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 26 / 55

Вероятность в робототехникеФункции правдоподобия

Функция правдоподобия полностью описывает работу датчика.p(z |v) является функцией и переменных измерения z и эталона vи может быть построена в виде вероятностной поверхности.Например, для датчика расстояния:

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 27 / 55

Вероятностная робототехника

Простое управление(ТАУ), основанное на восприятии-действии,может быть эффективно при решении локальных задач, но имеетсвои ограничения для сложных проблем в реальном мире.Классические подходы ИИ, основанные на логическихрассуждениях об истинности/ложности утверждения рушатся,сталкиваясь с реальными физическими данными.Почему?

Датчики движения не поддаются непосредственному анализу, какдатчики удара и света(данные не бинарны)Вся информация, получаемая роботом, неопределенна

Вероятностный подход признает неопределенность и используетмодели для абстрагирования полезной информации, полученнойиз данных.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 28 / 55

Вероятностная робототехникаНеопределенность в робототехнике

Каждое перемещение робота неопределенно.Каждое измерение датчиком неопределенно.Каждая оценка состояния неопределенна.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 29 / 55

Вероятностная робототехникаВероятностный вывод

Каково состояние робота, и что вокруг?Априорное знание комбинируется с новыми измерениями.Взвешенный ряд комбинации старой и новой информации.Объединение данных с различных датчиков в пригодные оценки.Это составное оценочное состояние может затем использоватьсядля принятия решения о следующем шаге робота.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 30 / 55

Вероятностная робототехникаВероятностный байесовский вывод

Байесовская оценка известна из теории вероятностей как мерасубъективного доверия.Вероятности описывают наше состояние знания (не путать свероятностью случайных событий!)Совершенная концепция управления неопределенностью.Правило Байеса:

P(XZ) = P(Z|X)P(X) = P(X|Z)P(Z)

P(X|Z) =P(Z|X)P(X)

P(Z)

Здесь P(X) – априорная вероятность, P(Z|X) – правдоподобие,P(X|Z) – апостериорная вероятность. P(Z) иногда называютмаргинальным правдоподобием.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 31 / 55

Вероятностная робототехникаДискретные и непрерывные распределения вероятностей

Непрерывная функция плотности вероятности p(x) являетсяпредельным случаем, когда ширина ячеек столбчатойгистограммы стремится к нулю.

Вероятность того, что непрерывный параметр лежит в диапазонеот a до b, определяется площадью под кривой:

Pa→b =

b∫︁a

p(x) dx

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 32 / 55

Вероятностная робототехникаПредставление вероятностей: гауссианы

p(x) =1√2𝜋𝜎

e−(x−𝜇)2

2𝜎2

Очень часто неопределенность в датчике очень хорошопредставляется нормальными распределениями.Широкий априорный гауссиан, умноженный на кривуюправдоподобия, в результате, дает апостериорную плотностьвероятности, которая более «точная» чем и первая и вторая.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 33 / 55

Вероятностная робототехникаПредставление вероятностей: частицы

Здесь распределение вероятностей представлено конечным рядомвзвешенных экземпляров состояния {xi ,wi}, где

∑︀i wi = 1.

Большим преимуществом является способность представлятьмультимодальные распределения (с более чем одним пиком) внеоднозначных ситуациях.Слабая способность представления детализованную формураспределения для малого числа частиц.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 34 / 55

Вероятностная робототехникаВероятностная локализация

Робот имеет карту окружающей среды заранее.Неопределенным является только местоположение робота.

Робот сохраняет и обновляет распределение вероятностей,представляющее его оценку неопределенности местоположения.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 35 / 55

Вероятностная робототехникаЛокализация Монте-Карло (фильтр частиц)

Облако частиц представляет неопределенность состояния робота.Большее число частиц означает большую вероятность.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 36 / 55

Вероятностная робототехникаРаспределение частиц

Частица представляет из себя оценочную точку xi состояния(положения) робота с весом wi

xi =

⎛⎝ xiyi𝜃i

⎞⎠Все множество частиц:

{xi ,wi}для i = 1 до N. Типичное значение для N = 100.Все веса в сумме должны давать единицу. Если это так, тораспределение называют нормализованным:

N∑︁i=1

wi = 1

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 37 / 55

Вероятностная робототехникаНепрерывная и глобальная локализация

Непрерывная локализация представляет собой задачу слежения.При данной хорошей оценке местоположения робота на последнемвеременном шаге и некоторых новых измерениях, оценить егоновое местоположение.Глобальная локализация. Внешнее окружение известно, номестоположение робота полностью неопределенно.

Используя локализацию Монте-Карло, мы решаем обе эти проблемыодним и тем же способом, но изначальное множество частицполучается различными путями.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 38 / 55

Вероятностная робототехникаНепрерывная и глобальная локализация

Инициализация непрерывной локализации, используя известноеположение робота: состояния всех частиц равны одному и томуже значению. Все веса равны. Результат «точен», полностьюопределенная оценка местоположения робота.

x1 = x2 = · · · = xN = xinit ;w1 = w2 = · · · = wN = 1/N

Инициализация в глобальной локализации: состояние каждойчастицы должно быть выбрано случайным образом из всехвозможных положений в окружающей среде. Все веса равны.x1 = случайное число ; w1 = w2 = · · · = wN = 1/N

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 39 / 55

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

Мы можем оценить текущее положение и ориентацию робота,взяв среднее всех частиц:

x̄ =N∑︁i=1

wixj

то есть среднее компонент x , y и theta вычисляется отдельно исохраняется в x̄Теперь робот может планировать навигацию типа: из точки A вточку B .

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 40 / 55

Вероятностная робототехникаАлгоритм фильтра частиц

Эти шаги повторяются, как только робот немного перемещается ипроизводит измерения:

Предсказание движения, основанное на проприоцептивныхдатчиках.Обновление измерения, основанное на датчиках внешней среды.Нормализация.Повторная выборка.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 41 / 55

Вероятностная робототехникаПредсказание движения

Неопределенность растет из-за неточности движения.Если робот совершает движение, распределение частиц приводитк сдвигу среднего положения, а также к «размытию».Мы достигаем этого, пропуская состояние каждой частицы черезфункцию, имеющую детерминированную составляющую ислучайную компоненту.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 42 / 55

Вероятностная робототехникаПредсказание движения

При прямолинейном движении робота на расстояние D:⎛⎝ xnewynew𝜃new

⎞⎠ =

⎛⎝ x + (D + e) cos 𝜃y + (D + e) sin 𝜃

𝜃 + f

⎞⎠При вращательном движении, с поворотом на угол 𝛼:⎛⎝ xnew

ynew𝜃new

⎞⎠ =

⎛⎝ xy

𝜃 + 𝛼 + g

⎞⎠e, f и g - «шумовые» составляющие с нулевым средним, то естьслучайные величины, обычно с нормальным распределениемСледим за тем, чтобы значения 𝜃 лежали в диапазоне от 0∘ до360∘.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 43 / 55

Вероятностная робототехникаИзображение множества частиц

Мы можем визуализировать множество частиц, построивкоординаты x и y в виде набора точек. Сложнее визуализироватьраспределение углов 𝜃 (возможно со стрелками?), но мы можемполучить основную идею, только используя линейныесоставляющие.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 44 / 55

Вероятностная робототехникаОбновление измерения

Обновление измерения состоит из применения правила Байеса ккаждой частице.

P(X|Z) =P(Z|X)P(X)

P(Z)

При получении измерения z мы обновляем весовой коэффициенткаждой частицы следующим образом:

wi(new) = P(z |xi ) × wi

вспомнив, что знаменатель в правиле Байеса является постояннойсоставляющей, которую мы не должны вычислять, так как принормализации она будет удалена.P(z |xi ) является правдоподобием частицы i , то естьвероятностью получения измерения z , представляющего из себяистинное состояние.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 45 / 55

Вероятностная робототехникаФункция правдоподобия

Функция правдоподобия полностью описывает сенсор.Форма функции распределения получается из вероятностноймодели сенсора внешней среды.Имея калиброванный датчик и понимая неопределенность в егоизмерениях, мы можем построить вероятностную модельизмерения его работы. Это будет распределение вероятностей (вчастности, функция правдоподобия) вида:

P(z |xi )

Такое распределение часто имеет форму гауссиана.Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 46 / 55

Вероятностная робототехникаОбновление измерения: ультразвуковой датчик

Если робот находится в положении (x , y , 𝜃), то расстояние от негодо бесконечной стены получается из координат (Ax ,Ay ) и(Bx ,By ):

m =(By − Ay )(Ax − x) − (Bx − Ax)(Ay − y)

(By − Ay ) cos 𝜃 − (Bx − Ax) sin 𝜃

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 47 / 55

Вероятностная робототехникаОбновление измерения: ультразвуковой датчик

Координаты точки, в которой вектор встретится со стеной:(︂x + m cos 𝜃y + m sin 𝜃

)︂С помощью этого выражения можно проверить, что сонарпопадает в границы стены.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 48 / 55

Вероятностная робототехникаПравдоподобие для обновления сонара

Правдоподобие должно зависеть от разности z −m. Если разницамала, то правдоподобие подтверждает частицу, если велика, то неподтверждает и ослабляет ее.Нормальное распределение хорошо подходит для этого:стандартное отклонение зависит от неопределенности сонара.Разница между обновлением измерения и предсказаниемдвижения. В первом случае выборка делалась случайным образомиз нормального распределения, перемещая каждую частицу ненасколько отличающуюся величину. В обновлении измерения мыпросто берем значения нормального распределения дляполучения правдоподобия для каждой частицы.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 49 / 55

Вероятностная робототехникаРобастное правдоподобие для ультразвукового датчика

Функция правдоподобия для ультразвукового датчика говорит,какова вероятность получения измерения z датчиком, учитывая,что истинное ожидаемое значение m

Это рапределение имеет форму узкой гауссовой кривой вокругожидаемого значения плюс постоянный уровень, представляющийфиксированный процент «мусорных измерений».Такая функция влияет на локализацию Монте-Карло тем, чтофильтр менее агрессивен в «убийстве» частиц, которые «несогласны» с результатами измерений. Случайные мусорныеизмерения не приводят к внезапной смерти всех частиц в хорошейпозиции.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 50 / 55

Вероятностная робототехникаРобастное правдоподобие для ультразвукового датчика

p(z |m) ∝ e−(z−m)2

2𝜎2s + K

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 51 / 55

Вероятностная робототехникаНормализация

Веса всех частиц должны быть отмасштабированы такимобразом, чтобы в сумме давать единицу.Вычисляется сумма всех wi и на нее делятся все существующиевеса:

wi(new) =wi

N∑︀i=1

wi

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 52 / 55

Вероятностная робототехникаПовторная выборка

Повторная выборка заключается в генерации нового множества изN частиц, имеющих равные веса 1/N, но его распределение впространстве теперь отражает плотность вероятности.Для создания каждой из N новых частиц, мы копируем состояниепредыдущего множества с вероятностью в соответствующей весучастиц.Это лучше всего достигается путем создания накопленногораспределения вероятностей частиц, генерацией случайного числамежду в диапазоне от 0 до 1, а затем выбирая частицы, чьинакопленные вероятности совпадают с этим числом.В целях повышения эффективности работы алгоритма, шагнормализации можно пропустить и делать повторную выборкупрямо из ненормализованного распределения.

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 53 / 55

Вероятностная робототехникаИтог

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 54 / 55

Благодарю за внимание!

Андрей Антонов (robotosha.ru) Локализация мобильного робота 10 октября 2014 г. 55 / 55

top related