Угол сервиса и его форму также можно рассматривать как показатель подвижности робототехнической системы в том или ином положении и использовать в задачах планирования движений [5].
Успех выполнения роботом заданного движения существенно зависит от структуры среды, от числа и расположения всевозможных приспособлений, оснастки и препятствий в рабочем пространстве. Чем больше "загромож — денность" пространства, тем, как правило, сложнее реализуемые траектории и больше объем вычислительных операций для планирования движений и действий робота. Даже в робототехнических системах, в которых механической рукой управляет оператор, наблюдая за рабочей зоной, ему не всегда удается найти существующее решение для перевода захвата в требуемую точку пространства из-за того, что двигательные возможности руки в среде с препятствиями и в свободном пространстве существенно различаются. Этот факт лишь подчеркивает необходимость разработки автоматических систем планирования траекторий на стратегическом уровне.
Автоматическое планирование траекторий робота в среде с препятствиями до сих пор является весьма сложной задачей. Известные алгоритмы ее решения можно разбить на две группы. К первой группе [1, 7, 9] относятся алгоритмы, основанные на локальных методах построения программных траекторий и на некоторых эвристических соображениях, что в ряде случаев приводит к тупиковым ситуациям. Ко второй группе [10, 12, 15] относятся глобальные алгоритмы, в соответствии с которыми предполагается просмотр и анализ возможных конфигураций руки в множестве точек рабочего пространства. Это приводит к высокой размерности решаемых уравнений и большому времени вычислений. Уменьшить размерность можно за счет использования закономерностей изменения в рабочем пространстве так называемого множества свободных конфигураций механизма, связанного с понятием угла сервиса.
При работе в среде с препятствиями выделяют две существенно различающиеся модификации задачи построения программной траектории.
1. Задано начальное положение точечного объекта и известны координаты цели. Необходимо перевести объект из начального положения в цель, не пересекая при этом границ препятствий.
2. Объектом является манипуляционная система, первое подвижное звено которой установлено на стойке, неподвижной относительно препятствий, а последнее снабжено захватом. Начальная конфигурация механизма известна. Необходимо найти законы движения по всем степеням подвижности, переводящие захват как точечный объект в цель, но при этом звенья механизма не должны задевать за препятствия и выходить за пределы ограничений в шарнирах.
Для решения задачи 1 разработан ряд алгоритмов, используемых как в робототехнике [18], так и в других областях знаний [14]. Задача 2 значительно сложнее. Попытаемся выявить дополнительные условия, переводящие задачу 2 в задачу 1. В качестве объекта исследования возьмем механизм, который можно моделировать плоской стержневой кинематической цепью с тремя степенями подвижности и имеющий ограничения в шарнирах на углы поворота звеньев. Препятствия могут быть произвольной конфигурации.
Условие свободного перемещения захвата по любому вектору из произвольной точки А рабочего пространства (рис. 4.12,а) базируется на существовании в этой точке множества свободных конфигураций (МСК). Понятие множества свободных конфигураций очень близко к понятию сервиса манипулятора, но в общем случае с ним не совпадает. Чтобы выделить МСК манипулятора в точке А его рабочего пространства, необходимо исключить из всего множества конфигураций, определяющих угол сервиса в заданной точке, все граничные конфигурации, т. е. те, в которых ни одно из звеньев манипулятора не касается препятствий или ограничений в шарнирах. Именно поэтому такие конфигурации мы называем свободными, а их множество в данной точке и является искомым. Величина МСК также определяется углом в заданной точке, но в отличие от угла сервиса Ф, будем
его обозначать &с.
Для иллюстрации различия между сервисом и МСК на рис. 4.13 отражена ситуация, когда угол сервиса Ф существует, а МСК пусто (дс = 0). Как
правило, такие случаи обусловлены сочетанием определенных конфигурацией руки и расположением препятствий относительно исследуемой точки А рабочего пространства. Механизм руки из-за препятствий или ограничений в шарнирах теряет степени подвижности и в конечном итоге можно получить из механизма с п степенями подвижности механизм только с одной степенью подвижности.
Множество свободных конфигураций определяет некоторый запас подвижности механизма, приведенный к заданной точке рабочего пространства. Обычно, чем больше МСК, тем дальше удалены звенья механизмов от препятствий и ограничений в шарнирах, и больше величина свободной зоны для выполнения манипулятором требуемого движения. Можно утверждать, что если в точке А рабочего пространства манипу-
б
Рис. 4.12. Структура рабочего пространства манипулятора, работающего в среде с препятствиями а — зоны смены конфигураций I П (7), II III (2), III IV (3), IV I (4) кривая АВ — пример возможной траектории, ADC — пример невыполнимой траектории; б — зоны существования конфигураций типа I (5), II (б), ІП (7), IV (8). Типы конфигураций см. на рис. 4.14 |
Рис. 4.13. Примеры наличия угла сервиса и отсутствия МСК в подвижном четырехзвеннике
а — контур препятствия описан дугой окружности с центром в точке А и радиусом, равным длине последнего звена; б — контур препятствия является сгибающей семейства положений второго звена
б |
лятора, не лежащей на границе препятствий, существует МСК, то гарантированы конечные перемещения захвата от точки А по любому вектору. Действительно, для рассматриваемого плоского случая среди допустимых взаимно независимых приращений обобщенных координат Aqu Aq2, Д<?з всегда можно выбрать такие, которые обеспечат перемещение захвата из точки А с любым к = Ах/Ау, где Ах и Ау — проекции перемещений захвата по осям X и У. Это утверждение подтверждает также факт, доказанный в работе [13], что равенство Ф = 0 является необходимым и достаточным условием расположения точки А на границе рабочего пространства манипулятора, в этом случае и Фс = 0. Таким образом, если О > 0, то точка А лежит внутри рабочей зоны, следовательно, если Д. > 0, то из этой точки можно перемещать захват по любому направлению. Аналогичное утверждение справедливо также и для пространственного механизма, если его МСК представляет собой пространственный угол, внутри которого последнее звено может занимать любое положение.
Знание МСК полностью определяет локальные геометрические свойства манипулятора в среде с препятствиями и при решении траекторных задач позволяет выполнить эквивалентную замену стержневого механизма манипулятора точечным объектом, расположенным в захвате. Отсюда следует, что решение задачи 1 будет решением задачи 2, если в каждой точке решения задачи 1 существует МСК. На рис. 4.12 траектория движения точечного объекта из начального положения А в цель В является решением задачи о манипуляционной системе, так как в любой точке на кривой А В существует МСК. Из приведенного утверждения следует также тот факт, что если два препятствия соединены линией, в каждой точке которой МСК пусто (угол t)c = 0), то "коридор" между этими препятствиями является непроходимым для манипулятора.
Требование существования МСК является необходимым, но не достаточным для решения вопроса о существовании траектории манипуляционной системы. Например, на рис. 4.12 в каждой точке траектории точечного объекта из точки А в цель С существует МСК, но сама траектория не является решением задачи 2. Видно, что МСК в начальной и в конечной точках траектории характеризуют конфигурации, разделяемые особым положением системы. Дальше положения D из начальной конфигурации продвинуться по траектории невозможно, так как на ней нет точек, которым соответствуют особые положения системы и в которых собственно только и возможен переход из одного типа конфигурации в другой.
Рис. 4.14. Типы конфигураций и особые положения для рассматриваемого плоского четырехзвенника
Наличие возможности смены конфигураций является вторым важным требованием, предъявляемым со стороны механизма к траектории точечного объекта, которая предполагается решением задачи о манипуляционной системе.
Для выяснения возможности смены конфигураций в произвольной точке рабочего пространства проанализируем структуру МСК более подробно. В рассматриваемом случае тип конфигурации зависит от того, больше или меньше нуля обобщенные координаты руки q2 и q3. На рис. 4.14 приведены четыре возможных типа конфигураций для рассматриваемого четырехзвенника. Переход конфигурации из одного типа в другой происходит только через особое положение, при котором два соседних звена вытянуты в одну прямую (q2 = 0 или q3 = 0). Очевидно, что при такой классификации возможен только определенный порядок смены типов конфигураций, который характеризуется графом, представленным на рис. 4.15, а. Он запрещает, например, переход 1<н> III или II<->IV. Такой граф является полным. Однако соотношение длин звеньев руки, ограничения в шарнирах и препятствия, как правило, не позволяют реализовать полный граф переходов. Для формирования усеченных графов примем следующие правила:
777777 |
(Е |
Рис. 4.15. Возможные ситуации и соответствующие им графы G состояний манипулятора в свободной рабочей зоне (а) и в среде с препятствиями (б-г) |
© |
1) каждой і-й вершине графа поставим в соответствие число ф„ равное значению МСК в і-й конфигурации; 2) соседние вершины і и і + 1 (при і = 4 значение (г + 1) принимается равным 1) будем соединять ребром только в том случае, если существует і-я особая конфигурация; 3) при дс = 0 будем удалять і-ю вершину, при этом без проверки правила 2 устраняются примыкающие к ней ребра.
Полученный по этим правилам граф G определяет двигательные возможности манипуляционной системы в точке рабочего пространства, совмещенной с захватом. Если граф полностью вырожден, то рассматриваемая точка лежит вне зоны достижимости руки или на ее границе. Если же хотя бы одна из вершин графа существует, а манипулятор находится в конфигурации, соответствующей этой вершине, то выполняется условие свободного перемещения. Наличие ребер указывает на возможность перехода в данной точке из очной конфигурации в другую. Некоторые ситуации, встречающиеся при работе в среде с препятствиями, структуры МСК и соответствующий граф G состояний представлены на рис. 4.15.
Сложность задачи построения траектории манипулятора с требованиями смены конфигураций проиллюстрируем на примере ситуации, отраженной на рис. 4.12. Необходимо перевести манипулятор из начальной
точки Е в конечную F. Если бы мы имели точечный объект, то все свободное (не занятое препятствиями) пространство можно было бы покрыть множеством траекторий EF, и каждая из них была бы решением задачи 1. Некоторое подмножество решений задачи 1 является и решением задачи 2 о манипуляционной системе. Все это подмножество характеризуется тем, что любая принадлежащая ему траектория плавно переводит манипулятор из графа состояний точки Е в граф состояний точки F. Начальная конфигурация в точке Е (см. рис. 4.12, б) принадлежит к типу I, а конечная в точке F — к типу III. Следовательно, переход должен быть обязательно осуществлен через зоны смены конфигураций.
Для выделения всего подмножества решений задачи 2 был создан экспериментальный макет, с помощью которого исследовано МСК во всем рабочем пространстве манипулятора. Отметим, что конструктивно изменения углов поворота в шарнирах допускались в пределах к > qj > — я; j = 1,2, 3, поэтому все особенности формы и расположения полученных областей определяются длинами звеньев, положением стойки и границами препятствий. Были найдены области существования конфигураций І, П, ІП, IV (см. рис. 4.12,6) и построены границы зон, внутри которых возможны смены конфигураций 1<-»П, 11<-»Ш, III<-»IV, IV<->1. Для наглядности зоны четырех типов разнесены на четыре слоя (рис. 4.16).
Полученное пространство состояний системы представляет собой четырехслойный "пирог", между слоями которого существуют "окна" для перехода из одного слоя в другой. Как видно из рис. 4.16, чтобы попасть из точки Е с конфигурацией I в цель F, в которой существует только конфигурация III, траектория захвата обязательно должна пройти через области 5 и 6 смены конфигураций I —> II —> III или через зоны 8 и 7 в последовательности III —> IV —> I, т. е. так, как указано графом, приведенным на рис. 4.15, а. Все траектории, проходящие из Е в F через области 5, б или 8, 7, являются решениями поставленной задачи. Каждая из них плавно переводит граф состояний точки Е в граф состояний точки F.
Алгоритм определения траектории захвата манипулятора в среде с препятствиями не предполагает построения пространства состояний руки во всем рабочем объеме, как это было сделано в предыдущем примере, поскольку такое построение требует много машинного времени. Алгоритм базируется на последовательном усечении множества решений задачи о точечном объекте по информации, полученной из графов состояний манипулятора в ограниченном числе точек пространства. На первом этапе работы алгоритма строится граф траекторий точечного объекта. При этом исследуются только расположение и форма препятствий, а структура руки, ее начальная конфигурация и координаты целевой точки не учитываются. По результам анализа минимальных расстояний между препятствиями (или другим способом [11]) все свободное пространство разбивается на ряд областей, ограниченных препятствиями и линиями минимальных расстояний между ними (рис. 4.17, а). Затем эти области нумеруются, и строится граф траекторий точечного объекта (рис. 4.17, б). Граф характеризует связи между областями, и если известно, в каких областях лежат начальная и целевая точки, то по графу можно определить все возможные траектории (с точностью до областей), соединяющие данные точки. Например, если
Рис. 4.16. Зоны рабочего пространства манипулятора, по которым должен пройти захват для достижения точки F (конфигурация типа III) из начальной точки Е (конфигурация типа I)
1-4 — кривые, ограничивающие пространство с конфигурациями манипулятора соответственно типа I, II, III, IV; 5S — кривые, ограничивающие зоны смены конфигураций I II, II <г-»III, III <г-»IV, IV I
Рис. 4.17. Рабочее пространство манипулятора с разбивкой по зонам, определяющим "коридоры" между препятствиями (в) и соответствующий граф "грубых" (с точностью до зоны) траекторий (6)
начальная точка лежит в области 10, а целевая — в области 6, то возможны траектории 10-9-8-7-6, 10-2-3-4-5-6, 10-1-8-7-6 и т. д.
На втором этапе строится граф G состояний руки в целевой точке, используемой для выделения на графе только тех возможных траекторий, которые могут быть решениями поставленной задачи. Здесь может быть несколько ситуаций. Если граф состояний вырожден, и в целевой точке не существует ни одной конфигурации манипулятора, то цель не может быть достигнута (решения не существует). Если существует только одна конфигурация (целевая точка лежит на границе рабочего пространства) или одно множество конфигураций (на графе G имеется одна вершина или несколько вершин, связанных ребрами), то траектория захвата должна проходить по областям, занимаемым манипулятором (если считать, что начальное положение захвата лежит в той же области, что и основание манипулятора). И, наконец, если на графе состояний имеется несколько несвязанных ребрами вершин, то возможно столько же решений. Каждая вершина на графе определяет множество конфигураций, но манипулятор при этом занимает одни и те же области пространства; именно по этим областям и должна проходить траектория захвата. Например, для целевой точки В (см. рис. 4.17, а) граф G имеет две несвязанные вершины, а манипулятор в этих состояниях занимает области 13-12-11-16-7-6 и 13-12-11-16-15-6. Учитывая начальное положение манипулятора в областях 13-12-11-9-10, возможны две траектории захвата, а именно 10-9-11-16-7-6 и 10-9-11-16-15-6, которые на рис. 4.17, б выделены пунктиром со стрелками. Именно эти траектории исследуются и уточняются на последующих этапах работы алгоритма.
Таким образом, по анализу МСК в целевой точке можно отфильтровать из исходной большой совокупности "грубых" траекторий, определенных графом типа графа, представленного на рис. 4.17, б, одну или несколько возможных. Следует отметить, что эффект фильтрации усиливается с увеличением "загроможденности" пространства. В результате кажущаяся сложной задача с большим числом препятствий упрощается.
На третьем этапе работы алгоритма должен быть осуществлен поиск уточненной траектории. Под траекторией здесь понимается совокупность точек, приводящих к цели, в которых удовлетворяются изложенные выше условия существования МСК и смены конфигураций. Для вычисления их координат используются локальные характеристики МСК, т. е. его величина и производные по различным направлениям. При этом исследуются в первую очередь точки свободного пространства, лежащие в областях, указанных выделенными линиями на графе (см. рис. 4.17, б). Однако требование смены конфигураций может привести к необходимости анализа соседних областей. Например, если при прохождении области 9 (см. рис. 4.17, а) в районе ее открытой границы с областью 8 на графе G состояний появилась несвязанная ребрами вершина с новым типом конфигураций, то при необходимости перехода в эту новую конфигурацию программную траекторию следует скорректировать в область 8 с целью выявления в ней точек смены конфигураций.
При необходимости строится граница зоны смены конфигураций или граница сдс= 0. Если точки смены конфигураций отсутствуют или граница Фс = 0 соединяет два препятствия, расположенные по разные стороны от коридора, то такой коридор непроходим для манипулятора, и делается вывод о том, что в исследуемой последовательности областей решения не существует. Затем аналогично исследуется следующая последовательность областей, полученная на втором этапе алгоритма, и так до тех пор, пока не будет показано, что решения не существует, или будет найдена траектория, являющаяся решением поставленной задачи.
На последнем четвертом этапе алгоритма должна осуществляться аппроксимация траектории и выработка программных законов движения по всем степеням свободы. Здесь следует выполнить единственное условие, в соответствии с которым последнее звено манипулятора должно находиться в пределах текущего угла Фс. Целесообразно ориентировать последнее звено по биссектрисе данного угла (при этом манипулятор будет равноудален от препятствий и ограничений в шарнирах), а скорость по траектории установить пропорционально углу Фс.