УДК 519.713
Н. Ф. Сафиуллина, П. К. Лопатин
АЛГОРИТМ РАЗДЕЛЕНИЯ ЯЧЕЕК ДЛЯ ПЛАНИРОВАНИЯ ПУТИ МАНИПУЛЯЦИОННОГО РОБОТА
Используется известный подход к управлению манипуляционными роботами в неизвестной среде, который сводится к решению конечного числа задач планирования пути в известной среде. Для планирования пути в среде с известными запрещенными состояниями применяется алгоритм разделения ячеек, пригодный для п-мерного пространства обобщенных координат. Представлены результаты программной реализации алгоритмов.
Ключевые слова: манипуляционный робот, планирование пути, алгоритм разделения ячеек.
Рабочая среда манипулятора может иметь различную степень определенности. Если в рабочей среде находятся статические препятствия, информация о которых неполна или отсутствует, то в этом случае говорят об управлении манипулятором в неизвестной статической среде. В различных областях применения манипуляционных роботов типичной является задача поиска пути из заданного начального положения в заданное конечное положение робота. Предварительно заданы начальная конфигурация манипулятора ?°(?ь?2,- - ,Цп); множество целевых конфигураций 0>Т, где qT е 0>Т обеспечивают заданное положение схва-та, Т - время пути. Найти путь - значит найти такую последовательность конфигураций манипулятора Р = {%(/)}, где tе [0;Т] и q - конфигурация манипулятора, чтобы в любое время t ни одна из точек, принадлежавших манипулятору, не налегала на препятствия, а Р(°) = q° и Р(Т) = qT, т. е. требуется за конечное число шагов передвинуть манипулятор из начальной конфигурации в целевую, обходя препятствия. Целевое состояние может задаваться одной конкретной конфигурацией манипулятора. Предполагается, что имеется априорное знание о том, что она не налегает на препятствия, допустима с точки зрения конструктивных возможностей манипулятора и достижима.
Манипуляционный робот является разновидностью динамических систем. В [2] рассмотрен алгоритм управления динамическими системами, в дальнейшем будем называть его АНС (алгоритм для неизвестной среды). Предполагается, что динамическая система функционирует в и-мерном пространстве состояний, в ее рабочей среде могут присутствовать неизвестные запрещенные статические состояния. Также в статье представлен обзор работ, посвященных алгоритмам управления различными динамическими системами в неизвестной среде, приводятся сравнительные характеристики алгоритмов.
В [12] описан алгоритм создания карты и планирования пути для автономного мобильного робота в неизвестной статической среде. Робот изучает среду с помощью вероятностной интерпретации, основанной на видеосенсорах, видимых углов и границ. Робот перемещается в пространстве, ориентируясь на основе визуального сходства, т. е. ассоциативно. Для построения ассоциативной памяти применяется нейронная сеть. Робот получает от видеокамеры изображение,
которое поступает в виде вектора на входной слой нейронной сети, с помощью которой текущее изображение сравнивается с уже имеющимися изображениями и вставляется в сегмент с наиболее похожими. Таким образом, среда может быть изучена и представлена, как серия визуально различных местоположений. Топология среды строится роботом во время планирования пути путем выявления общих свойств у известных местоположений. Данный алгоритм планирования подходит для двухмерного пространства состояний. В [8] представлен алгоритм планирования локального пути для мобильного робота с видеосен-сорной системой и метод трансформации двумерных изображений в трехмерную модель. Задача решается в три этапа. На первом этапе детекторы обнаруживают препятствия. На втором этапе двумерное изображение препятствий трансформируется в трехмерную модель, и на третьем - планируется локальный путь при помощи алгоритма фронта распространения волны, избегающий столкновения с этими препятствиями. В [14] представлен алгоритм планирования пути мобильного робота в неизвестной среде. На пространство накладывается двумерная сетка, затем датчики робота определяют, в какой из ячеек сетки находятся препятствия, т. е. строится следующая модель пространства - ячейкам присваиваются различные значения в зависимости от того, есть ли в них препятствия или нет, или через сколько времени препятствие прибудет в эту ячейку. После чего планирование пути по сетке пространства осуществляется при помощи генетического алгоритма.
Планирование пути манипулятора усложняется многозвенностью манипуляторов, в [4] разработан метод, подходящий для планирования пути избыточных и гиперизбыточных манипуляторов: BB-метод (BB-method). Путь без столкновений с препятствиями находится с помощью постепенных изменений перво -начального пути, который обычно является прямой, связывающей начальное и целевое положения. Сложность алгоритма зависит линейно от степеней свободы робота. ВВ-метод не гарантирует достижения цели. В [5] представлен метод планирования в неизвестной среде: utility-guided planning («полезноуправляемое планирование»). Планирование utility-guided - итеративный подход, который начинается «без знания мира» и постепенно строит некоторую
аппроксимацию окружающей среды, модель, удобную для планирования. Представленный подход может использоваться как фрейм для методов планирования, и подходит для динамической среды.
Сформулируем требования к методу управления манипулятором в неизвестной среде: метод должен гарантировать достижение цели, подходить для использования видеосенсорной системы, применяться для и-звенных манипуляторов, иметь возможность встраивания различных алгоритмов планирования пути в областях, где препятствия известны. АНС удовлетворяет данным требованиям [2]. Планирование движения динамической системы в пространстве состояний при неизвестных запрещенных состояниях сводится к решению конечного числа задач планирования в пространстве с известными запрещенными состояниями [1; 11].
В АНС информация о запрещенных состояниях поступает по мере движения робота и в связи с этим образуются зоны свободных и запрещенных точек. Таким образом, возникает потребность планирования пути в среде с известными запрещенными состояниями, используя информацию об этих зонах. Наилучшим образом для этой цели подходят алгоритмы разделения ячеек. Так как с помощью алгоритмов разделения ячеек планирование происходит по свободным областям, получается, что основной единицей вычислений в алгоритме является множество точек, это позволит сократить время планирования пути и при реализации алгоритма сократить объем вычислительных ресурсов.
Различные виды алгоритмов точного разделения ячеек представлены в [1°; 13]. Вертикальное разделение ячеек или трапециевидная декомпозиция для двумерного и трехмерного пространства, описана в [6; 7; 9; 1°; 13], в [1°] так же указано, что метод может быть усовершенствован для применения в и-мерном пространстве. Однако препятствия должны быть кусочно-линейными, т. е. должны быть представлены как полуалгебраическая модель [1°], для которой все примитивы являются линейными. К сожалению, в большинстве задач планирования движения возникают нелинейные алгебраические примитивы из-за нелинейных преобразований, которые появляются в результате вращений форм.
Метод триангуляции пространства для двумерного пространства, описанный в [6; 7; 1°], заключается в представлении свободного пространства в виде сим-плициального комплекса. Алгоритм триангуляции очень сложен и затрачивает много времени на исполнение.
Цилиндрическая декомпозиция [1°] похожа на вертикальное разделение ячеек, за исключением того, что границы разделения ячеек не останавливаются на границах препятствий, а расходятся в бесконечность. Получаем точки, которые принадлежат как свободному пространству, так и препятствиям. Для окончательного описания границ ячеек используются логические предикаты. От цилиндрической декомпозиции легко перейти к любой размерности пространства,
топологии пространства конфигураций и полуалгеб-раическим моделям. Цилиндрическая алгебраическая декомпозиция решает любую задачу планирования движения. Однако определение смежности ячеек для данного метода является трудной задачей. Время работы цилиндрической алгебраической декомпозиции зависит от многих факторов, но основное влияние на длительность оказывает количество полиномов в модели.
Также в [13] представлены декомпозиция бустрофедон (boustrophedon decomposition), для усовершенствования данного метода - декомпозиция Морзе и декомпозиция, основанная на видимости (Visibility-based decomposition), которые применяются в двумерном пространстве.
Существуют методы аппроксимирующей декомпозиции [9]. В них также свободное пространство представлено в виде множества ячеек, но ячейки имеют простую заданную форму, например прямоугольники.
Большинство работ рассматривают алгоритмы разделения ячеек для двумерного пространства [10; 13], такие алгоритмы больше направлены на генерацию пути для мобильных роботов, и не удовлетворяют поставленным задачам в управлении манипуляторами, имеющими более двух степеней подвижности.
Ниже предлагается версия алгоритма разделения ячеек (АРЯ), подходящего для генерации пути движения n-звенного манипулятора, который объединяет разрешенные конфигурации манипулятора в «свободные области», сокращая этим время вычисления пути.
Алгоритм разделения ячеек. Полное описание алгоритма дано в [3]. Планирование в известной среде осуществляется в дискретизированном пространстве обобщенных координат. Ячейкой назовем множество точек дискретизированного пространства, находящихся на одной линии дискретизации и имеющих координаты (xb x2, ..., xn), где, например, x1, x2, ..., xn-1 имеют одинаковые значения для всех точек одной ячейки, а xn - различны. Хотя данный способ выделения ячеек не объединяет точки пространства в ячейки во всех измерениях, но даже такая декомпозиция позволит нам оперировать множеством точек одновременно и ускорить работу алгоритма планирования пути. Свободной областью называется множество смежных точек ячейки, не содержащих ни одной запрещенной точки.
Алгоритм имеет три этапа и вызывается из АНС каждый раз, когда возникает необходимость в планировании предварительного пути. Исходные данные: X = q1, XT = qT, Q (множество запрещенных точек, включая конструктивные ограничения), где qn - текущая конфигурация манипулятора, точка смены пути [2].
Этап 1. Создание таблицы свободных областей TFR (table of free regions) на основе информации, переданной сенсорной системой при вызове подпрограммы планирования пути (используется множество Q), если она еще не создана. Если таблица TFR уже существует, то в нее вносятся изменения в соответствии с новой информацией, поступившей от сенсоров. В каждой ячейке может быть одна или более свободных
областей, /-ая строка ТТО. соответствует /-ой ячейке, каждая свободная область этой ячейки характеризуется двумя крайними точками. По определению ячейки, компоненты координат точек, принадлежащих одной ячейке, одинаковы, кроме одной компоненты хп, значение этой компоненты и будет служить уникальным идентификатором каждой точки в одной ячейке. Так как в свободной области точки являются смежными, то для обозначения границ области достаточно указать идентификаторы двух крайних точек (табл. 1).
Этап 2. Построение графа поиска, который представляет собой дерево соединений свободных областей. Корнем дерева является свободная область, содержащая целевую конфигурацию ХТ. Узел дерева имеет как входящие, так и исходящие ветви. Корень дерева - это узел, у которого только исходящие ветви. Лист дерева - это узел, у которого только входящие ветви. Значениями узлов дерева являются границы свободных областей ячеек. Лист присоединяется к узлу, если его свободная область соединима со свободной областью данного узла (определяется по ТЕК) и если такого узла еще нет в дереве. Построение дерева прекращается, если листом дерева стала область, содержащая начальную конфигурацию Х0. Для выбора следующего рассматриваемого листа использовался алгоритм поиска в глубину.
Этап 3. Строим путь, используя дерево соединения свободных областей, поднимаясь от последнего присоединенного листа, в котором указана свободная область, содержащая начальную точку X0, к корню дерева, в котором содержится область с конечной конфигурацией ХТ. Путь строится в 3 этапа:
3.1. Строим последовательность базовых точек пути, выбирая по одной точке из каждой свободной области, через которые будет проходить путь, т. е. области, принадлежащие узлам дерева между последним узлом и корнем.
X0 - первая точка последовательности базовых точек пути.
При построении базового пути используется уравнение прямой, проходящей через две точки на плоскости:
х - х1 _ У - У
х2 - Х1 У2 - У1
Из формулы (1) получим
У =
У2 - У
(
• х +
У1 - Х1
У2 - У
л
(1)
(2)
Задавая абсциссу х точки, получаем у (х1, у1) - координаты предыдущей точки базового пути, (х2, у2) -координаты целевой точки. Так как в ячейке все точки имеют одинаковые компоненты координат, кроме компоненты хп, используем проекции предыдущей точки базового пути и целевой точки на плоскость Ох1хп как точки для прямой на плоскости и находим компоненту хп. Для пути выбираем ближайшую к (х, у) разрешенную точку рассматриваемой свободной области.
3.2. Добавляем точки в последовательность базовых точек пути, если между двумя точками расстояние больше одного шага дискретизации.
Просматриваем последовательность базовых точек и находим пару точек, расстояние между которыми больше одного шага дискретизации. Запишем координаты двух соседних точек последовательности в следующем виде (на примере трехмерного пространства):
(х1, х2, х1)ЛЖ>(х2, х22, х32). (3)
I > 1, то расстояние между точками
Если
больше одного шага дискретизации. Добавим столько точек между ними, сколько необходимо. Найдем
х3 первой точки между этими двумя точками:
■-1 ^ ~2 то х _ х1 + 1;
если х3 < х3 , то х3 если же х > х'2 , то х3
= х3 -1.
*1 у
Остальные компоненты координат берем, для начала, как у предыдущей точки. Проверяем, принадлежит ли новая точка той же свободной области, что и предыдущая точка последовательности базовых точек. Если точка не лежит в границах области, тогда компоненту х3 новой точки оставляем той же, но оставшиеся компоненты координат берем, как у следующей точки, из последовательности базовых точек и т. д.
3.3. Удаляем петли из пути, т. е. отрезки пути, которые выходят из какой-либо точки, а затем в нее же возвращаются или проходят в одном шаге дискретизации. Последовательно перебираем точки пути и для каждой точки ищем среди оставшихся точек последовательности точку, которая равна текущей или лежит в одном шаге дискретизации от текущей. Если такая точка найдена, то все точки от текущей до найденной, включая найденную точку, удаляются из пути.
После того как предварительный путь получен, управление возвращается АНС.
Таблица 1
ТЕЯ
№ ячейки Количество свободных областей Границы области 1 Границы области 2 Границы области М
1 1 хп 1 х(п
2 М хп(1) - хп(аО хп(а2) - хп(аз) (к) хп "г? хп
Примечания: к - количество возможных различных значений компоненты хп; М < к - количество свободных областей в ячейке; аь а2, ..., а, є [хп(1); хп(к)] - какая-то компонента координат хп.
Программная реализация. На основе алгоритмов создано программное обеспечение управления манипулятором в среде с неизвестными препятствиями. Задана рабочая сцена для тестирования (рис. 1 и 2).
Видеокамера
Препятствие 1
Направление вида сбоку
\ І3 . '2
Препятствие 2
Рис. 1. Рабочая сцена (вид сверху)
Препятствие 1
Видеокамера
Рис. 2. Рабочая сцена (вид сбоку)
Видеокамера определяет расстояния г2, г3 и г4. Тестовая рабочая сцена удовлетворяет следующим соотношениям: /1 < г5, 12 < г5, 13 < г5, 12 +13 > г1, где
А, 12, - длины звеньев манипулятора.
Начальная и целевая конфигурации (рис. 3) заданы оператором в виде векторов обобщенных координат: д0 = (3,14; 0; 0) радиан, дТ = (0; 1,57; 0) радиан, шаг дискретизации равен 0,314 радиан, количество шагов
дискретизации - 20. Оператором заданы также вектора ограничений, наложенные на звенья, вектор нижних значений X = (0; -3,14; -3,14), вектор верхних значений Xі = (6,28; 3,14; 3,14). Препятствия - два параллелепипеда темного цвета, размер и положение которых заданы оператором, но до начала движения подсистеме планирования пути о препятствиях ничего не известно. Роботу поставлена задача переместиться из конфигурации ц° в конфигурацию д7", ^= 4°.
Перед началом планирования пути модуль имитации видеосенсорной системы обнаруживает некоторые препятствия в рабочей зоне. Камера (см. рис. 1 и 2), «видит» только ближайшую к камере грань малого препятствия. Модуль рассчитывает запрещенные конфигурации, которые пересекаются с данной гранью препятствия (см. рис. 3), облако точек - это полученные запрещенные конфигурации манипулятора (рис. 4).
После того, как информация, полученная от ви-деосенсорной системы, представлена в виде запрещенных конфигураций, алгоритм разделения ячеек генерирует предварительный путь, соединяющий X0 и X (где X0 = дп, X7 = дТ), и возвращает управление АНС.
Конфигурации, которые принимал манипулятор во время движения, отражены на рис. 5 (темного цвета). Путь Р состоит из 34 конфигураций, не включая начальную и конечную конфигурации, этот же путь представлен в пространстве обобщенных координат (рис. 6, точки темного цвета).
Путь Р соединяет д0 и дт и является результатом объединения путей Р, созданных при каждом вызове подпрограммы планирования пути:
Р=и р
(4)
где т - количество вызовов алгоритма разделения ячеек.
а б
Рис. 3. Стартовая д0 и целевая дТ конфигурации (а), декартовое пространство (б)
Рис. 6. Конфигурации пути в системе обобщенных координат
Таблица 2
Сравнение времени работы в зависимости от типа сенсорной системы
Количество шагов дискретизации Не учитывая информацию от видеосенсоров Учитывая информацию от видеосенсоров
Время, с. Количество вызовов Время, с. Количество вызовов
20 228 213 12 10
Данный путь Р составлен из путей Рі (і = 1, 2, ., 10), сгенерированных в результате десяти вызовов подпрограммы планирования пути. Следовательно, в данном примере манипулятор 9 раз столкнулся с ранее неизвестным препятствием, которым являлась
грань препятствия, невидимая для видеокамеры. Это препятствие манипулятор обнаружил имитацией тактильных датчиков.
В случае использования видеосенсорной системы, результат получить значительно быстрее (табл. 2).
Библиографические ссылки
1. Ильин В. А. Интеллектуальные роботы: Теория и алгоритмы / Сиб. аэрокосмич. акад. Красноярск, 1995.
2. Лопатин П. К. Алгоритм управления динамическими системами в неизвестной статической среде // Мехатроника. Автоматизация. Управление. 2007. № 2.
С. 9-13.
3. Сафиуллина Н. Ф. Управление манипуляционными роботами в неизвестной среде с использованием разделения областей: выпускная квалификационная работа на соискание степени магистра техники и технологий / Сиб. гос. аэросмич. ун-т. Красноярск, 2008.
4. Baginski B. Motion Planning for Manipulators with Many Degrees of Freedom - The BB-Method [Electronic resource] : phys. dr dissertation / Munich Technical University, 1998. URL: books.google.ru/books.
5. Burns, B. Exploiting Structure: Guided Approach to Sampling-Based Robot Motion Planning [Electronic resource] : phys. dr dissertation / Graduate School of the University of Massachusetts. URL: http://ieeexplore.ieee.org/ iel5/4209048/4209049/04209602.pdf, 2007.
6. Chazelle B. Approximation and decomposition of shapes // Algorithmic and Geometric Aspects of Robotics / ed. J. T. Schwartz, C. K. Yap ; Lawrence Erlbaum Associates. Hillsdale, NJ, 1987. P. 145-185.
7. Chazelle B. Triangulating a simple polygon in linear time // Discrete Comput. Geom. 1991. № 6(5). P. 485-524.
8. Wavefront Method-Based Local-Path Planning for a Mobile Robot with a Vision System / J.-W. Kwon,
D.-H. Yang, D. Chwa, S-K. Hong // SICE-ICASE Intern. Joint Conf. (18-21 Oct., 2006, Busan). Busan, 2006. Р. 1250-1254.
9. Latombe J. C. Robot motion planning. Boston : Kluwer Academic Publishers, 1990.
10. LaValle S. M. Planning Algorithms [Electronic
resource]. Сор. 1999-2006. URL:
http ://msl.cs.uiuc.edu/planning.
11. Lopatin P. K. Algorithm of a manipulator movement amidst unknown obstacles // Proc. of the 10th Intern. Conf. on Advanced Robotics (ICAR2001) (22-25th of August, 2001, Hungary). Hungary, 2001. Р. 327-331.
12. Meikle S., Yates R., Harris A. Computer Vision Algorithms for Autonomous Mobile Robot Map Building and Path Planning // ITSC’97 : IEEE Conf. on Intelligent Transport. System (9-12 Nov. 1997, Boston). Boston, 1997. Р. 99-109.
13. Principles of robot motion: theory, algorithms and implementation / H. Choset [et al.]. Cambr. dge : A Bradford book, 2005.
14. Zhang Y., Zhang L., Zhang X. Mobile Robot Path Planning base on the Hybrid Genetic Algorithm in Unknown Environment // ISDA’08 : VIII Intern. Conf. on Intelligent Systems Design and Applic. (26-28 Nov. 2008, Kaohsiung). Kaohsiung, 2008. Р. 661-671.
N. F. Safiullina, P. K. Lopatin CELL DECOMPOSITION ALGORITHM FOR MANIPULATORS PATH PLANNING
The authors use the well known approach to manipulators path planning in unknown environment, which is reduced to solution of final number path planning tasks in known environment. The new version of cell decomposition algorithm is applied to path planning in known environment in n-dimensional configuration space of generic coordinates. The results of the algorithms implementation are presented.
Keywords: manipulator, cell decomposition algorithm, path planning.
© Ca^nymHHa H. O., .HonaraH n. K., 2012
УДК 621.89.-229.3
Л. В. Строк, В. С. Секацкий, Я. Ю. Пикалов, М. В. Брунгардт
РАСЧЕТ ХАРАКТЕРИСТИК НЕЗАМКНУТОГО ОСЕВОГО ГИДРОСТАТИЧЕСКОГО ПОДШИПНИКА С УЧЕТОМ ШЕРОХОВАТОСТИ ОПОРНЫХ ПОВЕРХНОСТЕЙ
Разработана математическая модель и проведены исследования влияния шероховатости опорных поверхностей на характеристики незамкнутого осевого гидростатического подшипника с дроссельной компенсацией расхода смазки. Показано влияние высоты и шага шероховатости на расходные и нагрузочные характеристики.
Ключевые слова: гидростатические подшипники, математическая модель, шероховатость опорных поверхностей.
Качество конечного изделия зависит от качества ческих опор (подшипников и направляющих). Тради-
проектирования, в частности, от точности и достовер- ционные методики расчета гидростатических опор
ности расчетов основных параметров изделия. Осо- основаны на использовании в качестве исходных
бенно это актуально при проектировании гидростати- параметров их номинальных значений. Однако откло-