Пространство конфигураций

Первый шаг к решению задачи управления движением робота состоит в создании подходящего представления задачи. Начнем с простого представления для простой задачи. Рассмотрим манипулятор робота, показанный на рис. 25.11, а. В нем имеются два шарнира, которые движутся независимо друг от друга. В результате движения шарниров изменяются координаты (х,у) локтя и захвата (манипулятор не может двигаться в направлении z). Это описание показывает, что конфигурацию данного робота можно описать с помощью четырехмерных координат: использовать координаты (хе,уе) для обозначения местонахождения локтя относительно среды и координаты (хд, уд) — для обозначения местонахождения захвата. Очевидно, что эти четыре координаты полностью характеризуют состояние робота. Они составляют представление, которое принято называть представлением рабочего пространства, поскольку координаты робота заданы в той же системе координат, что и объекты, которыми он должен манипулировать (или столкновения с которыми должен избегать). Представления рабочего пространства хорошо подходят для проверки на предмет столкновения, особенно если робот и все объекты представлены с помощью простых многоугольных моделей.
Но представление рабочего пространства имеет один недостаток, связанный с тем, что фактически не все координаты рабочего пространства являются достижимыми, даже в отсутствии препятствий. Это обусловлено наличием ограничений связи в пространстве достижимых координат рабочего пространства. Например, позиция локтя (хе,уе) и позиция захвата (xg, уд) всегда разнесены на постоянное расстояние, поскольку шарниры, соответствующие этим позициям, связаны с помощью жесткого предплечья. Планировщик движений робота с алгоритмом, определенным на координатах рабочего пространства, сталкивается с проблемой выработки таких путей, которые позволяют придерживаться указанных ограничений. Такая задача становится особенно сложной в связи с тем, что пространство состояний является непрерывным, а ограничения — нелинейными.
Как оказалось, проще осуществлять планирование на основе представления пространства конфигураций. Вместо представления состояния робота с помощью декартовых координат его элементов это состояние представляется с помощью конфигурации шарниров робота. В данном примере в конструкцию робота входят два шарнира. Поэтому его состояние может быть представлено двумя углами, ф3 и фе, относящимися соответственно к шарниру плеча и к шарниру локтя. В отсутствие каких-либо препятствий робот может свободно выбрать любое значение из пространства конфигураций. В частности, при планировании пути можно связать текущую и целевую конфигурацию прямой линией. В таком случае, следуя по этому пути, робот может просто изменять углы поворота своих шарниров с постоянной скоростью до тех пор, пока не будет достигнуто целевое местонахождение.
К сожалению, и подход на основе пространства конфигураций имеет свои недостатки. Задание для робота обычно выражается в координатах рабочего пространства, а не в координатах пространства конфигураций. Например, может потребоваться, чтобы робот поместил свой конечный исполнительный механизм в определенную координату в рабочем пространстве, возможно, с указанием также его ориентации. В связи с этим возникает вопрос: как отобразить такие координаты рабочего пространства на пространство конфигураций? Вообще говоря, проще поддается решению обратная задача— преобразование координат пространства конфигураций в координаты рабочего пространства, поскольку для этого достаточно выполнить ряд совершенно очевидных преобразований координат. Эти преобразования являются линейными для призматических шарниров и тригонометрическими для поворотных шарниров. Такую цепочку преобразований координат принято называть кинематикой; этот термин уже встречался при обсуждении мобильных роботов.
Обратная задача вычисления конфигурации робота, для которого задано местонахождение исполнительного механизма в координатах рабочего пространства, называется обратной кинематикой. Проблема вычисления обратной кинематики, как правило, является трудной, особенно для роботов со многими степенями свободы. В частности, это решение редко является уникальным. Для рассматриваемого в качестве примера манипулятора робота существуют две различные конфигурации, при которых захват занимает одни и те же координаты рабочего пространства (см. рис. 25.11).
Вообще говоря, для любого множества координат рабочего пространства этого манипулятора робота с двумя сочленениями количество обратных кинематических решений изменяется в пределах от нуля до двух. А для большинства промышленных роботов количество решений бесконечно велико. Чтобы понять, почему это возможно, достаточно представить себе, что в роботе, рассматриваемом в качестве примера, будет установлен третий, дополнительный шарнир, ось вращения которого параллельна оси существующего шарнира. В таком случае можно будет поддерживать фиксированное местонахождение (но не ориентацию!) захвата и вместе с тем свободно вращать его внутренние шарниры в большинстве конфигураций робота. Добавив еще несколько шарниров (определите, сколько именно?), можно добиться того же эффекта, поддерживая также постоянную ориентацию. Пример аналогичной ситуации уже рассматривался в данной книге, когда читателю было предложено провести "эксперимент", положив ладонь на стол и двигая локтем. В таком случае кинематическое ограничение на позицию ладони не позволяет однозначно определить конфигурацию локтя. Иными словами, задача определения обратной кинематики для сочленения "плечо—предплечье" руки с ладонью, лежащей на столе, имеет бесконечное количество решений.
Вторая проблема, возникающая при использовании представлений пространства конфигураций, связана с наличием препятствий, которые могут существовать в рабочем пространстве робота. В примере, приведенном на рис. 25.11, я, показано несколько таких препятствий, включая свободно свисающую с потолка полосу, которая проникает в самый центр рабочего пространства робота. В рабочем пространстве такие препятствия рассматриваются как простые геометрические формы, особенно в большинстве учебников по робототехнике, которые в основном посвящены описанию многоугольных препятствий. Но как эти препятствия выглядят в пространстве конфигураций?
На рис. 25.11, б показано пространство конфигураций робота, рассматриваемого в качестве примера, при той конкретной конфигурации препятствий, которая приведена на рис. 25.11, а. Это пространство конфигураций можно подразделить на два подпространства: пространство всех конфигураций, достижимых для робота, которое принято называть свободным пространством, и пространство недостижимых конфигураций, называемое занятым пространством. Обозначенный белым цветом участок на рис. 25.11, б соответствует свободному пространству. Все другие участки соответствуют занятому пространству. Различные затенения в занятом пространстве соответствуют разным объектам в рабочем пространстве робота; участки, выделенные черным цветом и окружающие все свободное пространство, соответствуют конфигурациям, в которых робот сталкивается сам с собой. Можно легко обнаружить, что подобные нарушения в работе возникают при крайних значениях углов поворота шарниров плеча или локтя. Два участка овальной формы по обе стороны от робота соответствуют столу, на котором смонтирован робот. Аналогичным образом, третий овальный участок соответствует левой стене. Наконец, наиболее интересным объектом в пространстве конфигураций является простое вертикальное препятствие, проникающее в рабочее пространство робота. Этот объект имеет любопытную форму: он чрезвычайно нелинеен, а в некоторых местах является даже вогнутым. Приложив немного воображения, читатель легко узнает форму захвата на верхнем левом конце манипулятора. Рекомендуем читателю на минуту задержаться и изучить эту важную схему. Форма рассматриваемого препятствия не так уж очевидна! Точка внутри рис. 25.11,5 обозначает конфигурацию робота, как показано на рис. 25.11, а. На рис. 25.12 изображены три дополнительные конфигурации как в рабочем пространстве, так и в пространстве конфигураций. В конфигурации "conf-1" захват окружает вертикальное препятствие.
Вообще говоря, даже если рабочее пространство робота представлено с помощью плоских многоугольников, форма свободного пространства может оказаться очень сложной. Поэтому на практике обычно применяется ощупывание пространства конфигураций вместо явного его построения. Планировщик может вырабатывать конфигурацию, а затем проверять ее для определения того, находится ли она в свободном пространстве, применяя кинематику робота и определяя наличие столкновений в различных координатах рабочего пространства.







Материалы

Яндекс.Метрика