Главная arrow Робототехника arrow Пространство конфигураций
Как начинался компьютер
Компьютерная революция
Двоичный код
Разработки военных лет
Интегральные микросхемы
Микрокомпьютер
Персоны
Сеть
Язык компьютера
Развитие ПО
Гибкие системы
Средства разработки
Информатика
Вычислительная наука
Операционные системы
Искусственный интеллект
Предыстория
Поиск
Знания и рассуждения
Логика
Робототехника
 

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

В робототехнике принятые решения в конечном итоге воплощаются в движениях исполнительных механизмов. Задача  позиционирующего движения состоит в доставке робота или его конечного исполнительного механизма в заданную целевую позицию. Это — сложная задача, но еще сложнее задача  согласующего движения, при выполнении которой робот движется, находясь в физическом контакте с препятствием. Примером согласующего движения является закручивание электрической лампочки манипулятором робота или подталкивание роботом ящика для его перемещения по поверхности стола.

Начнем с поиска подходящего представления, которое позволяло бы описывать и решать задачи планирования движений. Как оказалось, более удобным для работы по сравнению с исходным трехмерным пространством является пространство   конфигураций — пространство состояний робота, определяемых положением, ориентацией и углами поворота шарниров. Задача  планирования пути состоит в поиске пути от одной конфигурации к другой в пространстве конфигураций. Основные семейства применяемых при этом подходов известны под названиями декомпозиции ячеек и скелетирования. В каждом из этих подходов задача планирования непрерывного пути сводится к задаче поиска в дискретном графе на основе выявления некоторых канонических состояний и  путей в свободном пространстве. Во всем данном разделе предполагается, что движения детерминированы, а информация о локализации робота является точной. В следующих разделах эти предположения будут ослаблены.

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

Первый шаг к решению задачи управления движением робота состоит в создании подходящего представления задачи. Начнем с простого представления для простой задачи. Рассмотрим манипулятор робота, показанный на рисунке а). В нем  имеются два шарнира, которые движутся независимо друг от друга. В результате движения шарниров изменяются координаты (х,у) локтя и захвата (манипулятор не может двигаться в направлении z). Это описание показывает, что конфигурацию данного робота можно описать с помощью четырехмерных координат: использовать координаты (хе, yе) для обозначения местонахождения локтя относительно среды и координаты (xgg) — для обозначения местонахождения захвата. Очевидно, что эти четыре координаты полностью характеризуют состояние робота. Они составляют представление, которое принято называть представлением рабочего пространства, поскольку координаты робота заданы в той же системе координат, что и объекты, которыми он должен манипулировать (или столкновения с которыми должен избегать). Представления рабочего пространства хорошо подходят для проверки на предмет столкновения, особенно если робот и все объекты представлены с помощью простых многоугольных моделей.



















Сравнение способов представления: представление рабочего пространства манипулятора робота с двумя степенями свободы; рабочее пространство представляет собой ящик с плоским препятствием в виде пластины, свисающей с потолка (а); пространство конфигураций того же робота. В этом пространстве только участки, обозначенные белым цветом, соответствуют конфигурациям, в которых не возникают столкновения с препятствиями. Точка на этом рисунке соответствует конфигурации робота, показанной слева (б)

Но представление рабочего пространства имеет один недостаток, связанный с тем, что фактически не все координаты рабочего пространства являются  достижимыми, даже в отсутствии препятствий. Это обусловлено наличием ограничений связи в пространстве достижимых координат рабочего пространства. Например, позиция локтя (хе, уе) и позиция захвата (xg, yg) всегда разнесены на постоянное расстояние, поскольку шарниры, соответствующие этим позициям, связаны с помощью жесткого предплечья. Планировщик движений робота с алгоритмом, определенным на координатах рабочего пространства, сталкивается с проблемой выработки таких путей, которые позволяют придерживаться указанных ограничений. Такая задача становится особенно сложной в связи с тем, что пространство состояний является непрерывным, а ограничения — нелинейными.

Как оказалось, проще осуществлять планирование на основе представления  пространства конфигураций. Вместо представления состояния робота с помощью декартовых координат его элементов это состояние представляется с помощью конфигурации шарниров робота. В данном примере в конструкцию робота входят два шарнира. Поэтому его состояние может быть представлено двумя углами, φs и φе, относящимися соответственно к шарниру плеча и к шарниру локтя. В отсутствие каких-либо препятствий робот может свободно выбрать любое значение из пространства конфигураций. В частности, при планировании пути можно связать текущую и целевую конфигурацию прямой линией. В таком случае, следуя по этому пути, робот может просто изменять углы поворота своих шарниров с постоянной скоростью до тех пор, пока не будет достигнуто целевое местонахождение.

