УДК 519.713
П. К. Лопатин
АЛГОРИТМ ПЕРЕМЕЩЕНИЯ МАНИПУЛЯЦИОННОГО РОБОТА В СРЕДЕ С НЕИЗВЕСТНЫМИ ПРЕПЯТСТВИЯМИ
Рассматривается алгоритм управления п-звенным манипуляционным роботом (МР) в среде с неизвестными статическими препятствиями. Доказывается теорема, утверждающая, что, двигаясь по данному алгоритму, МР за конечное число шагов либо достигнет целевой конфигурации, либо выдаст обоснованный ответ о том, что целевая конфигурация не может быть достигнута. Приводятся следствия из теоремы, способствующие лучшему функционированию МР в неизвестной среде.
Ключевые слова: робот, неизвестная среда, препятствия, достижимость.
При управлении МР типичной является следующая задача: МР должен выдвинуться из стартовой конфигурации q0 и передвинуться в целевую конфигурацию цТ.
МР представляется в пространстве конфигураций (пространстве обобщённых координат) как точка. Функционирование МР должно происходить в пределах ограниченной области X конфигурационного пространства. Будем считать, что область X имеет такой вид, что для любого q еХ выполняются неравенства
а1 <q < а2, (1)
где а1 = (а11, а21, ..., ап') - вектор нижних ограничений на значения обобщённых координат, а2 = (а12, а22, ..., ая2) - вектор верхних ограничений на значения обобщённых координат, q = (дь д2, ..., дп) - вектор обобщённых координат МР. Таким образом, область X представляет собой гиперпараллелепипед.
При этом:
1) точки, находящиеся вне (1), квалифицируются как запрещенные, и в дальнейшем мы будем называть их запрещёнными в смысле (1);
2) внутри X также могут присутствовать запрещенные состояния. Во-первых, это те состояния (конфигурации), которые обусловлены конструктивными ограничениями МР, например, те, в которых происходит недопустимое взаимопересечение звеньев. Такие запрещённые конфигурации удаётся вычислить заранее и мы будем называть их запрещёнными в смысле (2). Во-вторых, запрещённой является та конфигурация, в которой МР налегает на препятствия. В условиях неизвестной среды все такие конфигурации вычислить заранее невозможно. Перед началом движения информации о запрещённых состояниях в Х нет или она неполна. Точки из Х, про которые нет достоверной информации о том, что они запрещённые, считаем разрешёнными.
Рассмотрим теперь конфигурацию (точку в конфигурационном пространстве) qT. Точку qT е X будем считать разрешённой только в случае, если она удовлетворяет сразу двум критериям: 1) она не является запрещённой в смыслах (1) и (2); 2) в неё можно попасть за конечное число шагов из q0, двигаясь в Х по разрешённым состояниям. Считаем, что до начала движения у МР нет достоверной информации
т ..
про точку q о том, является ли она разрешённой или
запрещённой.
Теперь сформулируем следующую Задачу управления МР в неизвестной статической среде: даны стартовая конфигурация МР q0 е X и целевая конфигурация qт е X. Требуется предложить алгоритм, который за конечное число шагов либо передвинет МР из q0 в qT, либо выдаст обоснованный ответ о том, что qт не является разрешённой.
Обзор литературы. К настоящему времени имеются работы по алгоритмам управления робототехническими системами в известной и неизвестной среде. Сделаны хорошие обзоры таких алгоритмов [1-3]. Предложены алгоритмы, гарантирующие нахождение пути в среде с известными препятствиями при условии, что такой путь существует [2-5].
Некоторые алгоритмы планирования в известной среде в принципе могут быть использованы для движения в неизвестной среде. Если мы дискретизируем пространство состояний, то тогда можно будет использовать графовые методы поиска пути движения МР из q0 в qT [2; 3; 6]. Однако эти алгоритмы имеют одно общее свойство, которое затрудняет их применение для управления МР в неизвестной среде, заключающееся в том, что они в том или ином объеме требуют осуществлять поиск в ширину, иначе не гарантируется достижение целевой точки [7]. Но при поиске в ширину часто возникает следующая ситуация: предположим, что мы только что закончили рассмотрение вершин, соседних к вершине q, и теперь на м надо рассматривать вершины, соседние вершине q', и вершины q и q' не являются соседними. Для того чтобы рассмотреть вершины, соседние к q' , МР должен сначала передвинуться в q'. Таким образом, вновь возникает задача планирования маршрута из q в q', что делает общую сумму перемещений МР очень большой. При планировании же в известной среде ЭВМ просто «переключает свое внимание» от q к q', которые хранятся в памяти ЭВМ. В соответствии с классификацией [3], представителями алгоритмов поиска в ширину являются собственно алгоритм поиска в ширину, алгоритм А*, эвристический поиск «первый-лучший», ленивый вероятностный маршрут, динамическое программирование. В методах, основанных на случайном потенциальном поле, алгоритме «Нить Ариадны», быстроисследующих случайных
деревьях [3] новые вершины генерируются случайным образом и потому применение таких методов ведет к тем же трудностям. Подходы, основанные на разделении ячеек, графах видимости [3] сводятся к попеременному построению графа и поиску пути на нем и, таким образом, им также присущ вышеописанный недостаток, связанный со множественными механическими перемещениями.
В алгоритме, представленном в данной статье, вершины q и q' всегда являются соседними, что сокращает количество движений.
Известно также, что алгоритмы поиска в глубину не всегда доводят до цели [7].
Имеется общая трудность для методов планирования пути в среде с известными препятствиями: очень трудно собрать полную информацию о рабочем пространстве робота заранее и представить эту информацию в виде, пригодном для планирования пути. При рассмотрении нашего алгоритма можно будет видеть, что для системы управления нет необходимости собирать полную информацию о рабочем пространстве заранее, МР будет собирать необходимую информацию сам в ограниченных количествах и в терминах обобщенных координат, что удобно для планирования пути.
Предпринимаются попытки создания алгоритмов управления для среды с неизвестными препятствиями. В большинстве из них рассматриваются двумерные случаи [8].
В [9-12] рассмотрены различные подходы к управлению роботами в двумерном неизвестном пространстве. В [9; 12] представлен подход, основанный на диаграмме Вороного, в [11] - поиск на основе табу-подхода. Поскольку эти подходы требуют попеременного построения графа и поиска пути на нем, они ведут к многочисленным перемещениям робота. В [10] препятствия должны иметь многоугольную форму. Применение методов, предложенных в [9-12], к управлению и-звенным манипуляционным роботом в неизвестной среде, не представлено.
В [8] представлен алгоритм управления МР среди неизвестных препятствий, расположенных в трехмерном декартовом пространстве. МР должен иметь не более трех звеньев и последняя кинематическая пара должна быть поступательной. При вышеуказанных предварительных условиях алгоритм за конечное число шагов либо переводит МР в целевую конфигурацию, либо сообщает о том, что она недостижима.
В [13] рассмотрен и-мерный случай. Алгоритм основан на решении системы нелинейных уравнений методом Ньютона и потому не может гарантировать достижения целевой позиции.
Для управления МР в неизвестной среде предлагается использовать метод искусственных потенциалов [14]. В этом методе робот представляется в виде заряженной точки, запрещённые состояния наделяются отталкивающими потенциалами, целевая точка - притягивающим потенциалом. В общем случае нет гарантии, что будет решена задача обнаружения пути, не налегающего на запрещённые точки [2].
В [3] рассмотрены алгоритмы движения роботов в присутствии неопределенности (включая случаи неизвестной среды). Алгоритмы основаны на теории последовательных решений. В общем случае алгоритмы не гарантируют достижения цели. В случаях, когда алгоритмы используют поиск на графе, возникает вышеупомянутая трудность, связанная со множественными механическими перемещениями.
Предварительные условия. Прежде чем привести алгоритм перемещения МР, оговорим предварительные условия.
1. Считаем, что у нас есть программная процедура ПИ(^п, qт, ТАРЕ), где qn есть текущая конфигурация МР, т. е. та конфигурация, в которой МР в настоящий момент находится, ^ - целевая конфигурация МР, ТАРЕ - множество запрещённых точек в Х, сообщенных процедуре ПИ(). Может быть два исхода работы ПИ().
1.1. Она за конечное число шагов генерирует в Х путь Ь^п, qт), удовлетворяющий следующим условиям:
1.1.1. Ь^п, qт) исходит из qn и приходит в ^т;
1.1.2. Ь^, qT)ПZAPR = 0, т. е. Р^, qт) ни одной своей точкой не налегает ни на одну из сообщенных запрещённых точек;
1.1.3. Ь(^“, qт) удовлетворяет (1).
В этом случае процедура ПИ() возвращает ДА.
1.2. Ей не удается сгенерировать в Х путь Ь^п, qт), удовлетворяющий всем трем условиям 1.1.1-1.1.3.
В этом случае процедура ПИ() возвращает НЕТ.
Для процедуры ПИ() уже существуют алгоритмы, например, алгоритм полного перебора или алгоритм А* [6].
2. Расположение и количество препятствий внутри рабочей зоны МР остаётся неизменным в течение всего времени движения МР.
3. Всё движение, в том числе и результирующий путь, должно происходить в гиперпараллелепипеде (1).
4. МР имеет сенсорную систему (СС), которая доставляет информацию об г-окрестности текущей точки МР q є X. Текущая точка МР - это та точка, в которой МР в настоящий момент находится. Под г-окрестностью q понимаем гипершар в X с центром в q и радиусом г > 0. Множество всех точек, входящих в г-окрестность точки q, обозначаем У^). Разрешённые конфигурации из У^) будем помещать в множество Т(ц), запрещённые - в Q(q). Т^)и^^) = У^). Как уже говорилось, разрешённой считается та конфигурация, которая удовлетворяет всем следующим критериям: 1) она не является запрещенной в смысле (1); 2) она не является запрещенной в смысле (2); 3) в ней ни одна точка МР не принадлежит внутренней области хотя бы одного препятствия. Если q не удовлетворяет хотя бы одному из этих трёх условий, то она считается запрещённой. Относительно каждой точки ^*є У^) СС всегда доставляет достоверную информацию, является ли она разрешенной или нет. Способ записи множеств У^), Т(ц), Q(q) может быть разным - в виде формул, списков, таб-
лиц и т. д., но мы считаем, что он есть. Устройство СС в данной работе не рассматривается.
5. Исполнение пути происходит следующим образом. МР находится в текущей точке q и, если следующая точка q* пути удовлетворяет всем трём критериям, а именно:
1) она не является запрещённой в смысле (1);
2) не является запрещённой в смысле (2);
3) не налегает на препятствия,
то МР переходит в q*. Если же в отношении хотя бы одного из критериев (1-3) получен ответ НЕТ, то в q* МР не переходит.
Алгоритм. Ниже приведён алгоритм решения нашей задачи. Перед началом работы п = 0.
Шаг 1. МР находится в qп (назовём её «точка смены пути»). СС доставляет информацию о Y(qп), Z(qп),
Q(qп).
Шаг 2. Если qTе Q(qn), происходит окончание работы алгоритма с сообщением о том, что qT является запрещенной, а значит, недостижимой. Если qт£ Q(qП), происходит переход на Шаг 3.
П
Шаг 3. Вызывается процедура ПИ^П, qT, ^ Q(q,))
1=0
(т. е. нужно спланировать путь из из qП в qT, обходящий все известные на настоящий момент запрещенные точки и лежащий целиком в (1)). Если ПИ() возвращает ДА, алгоритм переходит на Шаг 4, если ПИ() возвращает НЕТ, то происходит окончание работы алгоритма с сообщением о том, что qт является недостижимой, а значит, запрещенной.
Шаг 4. МР начинает движение по L(qП,qT). Исходов движения может быть два: 1) МР попадает в разрешенную точку qT. В этом случае происходит окончание работы алгоритма с сообщением о том, что qT является достижимой и разрешенной; 2) МР придёт в некоторую точку q*, следующая за которой является запрещённой. В этом случае выполняем п: = п + 1, qП: = q* и алгоритм переходит на Шаг 1.
Конец алгоритма.
Теорема. Исполняя алгоритм, МР решит задачу за конечное число шагов.
Доказательство. В алгоритме, когда МР находится в точке qП, п = 0, 1, 2, ..., происходит запуск СС и запуск процедуры ПИ. Если в результате исполнения этих действий точка qT будет определена как запрещённая (в силу принадлежности множеству Q(qП) (определяется на Шаге 2), либо в силу невозможности спланировать путь с помощью процедуры ПИ (определяется на Шаге 3)), происходит окончание работы алгоритма с сообщением о том, что qт является запрещенной, а значит, недостижимой. Если в результате исполнения Шага 2 и Шага 3 точка qT не будет определена как запрещённая, происходит генерация пути L(qП, qT) и МР начнёт исполнять этот путь. Исполнение этого пути может иметь два исхода: либо МР, не встретив на своём пути запрещённых точек, достигнет qт и она окажется разрешённой (и тогда произойдёт успешное окончание работы алгоритма с со-
общением о том, что qT является разрешенной), либо МР придёт в точку qП, п = 1, 2, ., следующая за которой будет запрещённой. Покажем, что все точки смены пути qП, п = 0, 1, 2, ... будут различными и их число будет конечным.
Покажем, что все точки смены пути различны. Предположим, что МР сменил путь, находясь в точке qs, а потом, находясь в точке qp, вновь сменил путь, т. е. 5 < p. Покажем, что # qp. Предположим сначала, что = qp и тогда Q(qs) = Q(qp). Поскольку МР сменил путь, находясь в точке qs, то он сгенерировал путь, не налегающий в том числе и на Q(qs). Но поскольку МР сменил путь в точке qp, то это означает, что его путь налёг на Q(qp) = Q(qs) (при этом = qp является центром г-окрестности точки qs = qp и следующая за ней точка является запрещенной), т. е. Q(qp) = Q(qs) не было известным. Получили противоречие. Отсюда видно, что все точки смены пути различны.
Покажем теперь, что число точек смены пути конечно. Предположим, что, наоборот, оно бесконечно. Все точки смены пути должны удовлетворять ограничениям (1). Это означает, что последовательность этих точек ограничена. Согласно теореме Больцано-Вейерштрасса, из этой последовательности можно извлечь сходящуюся подпоследовательность qI, , = 1, 2, ... В соответствии со свойством Коши сходящихся последовательностей, для любого е можно найти такой номер 5, что все точки qI, , > 5, будут лежать в е-окрестности точки qs. Возьмем е < г. Рассмотрим произвольную точку смены пути qI, расположенную в е-окрестности точки qs. Так как МР, находясь в q,, сменил свой путь, то это означает, что путь налёг на множество Q(qs) (^г и ее соседние точки принадлежат Q(qs)). Отсюда надо сделать вывод, что множество Q(qs) не было учтено при генерации пути, приведшего в qI, что невозможно при исполнении предписаний алгоритма. Таким образом, если принять, что число точек смены пути бесконечно, то неизбежно возникнет ситуация, которая не может наступить при исполнении предписаний алгоритма. Следовательно, число точек смены маршрута конечно.
Итак, число точек смены пути qП, п = 0, 1, 2, ... конечно, и они все различны. В каждой точке qП осуществляется запуск СС и вызов процедуры ПИ(), генерирующей L(qП, qT). В результате выполнения этих действий либо получаем информацию о том, что qT является запрещённой, либо нет. Если получаем, выяснение вопроса о достижимости qт заканчивается выводом о недостижимости qT. Если не получаем, происходит планирование пути L(qП, qT) и его исполнение. Если в последней точке смены пути qП путь в qт был спланирован, этот путь будет исполнен, qT будет достигнута и она окажется разрешенной.
В каждой точке смены пути qП происходит вызов процедуры ПИ() для планирования пути L(qП, qT) с последующим его исполнением. Число вызовов процедуры ПИ() конечно. Планирование пути на любом
вызове ПИ() происходит за конечное число шагов. Исполнение любого пути, спланированного в ПИ(), происходит за конечное число шагов в силу конечности длины пути. Отсюда видно, что решение задачи сводится к решению конечного числа задач планирования и исполнения пути в среде с известными запрещёнными состояниями и осуществится за конечное число шагов.
Теорема доказана.
Иногда требуется интенсивное исследование окружающей среды, предполагающее сходы с предварительно спланированного пути. Для таких случаев будут полезны приводимые ниже следствия.
Следствие 1. В произвольных точках q‘^, ё = 0, 1, ..., исполняемого пути Цц„,цт), где п = 0, 1, ..., и - некоторое конечное число, не большее, чем число точек в Ь(ц„, qт), МР может сделать конечное число сходов с Ь(ц„, qT). Сходом является последовательность £ непрерывно следующих одна за другой разрешенных точек, отличающаяся от Ь(ц„, qт) и удовлетворяющая (1). Сходы делаются для исследования окружающей среды. Число шагов на каждом сходе должно быть конечным. На каждом шаге схода МР может исследовать окружающую среду. Осуществив конечное число шагов на сходе, МР должен вернуться на первоначальный путь точно по ранее пройденным точкам схода. Если на каком-то шаге схода обнаруживается, что дальнейшее движение невозможно в силу наличия запрещенных состояний, МР должен вернуться на первоначальный путь точно по ранее пройденным точкам схода. Таким образом, смены пути не происходит. Если МР вернётся не в точку є Ь(ц„, qт), с которой он сошёл, а на какую-то другую точку Ц є Ь(ц„, qт), то точки из Ь(ц„, qт) между qd и Ц могут оказаться запрещёнными и, когда впоследствии МР попытается исполнить Ь(ц„, цт), он натолкнётся на эти ранее не обнаруженные запрещённые точки. По возвращении на Ь(ц„, цт) МР осуществляет движение в соответствии с алгоритмом. В результате мы получаем конечное число шагов на всех сходах, которое прибавляется к конечному числу шагов по алгоритму.
Следствие 2. МР также может, находясь в какой-либо точке ц пути или схода, получив информацию о Q(q), предварительно выполнив „: = „ + 1 и ц„ = ц спланировать новый путь Ь(ц„, цт) путём вызова процедуры ПИ(ц„, цт, УQ(q')) и начать двигаться по і=0
нему в соответствии с алгоритмом. Иными словами, это такое действие (назовем его «отказ от предварительного пути»), когда, не достигнув цт, планируют новый путь, ведущий в цт. Делать отказы от предварительного пути можно лишь конечное число раз, а после этого МР, пройдя конечное число шагов по разрешенным точкам и находясь в некотором состоянии ц,
должен выполнить n: = n + 1 и qn = q и перейти к выполнению алгоритма, гарантирующего решение задачи за конечное число шагов. Тогда конечное число отказов от предварительного пути прибавится к конечному числу шагов по алгоритму, гарантирующему решение задачи за конечное число шагов, и в результате мы получим, что задача будет решена за конечное число шагов.
Библиографические ссылки
1. Ahrikhencheikh C., Seireg A. Optimized-Motion Planning: Theory And Implementation. Chichester : John Wiley & Sons, 1994.
2. Principles of Robot Motion. Theory, Algorithms and Implementations / H. Choset [et al.]. Cambridge, Mass. : MIT Press, 2005.
3. LaValle S. M. Planning Algorithms. 1999-2006.
URL: http://msl.uiuc.edu/planning (data of visit:
30.06.2011).
4. Canny J. The Complexity of Robot Motion Planning. Cambridge, Mass. : MIT Press, 1988.
5. Collins G. E. Quantifier Elimination For Real Closed Fields By Cylindrical Algebraic Decomposition // Lecture Notes in Computer Sci. 1975. Vol. 33. P. 135-183.
6. Нильсон Н. Искусственный интеллект. М. : Мир, 1973.
7. Ильин В. А. Интеллектуальные роботы: теория и алгоритмы / Сиб. аэрокосмич. акад. - Красноярск, 1995.
8. Lumelsky V. J. Sensing, intelligence, motion. How robots and humans move in an unstructured world. N. Y. : John Wiley & Sons, 2006.
9. Chen C., Li H.-X., Dong D. Hybrid Control for Robot Navigation. A hierarchical Q-learning algorithm // IEEE Robotics & Automation Magazine. 2008. Vol. 15. № 2. P. 37-47.
10. Online Algorithms with Discrete Visibility. Exploring Unknown Polygonal Environments / S. K. Ghosh, J. W. Burdick, A. Bhattacharya, S. Sarkar // IEEE Robotics & Automatiom Magazine. 2008. Vol. 15. № 2. P. 67-76.
11. Masehian E., Amin-Nasari M. R. Sensor-Based Robot Motion Planning. A Tabu Search Approach // IEEE Robotics & Automation Magazine. 2008. Vol. 15. № 2. P. 48-57.
12. Rawlinson D., Jarvis R. Ways to Tell Robots Where to Go. Directing autonomous robots using topological instructions // IEEE Robotics & Automation Magazine. 2008. Vol. 15. № 2. P. 27-36.
13. Yegenoglu F., Erkmen A. M., Stephanou H. E. On-line Path Planning Under Uncertainty // Proc. of 27th IEEE Conf. Decis. and Contr. Austin, Tex. Dec. 7-9. 1988. Vol. 2. P. 1075-1079.
14. Barraquand J., Latombe J.-C. Robot Motion Planning: A Distributed Representation Approach // Int. J. of Rob. Res. 1991. Vol. 10. № 6. P. 628-649.
5б
P. K. Lopatin
ALGORITHM OF A MANIPULATING ROBOT MOVEMENT IN AN ENVIRONMENT WITH UNKNOWN OBSTACLES
An algorithm is presented for a manipulating robot (MR) control in an unknown static environment. A theorem is proved stating that following the algorithm the MR in a finite number of steps will either reach a target configuration or come to the proved conclusion that the target configuration may not be reached. Given sequences from the theorem facilitating the MR functioning in the unknown environment.
Keywords: robot, unknown environment, obstacles, reachability.
© Лопатин П. К., 2011
УДК 62.501
А. В. Медведев
ТЕОРИЯ НЕПАРАМЕТРИЧЕСКИХ СИСТЕМ. ^МОДЕЛИ
Рассматриваются некоторые задачи идентификации в «широком» смысле. Идентификация безынерционных объектов и объектов с памятью исследуется в условиях непараметрической априорной информации. Анализируется также случай, когда априорная информация соответствует как непараметрическому, так и параметрическому уровню одновременно. Это относится к системе многосвязных объектов. Приводятся непараметрические модели некоторых статических и динамических объектов с запаздыванием.
Ключевые слова: идентификация, априорная информация, идентификация в «широком», непараметрические модели, дискретно-непрерывные процессы, К-модели.
Теория - в виду практики. Девиз конгрессов ШАС
При изучении неизвестных явлений можно строить очень общие гипотезы и продвигаться шаг за шагом с помощью опыта. Слишком конкретная гипотеза почти наверняка заключает в себе долю ошибки наряду с долей истины
П. Кюри
Х1 - выходная величина настраиваемой модели; е1 = х1 - X ; б (е,) - выпуклая функция потерь; а -вектор параметров настраиваемой модели; 11 - вектор всех наблюдений к моменту времени ,; М - символ математического ожидания; Я (а) - критерий идентификации.
Идентификация по данной схеме осуществляется при помощи настраиваемой модели (блок «модель») той или иной параметрической структуры, параметры а которой корректируются по мере поступления наблюдений «вход-выход». Обычно предполагается, что объект работает в стационарном режиме, т. е. вероятностные характеристики последовательностей Х5, и5
неизменны во времени, Х5 =(х1, х2,..., х5),
и5 =( щ, и2,..., и5) - временные векторы. Соответствие настраиваемой модели объекту оценивается критерием качества идентификации:
Я (а)= М {б (ф,, х))}. (1)
Проблема идентификации является одной из центральных в теории управления и других областях науки, объединяемых емким термином - кибернетика. Основное внимание мы уделим задачам идентификации в «широком» смысле, наряду с достаточно хорошо развитой теорией идентификации в «узком» смысле. Ранее [1-3] были описаны дискретнонепрерывные процессы и пути идентификации стохастических систем, которые тесно связаны с имеющейся априорной информацией.
Более того, нас будет интересовать прежде всего идентификация в условиях непараметрической неопределенности, а также случай, когда априорная информация соответствует одновременно как непараметрическому [3], так и параметрическому типу исходных данных об исследуемом процессе. Приведем достаточно общепринятую схему задачи идентификации (рис. 1) [4].
На рисунке приняты следующие обозначения: и1, х, - соответственно векторные входные и выходные переменные, контролируемые в дискретные моменты времени ,; |, - случайная ненаблюдаемая помеха;