Разработка и анализ методов восстановления карты проходимости на основе показаний датчиков измерения расстояния (1187419), страница 4
Текст из файла (страница 4)
Таким образомдля каждого из столбов определяется геометрическое место точек, в которыхон детектируется сонаром. Пример подобной спецификации приведен в [14]. Вэтой работе мы обобщаем данное представление чувствительности сонара.25Диаграммой чувствительности сонара назовем функцию (, ), определённую следующим образом: для каждой точки (, ) в системе координат сонара (, ) задает минимальную площадь препятствия , которое обнаруживается датчиком в этой точке.
Для реального сонара диаграмма чувствительности(, ) может быть построена эмпирически, либо приближенно на основе спецификации. В этой работе диаграмма чувствительности (, ) была построенана основе [14].Теперь опишем, каким образом находятся веса , при известной диаграмме чувствительности (, ). Пусть площадь одной клетки равна . Тогда длярасчёта весов и порога ℎℎ можно использовать следующий алгоритм:1. Сначала происходит расчет предварительных весов: для каждой переменной выбирается вес(︃0 = min)︃,1(, )(3.8)То есть вес равен отношению площади клетки к минимальной обнаруживаемой сонаром площади (, )в точке (, ), но всё же если площадьячейки больше, чем эта минимальная площадь, то вес 0 берется равным1. Можно сказать, что сонар обнаружит препятствие в области Ω, если∑︀ = ∈Ω будет не меньше 1.2.
Чтобы значения функций и были заключены между 0 и 1, необходимо чтобы принимала значения от 0 до 1. Для этого мы проводимнормировку = ∑︀00: ∈Ω Тогда порог ℎℎ берётся равным(3.9)26ℎℎ = ∑︀10: ∈Ω (3.10)В алгоритме 3 приводится псевдокод функции вычисления весов.Алгоритм 3: Алгоритм вычисления весовData: -наблюдение, (, ) и - диаграмма чувствительности иплощадь одной клетки карты#» , #» , , ), где #» , #» - вектора весовResult: ( переменных в соответствии с наблюдением , , пороговые значенияfor al ∈ { , } do#» = #»0; #» = #»0; = 0;for all in Ω do(︃#» [ ] = min(,) , 1)︃;#» [ ]; += end = 1 ;for all in Ω do#» [ ] = #» [ ] ;endendТеперь у нас есть все составляющие алгоритма, восстанавливающего картупроходимости.273.2.
Алгоритм картирования методом градиентного спускаДля восстановления карты проходимости минимизируется Ψ(, ) (3.2),используя метод градиентного спуска. Обратим внимание, что все наши рассуждения о модели сонаров касались карт проходимости, в которых переменные принимают только значения 0 или 1.
Оптимизация без ограничений может привести к значительным искажениям карты проходимости, когда принимаютзначения больше 1 или меньше 0. Поэтому, вводятся дополнительные членырегуляризации в Ψ(, ), ограничивающие значения переменных между 0 и1. Похожий способ борьбы с артефактами может быть найден, например, в [15].Чтобы заключить значения проходимости клеток карты между 0 и 1 вводится следующая регуляризация (1 > 0)⎧⎪⎪⎪1 ( − 1), > 1⎪⎪⎨1 ( ) = 0, ∈ [0, 1]⎪⎪⎪⎪⎪⎩−1 , < 0(3.11)Ещё одно регуляризационное слагаемое, которое штрафует за близость значения переменной к 0.5, вводится для того, чтобы принимали значения ближек 0 или 1 (2 > 0)⎧⎪⎪⎪2 , ∈ [0, 0.5]⎪⎪⎨2 ( ) = 2 (1 − ), ∈ [0.5, 1]⎪⎪⎪⎪⎪⎩0,иначеТаким образом, получаем регуляризацию(3.12)28 ( ) = 1 ( ) + 2 ( ) =⎧⎪⎪1 ( − 1), > 1⎪⎪⎪⎪⎪⎪⎨2 , ∈ [0, 0.5](3.13)⎪⎪2 (1 − ), ∈ [0.5, 1]⎪⎪⎪⎪⎪⎪⎩−1 , < 0Доопределим производные для всех и ( ) = ()=0 (0) = (1) = (0.5) = 0(3.14)Предположим что начальное приближение 0 такое, что все = 0.5,тогда из-за (0.5)= 0, соответствующие тех клеток, которые не попаливнутрь диаграммы направленности ни одного сонара, останутся равны 0.5.Таким образом, задача построения оптимальной карты переходит в следующую задачу минимизации(︃* () = argmin)︃∑︁ ( ) +∑︁( + )(3.15): ∈В работе предложенный алгоритм использовался только для обработкиуже собранных данных.
Скорость работы алгоритма позволяет использоватьего в режиме реального времени, однако для работы в таком режиме (и дляработы в течение неограниченного времени) необходимо осуществлять фильтрацию измерений, например, используя подходы из 2.3.29Глава 4Эксперименты и результаты4.1. Генерация синтетических данных с помощью прямоймоделиДля исследования свойств методов восстановления карты проходимостинеобходим богатый набор наблюдений сонаров.
Эти данные также позволятпроводить сравнение результатов работы разработанных алгоритмов при одних и тех же сценариях. Однако процесс сбора наблюдений реального роботапредставляет трудности:∙ Необходимо знать положение робота в каждый момент времени, и следовательно сбор таких наблюдений требуется проводить на специальном полигоне, или иметь в распоряжении инструменты, которые позволят определять положение робота с требуемыми быстротой и точностью. Ясно, чтоэто не всегда возможно.∙ Свойства сонара могут сильно отличаться в зависимости от окружения,поэтому для полноты исследования того или иного метода картированиятребуется возможность проводить эксперименты в различных условиях.На реальном роботе это далеко не всегда возможно.В этой работе предлагается простой метод, который позволяет быстро получать эксперементальные синтетические данные.
Ядром этого метода являетсяпрямая модель сонара, описанная в 1.2.2.На вход алгоритму подаётся некоторая карта проходимости с заданныммасштабом, которая может быть задана в формате картинки, где белый пиксель соответствует свободной от препятствий клетке, а черный - непроходимой30клетке. Затем остается только задать траекторию движения робота и параметры прямой модели сонара (1.13). Варьируя эти параметры, можно моделироватьразличные сценарии работы сонара.
При заданных параметрах прямой модели( , ℎ ) и положении робота (, , ) измерение сонара моделируется следующим образом:∙ С вероятностью выдается случайное значение дальности, распределенное равномерно на [ , ], иначе выполняется переход к следующему шагу.∙ Находим в области видимости ближайшую нерассмотренную занятую клетку. С вероятностью ℎ эта клетка считается замеченной сонаром, дистанция от сонара до неё с нормальным шумом выдается в качестве измерения.∙ С вероятностью 1 − ℎ занятая клетка считается незамеченной сонаром,она помечается как рассмотренная и алгоритм возвращается к предыдущему шагу.∙ Если все препятствия остались незамеченными, то выдается максимальное измерение .Таким образом, наш метод решает указанные выше проблемы и позволяетбыстро создать необходимый массив наблюдений сонаров с известными намсвойствами.4.2.
Детали реализации4.2.1. Расположене сонаров во время экспериментовНа рисунке 4.1 показано расположение сонаров во время экспериментов сиспользованием синтетических (слева) и реальных (справа) данных. В экспериментах на синтетических данных с каждой стороны робота (слева и справа)31располагаются по три сонара, при этом крайние датчики развернуты от центрального под углом в 30 градусов. На реальном роботе в передней части расположены четыре сонара, два крайних сонара развернуты от центральных подуглом 45 градусов.Рис.
4.1. Расположение сонаров на роботе для эксперимента с использованием синтетических(слева) и реальных (справа) данных.4.2.2. Диаграмма направленности сонараРеальная диаграмма направленности представлена в [14]. В работе предполагается, что область видимости сонара является выпуклым многоугольником,заданный множеством координат своих вершин = {( , )}, упорядоченных таким образом, что контур, который они образуют, является правильноориентированной кривой. Тогда алгоритм определения того, лежит ли точка = ( , ) внутри луча сенсора выглядит следующим образом1.
пусть нужно проверить лежит ли точка внутри области видимости сонара2. для каждой вершины из ∈ , кроме первой 0 , обозначив за = − 032и = − , по порядку проверяем выполнение следующего условия − ≥ 0(4.1)Если условие выше выполняется, продолжаем проверку. Не выполнениеэтого условия означает, что точка не принадлежит области видимостидатчика.3. На последнем шаге проверяем (4.1), считая что = 0 − и = − Приближение формы луча использованной в работе приведена на рисунке4.2Рис.
4.2. Приближение диаграммы направленности сонаров, использованных в экспериментах.4.2.3. Диаграмма чувствительности сонараДиаграмма чувствительности (, ), которая используется в алгоритме,описанном в главе 3, была получена из [14]. Вследствии дискретности картыпроходимости, можно дискретизировать функцию (, ).Рассмотрим пару (Ω, ), где Ω - некоторая область, а - минимальнаяплощадь препятствия, которое обнаруживается сонаром в этой области. Такимобразом, (, ) можно представить как множество пар ˜ = {(Ω , )}.
Будем33считать, что Ω может быть представлена таким же образом, как и диаграмманаправленности. В зависимости от масштаба карты, можно строить различныеприближения ˜ для диаграммы чувствительности (, ). На рисунке 4.4 можноувидеть ˜, которое используется в работе.4.2.4. Обратная модель сонараНа рисунке 4.3 показана обратная модель сонара используемая в экспериментах. По горизонтальной оси отложено - расстояние между сонаром иклеткой, по вертикальной - ( |), считая, что наблюдение сонара = 0.5.Рис. 4.3.
Обратная модель сонара используемая в экспериментах. По горизонтальной осиотложено - расстояние между сонаром и клеткой, по вертикальной - ( |), считая,что = 0.5.4.3. РезультатыВ этой части главы описаны результаты проведенных экспериментов нареальных и синтетических наблюдениях. Полученные в результате карты проходимости сравниваются с результатами картирования методом, основанным34на обратной модели сонара. На приложенных рисунках белые пиксели соответствуют свободным клеткам, черные - занятым. В приложении можно найтиостальные результаты работы алгоритмов на реальных и синтетических данных.4.3.1.
Картирование методом градиентного спускаДиаграмма чувствительности сонара, использованная в численных экспериментах, приведена на рисунке 4.4. Области Ω и Ω определяются следующим образом: область Ω содержит все точки области видимости сонара,расстояние до которых лежит в диапазоне [ − Δ, + Δ]. Область Ω содержит все точки луча сонара, расстояние до которых меньше − Δ.Рис. 4.1. Территории, на которых проводилось картирование (слева – искусственная территория, справа – реальная территория).Оба метода для каждой клетки карты оценивают число, принадлежащееотрезку [0, 1], и выражающее степень занятости клетки.