Использование модифицированного алгоритма а* в задаче управления манипулятором

Решетневскце чтения

более применимым в системах технического зрения является приближение с помощью сплайнов.

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

хорошие показатели по используемым метрикам, при этом заполнение пропущенных областей визуально легко различимо.

Библиографические ссылки

1. Ларионов И. Б. Алгоритмы предварительной обработки графических объектов со статическими пропусками в системах технического зрения : авто-реф. дис. ... канд. техн. наук. Уфа, 2011.

2. Россиев А. А. Итерационное моделирование данных с пробелами многообразиями малой размерности, автореф. дис. ... канд. физ.-мат. наук. Красноярск, 2000.

3. Kohonen T. Self-Organizing Maps. Berlin ; Heidelberg : Springer, 1997.

I. B. Larionov

Omsk State University named after F. M. Dostoevsky, Russia, Tomsk GAP-FILLING ALGORITHMS FOR GRAPHIC OBJECTS

Gap-filling algorithms using bi-cubic splines, multidimensional manifolds and self-organizing maps are described.

© Ларионов И. Б., 2012

УДК 004.021

А. С. Лисица

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Россия, Красноярск

ИСПОЛЬЗОВАНИЕ МОДИФИЦИРОВАННОГО АЛГОРИТМА А* В ЗАДАЧЕ УПРАВЛЕНИЯ МАНИПУЛЯТОРОМ

Рассмотрена модификация алгоритма А * для планирования пути манипуляционного робота в среде с запрещенными конфигурациями и несколькими целевыми точками.

При управлении манипуляционным роботом типичной является следующая задача: манипуляцион-ный робот должен выдвинуться из стартовой конфигурации и, двигаясь в среде с препятствиями за конечное число шагов, обеспечить захват объекта в какой-либо разрешенной конфигурации [1]. Таким образом, возникает задача планирования пути из стартовой точки в одну из множества целевых, при этом путь не должен налегать на запрещенные точки. Для решения этой задачи требуется подобрать алгоритм, отвечающий следующим критериям:

- алгоритм должен быть применим к «-мерному конфигурационному пространству;

- он должен за конечное число шагов находить путь от стартовой точки к хотя бы одной целевой;

- исполнение алгоритма должно осуществляться за приемлемое время.

В [2] рассмотрен алгоритм А* для планирования пути в одну целевую точку в среде без препятствий.

В модифицированном алгоритме А* запрещенные конфигурации предстают совокупностью запрещенных точек, а различные конфигурации, удовлетворяющие условию захвата объекта (объект может быть захвачен в различных конфигурациях), - совокупностью целевых точек.

Алгоритм работает с «-мерным пространством и за конечное число шагов находит путь от стартовой точки до целевой либо обнаруживает, что такого пути не существует.

Модифицированный алгоритм А* применяет эвристическую функцию для оценки расстояния до целевой точки, которая в то же время не должна переоценивать расстояние между двумя точками.

В качестве такого расстояния мы будем рассматривать расстояние Чебышева между точками А и В, которое вычисляется как г(А, В) = тт(Ах - Вх\, \АУ — Ву\), так как именно оно показывает количество шагов по вертикали, горизонтали или диагонали, необходи-

Информационные системы и технологии

мых для достижения целевой точки. В алгоритме используется функция Ах) = h(x) + г(х), где h(x) - расстояние Чебышева от текущей точки до ближайшей из целевых; г(х) - текущий шаг алгоритма, т. е. сумма весов пройденных ребер.

Модифицированный алгоритм А* работает следующим образом.

Шаг 1. Из каждой свободной точки конфигурационного пространства в каждую соседнюю свободную точку проведем ребро и назначим ему вес. Таким образом получим нагруженный граф, вершинами которого являются свободные точки, а вес ребра определяется как Ь для соседних вершин по горизонтали и вертикали и как 1,4Ь для диагональных вершин, где Ь - цена деления клетки (шаг).

Шаг 2. Создадим два списка вершин: «Открыт» и «Закрыт». В первый из них поместим стартовую вершину.

Шаг 3. Если список «Открыт» пуст, то на выход подается сигнал о неудаче. В противном случае переходим к следующему шагу.

Шаг 4. Возьмем из списка «Открыт» ту вершину, для которой значений функции Ах) наименьшее, и поместим ее в список «Закрыт». Дадим этой вершине имя п. В случае совпадения значений Ах) для нескольких вершин можно выбрать вершину с минимальным А(х) произвольно, но всегда необходимо отдавать предпочтение целевой вершине.

Шаг 5. Если п - любая из целевых вершин, то на выход подадим решающий путь, получаемый прослеживанием соответствующих указателей вершин на свою родительскую вершину. В противном случае переходим к следующему шагу.

Шаг 6. Раскроем вершину п, построив все непосредственно следующие за ней дочерние вершины. Если таких вершин не оказалось, то переходим к шагу 3. Для каждой дочерней вершины щ вычислим значение Ащ).

Шаг 7. Свяжем с теми из вершин n, которых еще нет в списках «Открыт» или «Закрыт», только что подсчитанные значения f(n,). Поместим эти вершины в список «Открыт» и проведем от них к вершине n указатели.

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

Шаг 9. Переходим к шагу 3.

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

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

В среде с известными запрещенными состояниями алгоритм работает за приемлемое время, например при размере поля 10*10 точек в среднем за 15 мс.

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

Библиографические ссылки

1. Ильин В. А., Лопатин П. К. Манипуляционные роботы: Кинематика. Динамика. Управление / Сиб. гос. аэркосмич. ун-т. Красноярск, 2005.

2. Нильсон Н. Искусственный интеллект. М. : Мир, 1973.

A. S. Lisitsa

Siberian State Aerospace University named after academician M. F. Reshetnev, Russia, Krasnoyarsk

USING A MODIFIED ALGORITHM A* IN A PROBLEM OF A MANIPULATOR CONTROL

A modification of the algorithm A * for planning a path for a manipulator in an environment with forbidden configurations and multiple target point is presented.

© Лисица А. С., 2012