К сожалению, и подход на основе пространства конфигураций имеет свои недостатки. Задание для робота обычно выражается в координатах рабочего пространства, а не в координатах пространства конфигураций. Например, может потребоваться, чтобы робот поместил свой конечный исполнительный механизм в определенную координату в рабочем пространстве, возможно, с указанием также его ориентации. В связи с этим возникает вопрос: как отобразить такие координаты рабочего пространства на пространство конфигураций? Вообще говоря, проще поддается решению обратная задача— преобразование координат пространства конфигураций в координаты рабочего пространства, поскольку для этого достаточно выполнить ряд совершенно очевидных преобразований координат. Эти преобразования являются линейными для призматических шарниров и тригонометрическими для поворотных шарниров. Такую цепочку преобразований координат принято называть кинематикой.

Обратная задача вычисления конфигурации робота, для которого задано местонахождение исполнительного механизма в координатах рабочего пространства, называется обратной кинематикой. Проблема вычисления обратной кинематики, как правило, является трудной, особенно для роботов со многими степенями свободы. В частности, это решение редко является уникальным. Для рассматриваемого в качестве примера  манипулятора робота существуют две различные конфигурации, при которых захват занимает одни и те же координаты рабочего пространства.

Для любого множества координат рабочего пространства этого манипулятора робота с двумя сочленениями количество обратных кинематических решений изменяется в пределах от нуля до двух. А для большинства промышленных роботов количество решений бесконечно велико. Чтобы понять, почему это возможно, достаточно представить себе, что в роботе, рассматриваемом в качестве примера, будет установлен третий, дополнительный шарнир, ось вращения которого параллельна оси существующего шарнира. В таком случае можно будет поддерживать фиксированное местонахождение (но не ориентацию!) захвата и вместе с тем свободно вращать его внутренние шарниры в большинстве конфигураций робота. Добавив еще несколько шарниров (определите, сколько именно?), можно добиться того же эффекта, поддерживая также постоянную ориентацию. Задача определения обратной кинематики для сочленения "плечо—предплечье" руки с ладонью, лежащей на столе, имеет бесконечное количество решений.

Вторая проблема, возникающая при использовании представлений пространства конфигураций, связана с наличием препятствий, которые могут существовать в рабочем пространстве робота. В примере, приведенном на рисунке а), показано несколько таких препятствий, включая свободно свисающую с потолка полосу, которая проникает в самый центр рабочего пространства робота. В рабочем пространстве такие препятствия рассматриваются как простые геометрические формы, особенно в большинстве учебников по робототехнике, которые в основном посвящены описанию многоугольных препятствий. Но как эти препятствия выглядят в пространстве конфигураций?

На рисунке б) показано пространство конфигураций робота, рассматриваемого в качестве примера, при той конкретной конфигурации препятствий, которая приведена на рисунке а). Это пространство конфигураций можно подразделить на два подпространства: пространство всех конфигураций, достижимых для робота,  которое принято называть свободным пространством, и пространство недостижимых конфигураций, называемое занятым пространством. Обозначенный белым цветом участок на рисунке б) соответствует свободному пространству. Все другие участки соответствуют занятому пространству. Различные затенения в занятом пространстве соответствуют разным объектам в рабочем пространстве робота; участки, выделенные черным цветом и окружающие все свободное пространство, соответствуют   конфигурациям, в которых робот сталкивается сам с собой. Можно легко обнаружить, что подобные нарушения в работе возникают при крайних значениях углов поворота шарниров плеча или локтя. Два участка овальной формы по обе стороны от робота соответствуют столу, на котором смонтирован робот. Аналогичным образом, третий овальный участок соответствует левой стене. Наконец, наиболее интересным объектом в пространстве конфигураций является простое вертикальное препятствие, проникающее в рабочее пространство робота. Этот объект имеет любопытную форму: он чрезвычайно нелинеен, а в некоторых местах является даже вогнутым.

Даже если рабочее пространство робота представлено с помощью плоских многоугольников, форма свободного пространства может оказаться очень сложной. Поэтому на практике обычно применяется ощупывание пространства конфигураций вместо явного его построения. Планировщик может вырабатывать конфигурацию, а затем проверять ее для определения того, находится ли она в  свободном пространстве, применяя кинематику робота и определяя наличие  столкновений в различных координатах рабочего пространства.