Робототехника.Фу, Ли, Гонсалес (962794), страница 88
Текст из файла (страница 88)
Этот этап включает следующие действия; планирование захвата детали, планирование движения и проверка плана. Прежде чем планировщик задачи сможет осуществить планирование, он должен преобразовать символическое описание задачи в приемлемую форму. Один из путей — получение ограничений на взаимное расположение объектов из символических соотношений. Интерпретатор КАРТ выделяет символические соотношения и формирует ряд матричных уравнений с неизвестными параметрами связей между объектами. Эти уравнения затем упрощаются с помощью набора спепиальных правил преобразования. Полученный результат представляет собой набор ограничений на форму и взаимное расположение объектов, необходимый для выполнения операции.
Возможно, что планирование захвата детали является наиболее важной проблемой при планировании задачи сборки, поскольку траектория движения руки робота при захвате детали влияет на все последующие операции. Траектория, по которой робот производит захват объекта, зависит от геометрии захватываемого объекта и наличия других объектов в рабочем пространстве. Обычно существует единственное положение захвата детали, которое достижимо и устойчиво. Робот должен быть способен захватить намеченный объект, не сталкиваясь с другими объектами в рабочем пространстве, и в свою очередь за- хваченный объект должен надежно удерживаться в схвате во время последующих движений робота.
Обычно способ захвата детали и соответствующая ему конфигурация манипулятора выбираются на основе следующих процедур: 1. Возможные способы захвата детали выбираются исходя из геометрии объекта (так, например, для схвата с параллельным движением пальцев место, удобное для захвата, расположено параллельно направлению движения пальцев со стороны их внутренних или внешних поверхностей, устойчивости (одна из возможностей захвата предусматривает, чтобы центр масс обьекта находился между палы>ами) н уменьшения неопределенности. 2. Затем число возможных способов захвата детали сокращается в зависимости от того, могут ли онн быть реализованы роботом или привести к столкновению с другими объектами.
3. Окончательная конфигурация манипулятора при захвате выбирается среди оставшихся (если таковые имеются) так, чтобы она привела к наиболее устойчивому захватыванию н вероятность столкновения с препятствиями была минимальной при наличии ошибок позиционирования. Большинство современных методов для планирования захвата детали направлено на нахождение достижимых роботом положений захватывания, причем не все ограничения на взаимное расположение объектов принимаются во внимание. Поскольку при наличии неопределенностей захватывание наиболее трудно осуществимо, то в этом случае часто используется очувствленне.
После того как объект схвачен, робот должен его перенести в требуемое место рабочего пространства и затем выполнить операцию. Это движение может быть разделено на 4 этапа: 1. Отход с предосторожностями от текущего положения. 2. Движение, свободное от столкновений, к желаемому положению. 3. Подход с предосторожностями к месту выполнения операции. 4. Податливое движение для достижения конечного положения. При этом одной из важных проблем является планирование движения робота без столкновений с объектами рабочего пространства.
Было предложено несколько алгоритмов для планирования траектории, свободной от столкновений, которые могут быть объединены в 3 класса; 1, Гипотеза и тест, В этом методе выбирается возмо>кная траектория и проверяется на столкновения на ряде выбранных взаимных расположений объектов и робота. Если происходит столкновение, вводится коррекция для обхода препятствий [170]. Основным преимуществом данного метода является его 509 простота и то, что имеются достаточно эффективные системы геометрического моделирования.
Однако расчет коррекции бывает затруднителен, когда рабочее пространство заполнено препятствиями. 2, Шграфньге функции. Это метод построения штрафных функций, значения которых зависят от близости препятствий. Штрафные функции обладают тем свойством, что их значения возрастают при приближении робота к препятствиям. Полная штрафная функция является суммой всех отдельных штрафных функций, причем иногда имеется член, характеризующий степень близости к оптимальной траектории, Затем берутся производные полной штрафной функции по параметрам взаимного расположения объектов.
Найдя локальный минимум полной штрафной функции, можно определить траекторию, свободную от столкновения с препятствиямн, Метод имеет то преимущество, что позволяет учитывать все препятствия и ограничения. Однако сами штрафные функции довольно трудно определять. 3. Алгоритмы свободного пространства.
Было предложено несколько алгоритмов этого типа. В работе [!74] рассматривается представление свободного пространства (пространства, свободного от препятствий) в терминах конфигураций робота (конфигурационное пространство). Эта идея эквивалентна преобразованию руки робота, держащей объект, в точку и соответственно увеличению числа препятствий в рабочем пространстве. Тогда нахождение траектории, свободной от столкновений, равнозначно нахождению траектории, которая не пересекает ни одно из препятствий. Этот алгоритм работает достаточно хорошо, когда рассматривается только поступательное движение. Для вращательного движения должны быть сделаны приближения, чтобы определить конфигурационное пространство, а это требует существенного увеличения объема вычислений.
В работах [34] и [35] предложен другой метод, в котором свободное пространство представляется в виде пересечения обобщенных конусов, а об.ьем, охватываемый движущимся объектом, функцией их ориентации. Тогда траекторию, свободную от столкновений, можно определить путем сравнения обьема, охватываемого обьектом, с объемом свободного пространства. Другой трудной и важной проблемой является генерация податливого движения. В настоящее время ведутся исследования, направленные на то, чтобы допустимые конфигурации робота лежали на С-поверхности [193] и в пространстве реализа- " С-поверхность определяется в С-системе координаг.
Она представляет собой конфигуранию робота, допускающую движение только по некоторым степеням свободы. Вдоль С-поверхности реа.чиауизтся степени свободы по положению, а перпендикулярно к ней — по силе. — С-система координат представляет собой ортогональную систему координат в декартовом пространстве.
Система координат выбрайа так, чтобы поступагельиое движение робота осуществлялось вдоль главных осей, а вращательное движение вокруг них, бго ций различных конфигураций робота. Тогда осуществление податливых движений эквивалентно нахождению комбинированной стратегии управления по положению/силе для того, чтобы траектория робота оставалась на С-поверхности. 9.4. ЗАКЛЮЧЕНИЕ Мы рассмотрели характеристики языков, ориентированных на роботы, и проблемно-ориентированных языков. В роботоориентированных языках задача сборки явно описывается как последовательность движений робота.
Программист управляет движением робота в ходе выполнения всей задачи, причем каждый шаг программы примерно соответствует одному действию робота, Проблемно-ориентированные языки программирования позволяют представлять задачу сборки как последовательность промежуточных положений объектов, а не как последователь. ность движений робота, необходимую для достижения этих положений.
Таким образом, в этом случае движение робота задается неявно. В качестве примеров роботоориентированных языков были приведены языки программирования А7. и АМ7. Мы считаем, что роботоориентированный язык программирования труден для практической эксплуатации, поскольку пользователь вынужден подробно программировать каждое движение робота. Проблемно-ориентированные языки намного легче использовать. Однако многие сложности, возникающие при планировании задачи, моделировании объекта, обходе препятствий, планировании траектории, использовании информации очувствления и конфигурации схватывания должны быть решены, прежде чем проблемно-ориентированные языки смогут эффективно применяться.
В заключение приведем таблицу сравнения различных языков (табл. 9.11, а н б). Литература Подробные сведения о робота-ориентированном программи. ровании можно найти в работах [27, 93, 108, 175, 219, 225, 227. 229, 238, 239, 263, 270, 277, 283]. Информация о программирова нии на уровне задачи (проблемно-ориентированное программи. рование) содержится также в работах [23, 52, 80, 169, 198]. Язы. ки программирования для описания обьектов приводятся в раба.
тах [13, 107, 171, 306]. В работе [277] приводится матричное уравнение однородного преобразования для описания последовательности выполнения задачи манипулятором. Различные алгоритмы обхода препятствий, реализованные з языках программирования в виде модулей, приведены в ра- йы М Е Ит Ф х а х ох й о;, ОО а. ох а' Ф Ф О с О ао н н й й Ф х Й Ф х г Ф т Ф Ф О Ф ии х о й х х и й Й" о х о Ф х н Ф О о О о а. а о н Ф й Ф й л О о е о х и Ф й Ф о уу Ф н „д Ф Ф й Ф *й Ой о хх о И н О О 'а а ь а. Ф Ф х ". о х Ф х х й. о о о х х аа о~ » н ах Ф нх х»х 5 сыа хо О ха.о с й О н О ху О О й о о Ю о О Ф х Ф Ф Х О.
о е л х Ф 3 о О н х х Фх о Ф О а"" й а О 5 Ф о х х Ф Ф Ф х х о о %! й с ау Х хи Ф Ф о Ф й а а л х д О О, Ф н й О х з О О н х о Ф Ф а с Ф Ф .с . Ф с й О Оу а а о „а о » О. и й М Ф о й о Ф Е М о о с Ф Ф 5 а х о х р о х о и Ф сэ оу х й Ф Ф О. Ф у Ф а » Ф О. » и 1 0 а. н о Ф х а. о с М Ф Ь. н х О. н уу Ф О » х х О. Х и х х х М и н о О о а й о Ф 'О о ж а 513 512 Ф й й Ф О О й й й й ух О О й О. о х Фх» аи еИ х ОУ сУО ж ик (» а. с о х Ет Ф их а о Ф а, Ф ии »Ф х й х Ф О.