Решетневские чтения
УДК 519.713
П. К. Лопатин
Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Россия, Красноярск
УПРАВЛЕНИЕ МАНИПУЛЯЦИОННЫМ РОБОТОМ В СРЕДЕ С НЕИЗВЕСТНЫМИ ПРЕПЯТСТВИЯМИ
Приведен алгоритм управления п-звенным манипуляционным роботом в неизвестной среде. Алгоритм гарантирует достижение цели за конечное число шагов и сводится к исполнению конечного числа задач ПИ планирования пути в известной среде. Для задачи ПИ взят алгоритм фронта волны.
При управлении манипуляционным роботом (МР) типичной является следующая задача: даны стартовая
конфигурация МР q0 = (q10, д^,...,Ч°„) и целевая
(т = (, дТ,. ., дТ„), требуется передвинуть МР из q0
в qт за конечное число шагов.
Функционирование МР должно происходить в пределах ограниченной области X, которая имеет вид гиперпараллелепипеда, т. е. для любого q е X выполняется неравенство:
а1 < (| < а2, (1)
1 2
где а и а - соответственно, нижние и верхние ограничения на значения обобщенных координат. Все точки вне неравенства (1) будем считать запрещенными.
Итак, требуется передвинуть МР за конечное число шагов из (0 в (Т, результирующий путь не должен налегать ни на одну из запрещенных точек, присутствующих в гиперпараллелепипеде (1) и должен удовлетворять неравенству (1). Все движение должно осуществляться по разрешенным точкам. Примем следующие допущения:
1. Препятствия неподвижны.
2. В пространстве обобщенных координат можно найти хотя бы одну линию, соединяющую (0 и (т и не налегающую ни на одно запрещенное состояние.
3. МР снабжен сенсорной системой (СС), позволяющей определять, налегает или не налегает МР на препятствия в каждой из конфигураций, лежащих в небольшой г-окрестности текущей конфигурации (в том числе, налегает ли на препятствия текущая конфигурация). Под г-окрестностью будем понимать гипершар радиуса г в пространстве конфигураций с центром в текущей конфигурации.
4. Множество всех конфигураций из г-окрестности некоторой конфигурации ( обозначим как Г(|). Множество всех запрещенных, т. е. налегающих на препятствия либо не удовлетворяющих условию (1) конфигураций из Лл), обозначим как 0(|), множество всех разрешенных конфигураций из 7(|) обозначим как 2(|).
5. Считаем, что у нас есть программная процедура ПИ ((п, С, ZЛPR), где (п - текущая конфигурация МР; (т- целевая конфигурация МР; 1ЛРЯ - множество всех известных на момент вызова ПИ() запрещенных точек в X. ПИ() генерирует в X путь 1((п, (т), удовлетворяющий следующим условиям:
1) Ь((п, (т) исходит из (п и приходит в (т;
2) Ь((п, qT)ПZЛPR = 0, т. е. Ь((п, (т) ни одной своей точкой не налегает ни на одну из известных запрещенных точек;
3) Ь(С, (т) удовлетворяет условию (1).
При этом предполагается, что для любых (п е X и (т е X в X существует по крайней мере один путь Ь((, (т), удовлетворяющий условиям 1-3.
В качестве алгоритма для ПИ() приводится алгоритм фронта волны [1].
Алгоритм. При дальнейшем изложении точки (п, п = 0, 1, 2, ... есть точки, в которых происходит генерация нового пути, и мы будем называть их точками смены пути. Перед началом работы алгоритма п = 0 и, соответственно, (п = (0.
ШАГ 1. При нахождении МР в (п, п = 0, 1, 2, ... его СС доставляет информацию об г-окрестности точки (п, и формируются множества У((П), 7.((), Q(qn). Зап
тем вызывается процедура ПИ ((С, С, UQ(q')), ко-
1=0
торая генерирует путь Ь(С, (т). Переход на шаг 2.
ШАГ 2. МР начинает двигаться вдоль Ц(п, (т). При движении по (т) возможны два исхода:
а) МР не встретит ранее неизвестных запрещенных состояний и, как следствие, достигнет (т; по достижении (т алгоритм заканчивает свою работу;
б) МР придет в такую точку (предварительно выполнив п: = п + 1, обозначим ее (п, п = 1, 2, ...), что следующая точка исполняемого пути является запрещенной. Переход на шаг 1. Конец алгоритма.
Теорема. Если МР будет двигаться по вышеприведенному алгоритму, то он перейдет из (0 в (т за конечное число шагов. Доказательство приведено в [2].
Алгоритм фронта волны. Рассмотрим алгоритм фронта волны:
1. В список WF (фронт волны) помещается целевая конфигурация (т, которой присваивается значение потенциала vp(qqт) = 0. Список NWF (новый фронт волны) пуст. Переменной v (текущее значение потенциала) присваивается значение 1.
2. Для каждой конфигурации ( из списка WF формируется список N конфигураций, соседних с ней.
3. Каждой конфигурации п из списка N, если она является разрешенной и для нее еще не установлено значение потенциала, присваивается значение потенциала vp(n) = v, после чего конфигурация п заносится в список NWF.
Математические методы моделирования, управления и анализа данных.
4. После того, как рассмотрены все конфигурации из списка N, происходит переход к следующей конфигурации q на шаге 2.
5. После того, как рассмотрены все конфигурации из списка WF, если список NWF пуст, то алгоритм заканчивает свою работу. В противном случае список WF очищается, содержимое списка NWF копируется в список WF, список NWF очищается, значение переменной v увеличивается на 1, и алгоритм продолжает свою работу с шага 2.
Библиографические ссылки
1. Barraquand J., Latombe J.-C. Robot Motion Planning: A Distributed Representation Approach // Int. J. of Rob. Res. 1991. Vol. 10. № 6. P. 628-649.
2. Lopatin Р. К. Algorithm of a manipulator movement amidst unknown obstacles / Proc. of the 10th Intern. Conf. on Advanced Robotics (ICAR 2001) (August 22-25, 2001, Budapest). Budapest, 2001. Р. 327-331.
P. K. Lopatin
Siberian State Aerospace University named after academician M. F. Reshetnev, Russia, Krasnoyarsk
MANIPULATING ROBOT CONTROL IN AN ENVIRONMENT WITH UNKNOWN OBSTACLES
An algorithm for a n-link manipulating robot (MR) control in the unknown environment is presented. The algorithm guarantees reaching the target in a finite number of steps and is reduced to an execution of a finite number ofproblems PI of a path planning in the known environment. For the PI problem the wave front algorithm was considered.
© Лопатин П. К., 2010
УДК 519.713
П. К. Лопатин, Д. С. Новиков
Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Россия, Красноярск
ВИЗУАЛИЗАЦИЯ ДВИЖЕНИЯ МАНИПУЛЯЦИОННЫХ РОБОТОВ
Описан подход к визуализации движения манипуляционных роботов в пространстве. Процесс визуализации облегчает тестирование алгоритмов управления роботами в известной и неизвестной средах.
Для тестирования алгоритмов управления роботами целесообразно разрабатывать программы визуализации движения робота. Требовалось разработать приложение, которое бы получало вектор обобщенных координат, характеризующий текущую конфигурацию робота, и параметры, характеризующие положение и ориентацию препятствий относительно базовой системы координат. Программа должна изображать препятствия и манипулятор в текущей конфигурации.
Манипуляционный робот представляется программой в виде совокупности звеньев, объединенных в кинематические пары 5-го класса. Количество звеньев манипулятора программой не ограничивается. Робот отображается в моделируемом пространстве в виде множества точек, соединенных попарно отрезками, либо по четыре - параллелепипедами. Режим отобра-
жения манипулятора пользователь может выбирать в ходе выполнения программы. Программа отображает исполнение пути манипулятора, рассчитанного сторонней программой планирования, и отображает путь.
Реализована возможность вращать сцену при помощи мыши для того, чтобы можно было рассмотреть все детали модели. Для упрощения ориентации пользователя в моделируемом пространстве, в окне в течение всего времени работы программы отображаются оси координат, а также на плоскость XOY нанесена координатная сетка с шагом 10 единиц.
Программный продукт разработан с использованием бесплатной графической библиотеки OpenGL и может быть использован на такой распространенной платформе, как MS Windows. Для создания и обработки окна использованы функции WinAPI.
P. K. Lopatin, D. S. Novikov Siberian State Aerospace University named after academician M. F. Reshetnev, Russia, Krasnoyarsk
VISUALISATION OF MANIPULATING ROBOTS' MOVEMENT
An approach to visualisation of manipulating robots' movement is described. The process of visualisation facilitates testing of algorithms for robots' control in known and unknown environment.
© Лопатин П. К., Новиков Д. С., 2010