ISSN 1992-6502 (P ri nt)_
2014. Т. 18, № 1 (62). С. 198-203
Ъыьмт QjrAQnQj
ISSN 2225-2789 (Online) http://journal.ugatu.ac.ru
УДК 519.713
Модифицированный алгоритм полного перебора
в задаче управления манипуляционным роботом в неизвестной среде
П. К. Лопатин
efa14@yandex.ru
ФГБОУ ВПО «Сибирский государственный аэрокосмический университет им. акад. М. Ф. Решетнева» (СибГАУ)
Поступила в редакцию 22.06.2013
Аннотация. Рассматривается алгоритм управления п-звенным манипуляционным роботом (МР) в среде с неизвестными статическими препятствиями. Алгоритм сводится к решению конечного числа задач ПИ планирования пути в среде с уже обнаруженными, а потому известными запрещенными состояниями с последующим исполнением пути. Приведен алгоритм решения задачи ПИ. Доказана теорема, утверждающая, что этот алгоритм решит задачу ПИ за конечное число шагов.
Ключевые слова: робот; неизвестная среда; препятствия; достижимость.
При управлении манипуляционным роботом (МР) типичной является следующая задача: МР должен выдвинуться из стартовой конфигурации ^ и захватить своим схватом некоторый объект ОЬ) При этом часто ОЬ) может быть захвачен не в одной, а во многих целевых конфигурациях дгг. Целевые конфигурации объединяются в целевое множество ВТ. Множество Вг имеет произвольный вид. Будем считать, что Вг не пополняется в течение всего времени движения МР. Считаем также, что координаты каждой точки из Вг известны и определены достоверно.
МР представляется в пространстве конфигураций (пространстве обобщенных координат) как точка. Функционирование МР должно происходить в пределах ограниченной области X конфигурационного пространства. Будем считать, что область X имеет такой вид, что для любого деХ выполняются неравенства:
а1 <д <а2, (1)
где а1 = (а/, а2ап1) - вектор нижних ограничений на значения обобщенных координат, 2 / 2 2 2\ а =(а1 ,а2 ,...а„ ) - вектор верхних ограничений
на значения обобщенных координат, д = (д1,д2, п) - вектор обобщенных координат МР. Таким образом, область X представляет собой гиперпараллелепипед. При этом:
1) точки, находящиеся вне (1), квалифицируются как запрещенные;
2) внутри X также могут присутствовать запрещенные состояния, которые можно вычислить заранее, например, это те состояния (кон-
фигурации), в которых происходит недопустимое взаимопересечение звеньев.
Кроме того, запрещенной является та конфигурация, в которой МР налегает на препятствия. В условиях неизвестной среды все такие конфигурации вычислить заранее невозможно. Перед началом движения информации о запрещенных состояниях в Х нет или она неполна. Точки из Х, про которые нет достоверной информации о том, что они запрещенные, считаем разрешенными.
Рассмотрим теперь точки из Вг. Достижимой точкой д' еВг будем считать только ту точку, которая удовлетворяет следующим двум критериям: 1) она не является запрещенной, 2) в нее можно попасть за конечное число шагов из д0, двигаясь в Х по разрешенным состояниям. Точки из Вг, не удовлетворяющие хотя бы одному из двух таких критериев, считаем недостижимыми. Теперь сформулируем следующую Задачу управления МР в неизвестной статической среде: даны стартовая конфигурация МР ^ и целевое множество Вг. Требуется предложить алгоритм, который за конечное число шагов либо передвинет МР из ^ в хотя бы одно достижимое состояние из множества ВТ, либо выдаст обоснованный ответ о том, что ни одно состояние из целевого множества ВТ не является достижимым.
ВВОДНЫЕ ЗАМЕЧАНИЯ
Если предположить, что Вг состоит из конечного числа точек (д/, д2 , ... д^) , то для решения Задачи можно применять различные ал-
горитмы управления МР в неизвестной и известной средах. Большинство исследователей предлагают использовать графовые алгоритмы. Однако эти алгоритмы имеют одно общее свойство, которое затрудняет их применение для неизвестной среды, заключающееся в том, что они в том или ином объеме требуют осуществлять поиск в ширину, иначе не гарантируется достижение цели [1]. Но при поиске в ширину часто возникает следующая ситуация: предположим, что мы только что закончили рассмотрение вершин, соседних к вершине д, и теперь нам надо рассматривать вершины, соседние вершине д', и вершины д и не являются соседними. Для того чтобы рассмотреть вершины, соседние к д', МР должен сначала физически передвинуться в д'. Вследствие этого общая сумма передвижений МР становится очень большой.
В соответствии с классификацией [2], одним из представителей алгоритмов поиска в ширину является алгоритм полного перебора. Но в нашем случае он будет использоваться не для неизвестной среды, а как подпрограмма планирования пути в среде с известными запрещенными состояниями. В случае, когда мы планируем путь в известной среде, компьютер просто переключает свое «внимание» от точки д к точке д', которые хранятся в памяти компьютера. Данное обстоятельство открывает перспективы к снижению числа механических перемещений. Подробный обзор подходов к управлению МР в неизвестной среде проведен в [3].
ПРЕДВАРИТЕЛЬНЫЕ УСЛОВИЯ
1. На множестве X вводим дискретизацию, то есть накладываем на X сетку, и впредь будем рассматривать только точки, лежащие на узлах сетки. В силу введенной дискретизации число точек в X является конечным.
2. В силу введенной дискретизации число ЫБт точек д7т, образующих множество Вт, будет конечным. В дальнейшем Вт будем рассматривать как список конфигураций , 7—1,..., ЫВт. Считаем, что Вт не пополняется и потому ЫВт не увеличивается. Считаем, что координаты каждой точки из Вт определяются достоверно.
3. Считаем, что у нас есть программная процедура ПИ , 2АРЯ, X), которая решает задачу ПИ (планирования пути в среде с известными запрещенными состояниями). Задачу ПИ сформулируем следующим образом: за конечное число шагов либо найти путь из д" в дт, ни одной своей точкой не совпадающий ни с одной точкой из множества 2АРЯ и целиком лежащий в X - в случае, если хотя бы один такой путь
существует, либо, если ни одного такого пути нет, обнаружить это. Алгоритм для процедуры ПИ() сформулирован в настоящей статье. Поскольку ПИ() будет вызываться в момент, когда МР будет находиться в "=0,1,2,..., то ^ всегда будет разрешенной. Поскольку на момент вызова ПИ() еще нет информации - является ^ запрещенной или нет, то при вызове ПИ() дт считается разрешенной. 2АРЯ - это множество (список) всех обнаруженных на момент вызова ПИ() запрещенных точек, поэтому их координаты известны. X - гиперпараллелепипед, определенный (1). Путь - это последовательность точек
с 1 " 2 3 т тл "
, д , д , ..., д }, исходящая из д и приводящая в дт. Для каждой точки ] = 2, 3, ..., т пути выполняется правило: предшествующая ей точка пути 4'1, j = 1, 2, ..., т-1 отстоит от ^ не более, чем на один дискрет (см. рис. 1). В случае, если процедуре ПИ() удается спланировать путь, она возвращает 1, в противном случае - 0.
4. Расположение и количество препятствий внутри рабочей зоны МР остается неизменным в течение всего времени движения МР.
5. Все движение, в том числе и результирующий путь, должно происходить в гиперпараллелепипеде (1).
Рис. 1. Каждая последующая точка в пути ^-В-СО-^ отстоит от предыдущей не более чем на один дискрет
6. МР имеет сенсорную систему (СС), которая доставляет информацию об г-окрестности текущей точки МР qeX. Текущая точка МР -это та точка, в которой МР в настоящий момент находится.
Под г-окрестностью д понимаем множество точек, соседних к д и отстоящих от д не более, чем на один дискрет. Рис. 2 иллюстрирует рас-
МАТЕМАТИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
Процедура2(ф
1 СС доставляет информацию о У2^), Q(q).
2 7/ @Вт^Ъ)ПВт*0) /*то есть если поступила информация о том, что какие-то конфигурации из Вт являются запрещенными, произвести выброс запрещенных точек из Вт*/ ЫВт: =Процедура1(Вт, N Вт ^^)); в"ё7/
3 гвШт^щ);
4 Конец Процедуры2()
200
положение соседних точек (А, В, С, О, Е, Е, О, Н) к точке д в двухмерном конфигурационном пространстве.
±12
г C с D E
> t B J k q ( ) F
t г ) A N ( H ) G
\ J )
41
Рис. 2. Точки А-Н образуют г-окрестность точки q в 2-мерном дискретизированном конфигурационном пространстве
Число соседних точек равно 3" - 1, где " -размерность конфигурационного пространства.
Множество всех точек, входящих в г-ок-рестность точки обозначаем У(д) (в двухмерном конфигурационном пространстве У(д) будет состоять из 8 точек А-Н). Слова «доставляет информацию об г-окрестности точки д» означают, что относительно каждой точки из У(д) ее СС определяет, является ли она разрешенной или запрещенной, при этом все запрещенные точки из У(д) заносятся в множество Q(q), а все разрешенные точки из У(д) заносятся в множество
Устройство СС в данной работе не рассматривается.
7. Считаем, что у нас есть программная Процедура1(Вт, ЫВт, 2АРЯ). Процедура1(Вт, ЫВт, 2АРЯ) получает при вызове множество Вт, количество ЫВт точек в множестве Вт, множество 2АРЯ запрещенных точек. Процедура1(Вт, ЫВт, 2АРЯ) выбрасывает из Вт те точки, которые совпадают с точками из 2АРЯ. После выброса оставшиеся точки в Вт перенумеровываются сплошной нумерацией начиная с 1 и в ЫВт записывается число точек, оставшихся в Вт после исполнения Процедуры1(Вт, ЫВт, 2АРЯ).
8. Считаем, что у нас есть программная Процедура2(д). Процедура2(д) работает в соответствии со следующим псевдокодом:
9. Исполнение пути происходит следующим
образом. МР находится в текущей точке д и,
*
если следующая точка д пути не является запрещенной, то МР переходит в д . В противном случае в д МР не переходит.
АЛГОРИТМ ДЛЯ НЕИЗВЕСТНОЙ СРЕДЫ
Перед началом движения МР находится в д0. ^ - это текущая конфигурация МР, то есть
конфигурация, в которой МР в настоящий мо"
мент находится. " - номер точки смены пути д , "=0, 1, 2, ... Перед началом движения "=0,
Алгоритм1 получает значения в формате:
Алгоритм1(^, дт) и посвящен выяснению вот
проса о том, является ли точка д достижимой из
С V
д в неизвестной среде.
Алгоритм1{цсqT)
1 " С q = q.
2 /*Запускаем СС и модифицируем Вт*/ ^т:=Процедура2^");
3 /*если в 2((С) есть конфигурации, в которых может быть захвачен ОЦ*/ 7/ (1Вт:=1(а")№т?00) перейти в первую такую конфигурацию из Вт;
n с 0
q = q =q .
Алгоритм
1 n:=0; while (NbT£0)
2 В качестве qT выбираем первую точку из BT
3 if (объект захвачен:= Алгоритм1{^qT) =ДА) сообщить о том, что Obj захвачен в конфигурации qT ; go to 6 ; endif
4 endwhile
5 Сообщить о том, что Obj не может быть захвачен
6 Конец Алгоритма
объект захвачен:=ДА; return (объект захвачен); endif
4 /*Если qT оказалась выброшенной из BT, то в качестве qT надо назначать другую точку*/ if(qT0BT) объект захвачен:=НЕТ; return (объект захвачен); endif
5 /* Здесь осуществляется попытка планирования L(qn, qT) внутри Х*/ n if (ПИ (qn,qT, \Q(g) X)=0) i=0 /*Если попытка не успешна,*/ /*L(qn, qT) сгенерирован быть не может, то есть qT является недостижимой*/ NBT:=npo^dypa1(BT , N BT , qT); объект захвачен:=НЕТ; return(o6beKm захвачен); endif /*Если попытка успешна, происходит переход на 6*/
6 МР начинает исполнение пути L(qn, qT). Исходов движения может быть два: 1) МР по- T падает в некоторую разрешенную точку ql е BT. В этом случае происходит присвоение qT'.=q1T и объект захвачен:=ДА и выполняется возврат в Алгоритм; 2) МР придет в * некоторую точку q , следующая за которой является запрещенной. В этом случае n:=n+1; qn:=q* ; go to 1;
7 Конец Алгоритма1
В работе [4] показано, что, исполняя Алгоритм, МР решит Задачу за конечное число шагов. Это произойдет вследствие того, что число точек смены пути д", п = 0, 1, 2, ... будет конечным и при этом все они будут различны. В каждой точке д" происходит пополнение информации от СС. В случае, если обнаруживается, что дТ недостижима, происходит возврат в Алгоритм, в случае, если такой информации не поступило, предпринимается попытка решить задачу ПИ. В связи с этим возникает необходимость разработки алгоритма для решения задачи ПИ.
В [5] приведен алгоритм полного перебора, который за конечное число шагов планирует путь из стартовой точки в целевую. Однако этот алгоритм не учитывает возможности присутствия запрещенных состояний - таких, которые описаны в настоящей статье. Кроме того, не показано, что алгоритм выдает обоснованное утверждение о том, что путь не может быть найден тогда, когда такой случай имеет место.
201
Ниже мы приводим сформулированный нами модифицированный алгоритм полного перебора (МАПП). Сформулирована и доказана теорема, утверждающая, что МАПП решит задачу ПИ за конечное число шагов.
МОДИФИЦИРОВАННЫЙ АЛГОРИТМ ПОЛНОГО ПЕРЕБОРА ДЛЯ РЕШЕНИЯ ЗАДАЧИ ПИ
Теорема. Приведенный выше модифицированный алгоритм полного перебора решит задачу ПИ за конечное число шагов.
Доказательство. Согласно логике МАПП из списка ОТКРЫТ берется первая вершина, помещается в ЗАКРЫГГ, для нее генерируются соседние вершины и те из них, которые удовлетворяют (1), не налегают на препятствия, а также не присутствуют в списках ОТКРЫТ или ЗАКРЫТ, помещаются в конец ОТКРЫТ. Таким образом, такой операции подвергается сначала вершина д" (вершина 0-го уровня), для нее генерируются соседние разрешенные вершины (они являются вершинами 1-го уровня), д" переносится в ЗАКРЫТ, вершины 1 -го уровня оказываются в начале списка ОТКРЫТ, начинают
ПИ(qn, qT, ZAPR, X)
1 Поместить ц" в начало списка ОТКРЫЫТ
2 г/ (ОТКРЫТ пуст) /*путь не может быть спланирован*/ геШгп(0); епё/
3 Взять первую вершину из начала списка ОТКРЫТ и поместить ее в ЗАКРЫТ. Обозначить эту вершину сигг.
4 Раскрыть сигг, то есть получить соседние к сигг разрешенные вершины. Вершина считается соседней к сигг, если она отстоит от сигг не более чем на один дискрет. Вершина считается разрешенной, если она удовлетворяет всем следующим условиям: она удовлетворяет ограничениям (1), то есть лежит в X; она не налегает на препятствия, то есть ее нет в ТАРЯ; ее еще нет ни в списке ОТКРЫТ, ни в списке ЗАКРЫТ. Поместить полученные соседние к сигг разрешенные вершины в конец списка ОТКРЫТ. Провести от каждой из них указатель к сигг как к породившей их вершине.
5 / (какая-либо из полученных соседних разрешенных вершин совпадает с дТ) /*путь спланирован*/ ге(игп(1); еЬе 1о 2; епё/
6 Конец ПИ()
202
МАТЕМАТИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
раскрываться они, т. е. получаем вершины 2-го уровня и их помещаем в конец списка ОТКРЫТ, они оказываются за вершинами 1-го уровня. Отсюда видно, что приступить к раскрытию вершины 2-го уровня мы сможем только после того, как раскроем последнюю вершину 1 -го уровня. Обобщая, делаем вывод, что приступить к раскрытию вершин 7-го уровня мы сможем только после того как раскроем все вершины (7-1)-го уровня.
Покажем, что если хотя бы один путь от д" к существует, то он будет найден. Пусть находится на "-м уровне. Поскольку путь от с" к существует, то это значит, что для с" есть хотя бы одна соседняя разрешенная вершина 1 -го уровня, для нее - хотя бы одна соседняя разрешенная вершина 2-го уровня и так далее, до "-го уровня (до дт), то есть имеется хотя бы одна цепочка из вершин, ведущих от с" (вершины 0-го уровня) к дт (вершине "-го уровня). Как было показано выше, МАПП просматривает все вершины 7-го уровня (7 = 0, 1, 2, ..., "-1), генерируя все соседние к каждой из них разрешенные вершины (7+1)-го уровня, при этом уже имеются указатели от вершин 7-го уровня к вершинам (7-1)-го уровня. При раскрытии каждой вершины 7-го уровня будет проверяться, не совпадает ли получаемая соседняя вершина с дт. Таким образом, просматриваются все вершины каждого уровня и, если существует хотя бы одна цепочка вершин (путь) от д" к дт, то она будет найдена.
Покажем теперь, что если пути от д" к дт не существует, то МАПП это обнаружит. Как было показано выше, МАПП помещает в ОТКРЫТ все разрешенные вершины каждого уровня, при этом к каждой вершине запоминается путь (цепочка вершин) из д". Таким образом, хранятся все возможные пути из д" к вершинам из ОТКРЫТ. Поступление сообщения «Список ОТКРЫТ пуст» означает, что из ОТКРЫТ был изъята последняя оставшаяся в нем вершина, и для нее, а также для всех остальных вершин из ОТКРЫТ были просмотрены соседние точки и среди них не оказалось дт. Таким образом, были исследованы все цепочки вершин из д и ни одна из них не привела в дт. Опустение списка ОТКРЫТ означает, что больше нет вершин, которые можно раскрыть. Таким образом, показано, что поступление сообщения «Список ОТКРЫТ пуст» является доказательством того, что пути д" к дт не существует.
Покажем, что задача ПИ будет решена за конечное число шагов. За все время работы МАПП в списке ОТКРЫТ побывает конечное число вершин, поскольку в силу введенной дис-
кретизации во всем X будет конечное число вершин, при этом в ОТКРЫТ помещаются только разрешенные вершины. Каждая вершина помещается в ОТКРЫТ только один раз в силу требования 3) ШАГА 4 МАПП. В отношении каждой раскрываемой вершины, то есть изымаемой из списка ОТКРЫТ, проделываются следующие операции: 1) она помещается в список ЗАКРЫТ; 2) для нее генерируются соседние разрешенные вершины. Обе операции проделы-ваются за конечное число шагов, вторая - в силу конечности числа соседних к раскрываемой вершин. Итак, из ОТКРЫТ будет изъято конечное число вершин и в отношении каждой из них будет проделано конечное число операций, каждая из которых состоит из конечного числа шагов. Если среди соседних к извлекаемой вершин обнаружится дт, путь найден, если и для последней извлеченной вершины не будет обнаружена д , приходим к выводу, что путь найден быть не может. Отсюда видно, что задача ПИ будет решена за конечное число шагов. Теорема доказана.
V42
с™ д2
; * \А * ( с
) к )
41
Рис. 3. Если вершину А вновь поместить в ОТКРЫТ, то путь, приведший в А будет получен вновь
Замечание. Покажем, что произойдет, если мы не будем соблюдать требование не помещать вновь какую бы то ни было вершину в ОТКРЫТ, если она уже есть либо в ОТКРЫТ либо в ЗАКРЫТ. Предположим, что мы раскрываем некоторую вершину, например, А. Для нее рассматриваются все соседние к ней вершины. Пусть, исполняя МАПП, мы получили цепочку вершин А-с^-с^-...-^1 (см. рис. 3). Среди соседних к вершине С™ имеется вершина А. Если мы вновь поместим А в ОТКРЫТ, то вновь придется раскрывать вершину А, то есть рассматривать все соседние к ней вершины и впоследст-
вии вновь будет получен путь A-q1-q2-...-qm, то есть процесс повторится и повторяться он будет бесконечное число раз. Поэтому и было введено это требование. Заметим также, что если это требование будет соблюдаться, то каждая вершина, получаемая в качестве разрешенной соседней, будет иметь только одного родителя (непосредственно предшествующую ей вершину) и тогда граф, образующийся в результате исполнения МАПП, становится деревом.
ЗАКЛЮЧЕНИЕ
Рассмотрен алгоритм управления n-звенным манипуляционным роботом (МР) в среде с неизвестными статическими препятствиями. Алгоритм сводится к решению конечного числа раз задачи ПИ планирования пути в среде с известными запрещенными состояниями с последующим исполнением пути. Приведен алгоритм решения задачи ПИ, представляющий собой модифицированный алгоритм полного перебора. Доказана теорема, утверждающая, что этот алгоритм решит задачу ПИ за конечное число шагов.
СПИСОК ЛИТЕРАТУРЫ
1. Ильин В. А. Интеллектуальные роботы: Теория и алгоритмы. Красноярск: Изд-во САА, 1995. [ V. A. Ilyin, Intelligent robots: Theory and algorithms, (in Russian). Krasnoyarsk: SAA Press, 1995. ]
2. LaValle S. M. Planning Algorithms, 1999-2006. URL: http://msl.cs.uiuc.edu/planning (дата обращ.: 05.02.2013). [ S. M. LaValle, (2013, Feb. 05), Planning Algorithms, 19992006. Available: http://msl.cs.uiuc.edu/planning ]
3. Лопатин П. К., Алгоритм перемещения манипуля-ционного робота в среде с неизвестными препятствиями // Вестник СибГАУ. 2011. Вып. 3 (36). С. 53-57. [ P. K. Lopatin, "Algorithm of a manipulator movement in an environment with unknown obstacles," (in Russian), Vestnik SibSAU (scientific journal of Siberian State Aerospace University), vol. 36, no. 3. pp.53-57, 2011. ]
4. Лопатин П. К. Алгоритм исследования достижимости объекта манипулятором в неизвестной среде // Меха-троника, автоматизация, управление. 2012. № 9. С. 49-52. [ P. K. Lopatin, "An algorithm for investigating of an object reachability by a manipulator in an unknown environment," (in Russian), Mechatronics, Automation, Control, no. 9, pp. 4952, 2012. ]
5. Нильсон Н. Искусственный интеллект. М.: Мир, 1973. [ N. Nilsson, Artificial intelligence, (in Russian). Moscow: Mir, 1973. ]
ОБ АВТОРЕ
ЛОПАТИН Павел Константинович, доц. каф. информатики
и выч. техники. Дипл. инж.-электромех. (Будапештск. техн.
ун-т, 1991). Канд. техн. наук (СибГАУ, 1998). Иссл. в обл.
интеллектуальной робототехники.
METADATA
Title: A modified forward search algorithm in a problem of a manipulator control in an unknown environment.
Authors: P. K. Lopatin1
Affiliation: Siberian state aerospace university named after academician M. F. Reshetnev (SibSAU), Krasnoyarsk, Russia.
Email: efa14@yandex.ru.
Language: Russian.
Source: Vestnik UGATU (scientific journal of Ufa State Aviation Technical University), vol. 18, no. 1 (62), pp. 198-203, 2014. ISSN 2225-2789 (Online), ISSN 1992-6502 (Print).
Abstract: An algorithm for an n-link manipulating robot (MR) control in an environment with unknown static obstacles is considered. The algorithm is reduced to solution of a finite number of problems PI - planning of a path in an environment with discovered and therefore known forbidden states with subsequent execution of the path. Given an algorithm for a solution of the PI problem. A theorem is proved stating that the algorithm will solve the PI problem in a finite number of steps.
Key words: robot; unknown environment; obstacles; reachability.
About author:
LOPATIN, Pavel Konstantinovich, Docent, Dept. of Informatics And Computing Techniques. Dipl. Mech. Engineer (Tech. Univ. of Budapest, 1991). Cand. of Tech. Sci. (SibSAU, 1998).