- •П. К. Лопатин Интеллектуальные манипуляционные роботы
- •Предисловие
- •Введение
- •1. Кинематика манипуляторов
- •1.1. Манипулятор как система твердых тел
- •1.2. Кинематика произвольного движения тела,
- •1.3. Кинематика поступательного движения тела
- •1.4. Кинематика произвольного движения твердого тела
- •1.5. Характер связей между звеньями
- •1.6. Расстановка систем координат по алгоритму Денавита-Хартенберга
- •1.7. Вывод матрицы перехода от I-й к (I–1)-й системе координат
- •1.8. Уравнение кинематики манипулятора
- •1.9. Скорость и ускорение некоторой точки манипулятора
- •Правая часть (1.45), если k j, k I;
- •0, Если k j.
- •1.10. Прямая задача кинематики
- •1.11. Обратная задача кинематики
- •Примеры решения задач
- •Разделим уравнение (1.71) на (1.72). Получим
- •Задачи для самостоятельного решения
- •Библиографический список
- •2.1. Уравнения Лагранжа II рода
- •2.2. Кинетическая энергия манипулятора
- •Поскольку интеграл – это сумма, то формулу (2.3) можно записать в виде уравнения
- •Из (1.36) следует, что
- •Из формулы (1.42) видно, что
- •2.3. Потенциальная энергия манипулятора
- •2.4. Уравнение динамики манипулятора
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •3. Планирование путей, траекторий и управление манипуляторами
- •3.1. Понятие пространства обобщенных координат.
- •Постановки задачи
- •3.2. Планирование пути методом полиномиальной аппроксимации
- •Решая эту систему, получим
- •3.3. Планирование пути с учетом ограничений на положение, скорость и ускорение
- •3.4. Планирование траектории с учетом динамики манипулятора
- •Библиографический список
- •3.5. Исполнение траектории
- •Библиографический список
- •Библиографический список
- •3.6.1. Алгоритм полного перебора
- •Библиографический список
- •3.6.2. Алгоритм перебора в глубину
- •3.6.3. Алгоритм а*
- •Библиографический список
- •3.6.4. Алгоритм фронта волны
- •Библиографический список
- •3.6.5. Алгоритм полиномиальной апроксимации
- •Библиографический список
- •3.6.6. Диаграммы вороного
- •Библиографический список
- •3.6.7. Алгоритм разделения ячеек
- •1. Предварительный поиск маршрута
- •2. Разделение плоскости на свободные области
- •3. Соединение свободных областей
- •4. Объединение свободных соединенных областей
- •5. Соединение свободных областей на соседних плоскостях
- •6. Создание объединенных областей и проверка достижимости
- •7. Построение маршрута
- •8. Пример
- •Библиографический список
- •Примеры решения задач
- •3.7. Управление манипуляторами в среде с неизвестными препятствиями
- •Библиографический список
- •Алгоритм
- •3.8. Иерархия уровней Управления роботами
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Заключение
- •Учебное издание
- •Учебное пособие
Задачи для самостоятельного решения
1. Вычислите кинетическую энергию манипулятора (рис. 2.7).
2. Вычислите потенциальную энергию манипулятора (рис. 2.7).
3. Составьте уравнение динамики манипулятора (рис. 2.7).
3. Планирование путей, траекторий и управление манипуляторами
3.1. Понятие пространства обобщенных координат.
Постановки задачи
При изложении вопросов, касающихся планирования траекторий манипуляторов, часто используют понятие “пространство обобщенных координат”. Поясним, что оно означает.
Известно, что движение точки в трехмерном пространстве можно исчерпывающе описать тремя функциями: x(t), y(t) и z(t). Имея набор функций x(t), y(t) и z(t), например, x(t) = 5t+2, y(t) = 6t2+et, z(t) = 8t3+2t, мы можем брать произвольный момент времени t, подставлять его в функции x(t), y(t) и z(t) и получать информацию о том, где находится материальная точка в данный момент времени. Любое тело (или совокупность тел) является множеством точек. И тогда, если для каждого i есть функции xi(t), yi(t), zi(t), i = 1,2, ... , (i – номер точки, входящей в тело), то получим полное описание движения тела в пространстве. Однако, поскольку точек, образующих тело, бесконечно много, то такой способ описания движения тела (не говоря уже о совокупности тел) является нереальным.
Движение манипулятора (см. гл. 1) можно также описывать с помощью обобщенных координат, причем их количество будет равно числу звеньев манипулятора. Изобразим пространство обобщенных координат (рис. 3.1).
Пусть мы имеем функции q1(t), q2(t), ..., qn(t), рассказывающие нам о том, как изменяются обобщенные координаты манипулятора. Возьмем некоторый момент времени t*, подставим его в функции q1(t), q2(t), ..., qn(t) и получим числа q1*, q2*, ..., qn*, являющиеся координатами некоторой точки q* в пространстве обобщенных координат. Таким образом, в пространстве обобщенных координат манипулятор в каждый момент времени предстает как точка, что, очевидно, резко упрощает описание его движения.
При управлении манипуляторами, как правило, приходится решать следующую задачу: необходимо переместить манипулятор из одного положения в другое. Любое положение манипулятора описывается вектором обобщенных координат. Положение манипулятора в пространстве в данный момент времени называется конфигурацией манипулятора, поэтому пространство обобщенных координат называется также пространством конфигураций.
Итак, манипулятор необходимо переместить из одной конфигурации (обозначим ее q0) в другую (обозначим ее qT). Конфигурация q0 характеризуется вектором обобщенных координат q0 = (q10, q20,..., qn0), конфигурация qT – вектором обобщенных координат qT = (q1T, q2T,..., qnT). В пространстве обобщенных координат эти конфигурации предстанут как точки q0 и qT с координатами, соответственно, (q10, q20,..., qn0) и (q1T, q2T,..., qnT).
Чтобы манипулятор (см. рис. 2) передвинулся из одной конфигурации в другую, необходимо проделать следующие операции:
а) получить вектор q(t), описывающий движение манипулятора;
б) подставив его в уравнение динамики, вычислить обобщенные силы Q(t);
в) приложить эти силы к звеньям манипулятора.
Операция получения вектора q(t) называется планированием пути манипулятора. Если планируется и путь q(t), и обеспечивающее его управление, то q(t) называется траекторией. Обратившись к пространству обобщенных координат, мы увидим, что требуется сгенерировать линию, соединяющую точки q0 и qT. Для этого необходимо получить такие формулы для q1(t), q2(t), ..., qn(t), чтобы в начальный момент времени (обозначим его t0) выполнялось условие
q1(t0) = q10,
q2(t0) = q20,
…
qn(t0) = qn0,
а в конечный момент времени (обозначим его Т) – условие
q1(T) = q1T,
q2(T) = q2T,
…
qn(T) = qnT.
Кроме того, на траекторию могут накладываться и другие условия, которые приведены в рассматриваемых ниже постановках задач.
Приведем основные типы постановок задач планирования путей и траекторий движения n-звенного манипулятора.
1. Дана начальная конфигурация манипулятора, характеризуемая вектором q0, и целевая конфигурация qT. Необходимо найти такую вектор-функцию q(t), которая соединяла бы точки q0 и qT и удовлетворяла следующим ограничениям:
a1 q(t) a2, (3.1)
b1 (t) b2, (3.2)
w1 (t) w2. (3.3)
Соотношения (3.1)–(3.3) означают, что звенья манипулятора не могут занимать произвольные положения и иметь произвольные скорости и ускорения, а должны принимать эти значения только из определенного диапазона.
2. Имеется начальная конфигурация q0, и задано желаемое положение XT схвата манипулятора. Найти траекторию, которая соединяет q0 и ту конфигурацию, которая соответствует желаемому положению схвата, при этом должны выполняться ограничения (3.1)–(3.3).
Решив для XT обратную задачу кинематики, мы получаем вектор обобщенных координат qT, соответствующий желаемому положению схвата, и приходим к задаче 1.
3. В трехмерном пространстве задана траектория X(t) движения схвата. Надо найти закон изменения обобщенных координат во времени q(t), при этом должны выполняться ограничения (3.1)–(3.3). Если в каждый момент времени решение обратной задачи кинематики единственно, то в результате решения этой задачи мы получаем нужную траекторию q(t). Если траектория не удовлетворяет ограничениям, то манипулятор данную траекторию реализовать не может.
4. В пространстве конфигураций имеются запрещенные точки q1, q2, …, qm, которые соответствуют препятствиям в рабочей зоне манипулятора. Даны q0 и qT. Необходимо найти такую траекторию (путь) в пространстве обобщенных координат, описываемую вектор-функцией q(t), которая соединяла бы точки q0 и qT, удовлетворяла бы ограничениям (3.1)–(3.3) и ни одной своей точкой не накладывалась бы ни на одну из запрещенных точек q1, q2, …, qm.
5. Даны q0 и qT. Препятствия в зоне перемещения манипулятора, возможно, присутствуют, но их местоположение неизвестно. Необходимо сделать так, чтобы манипулятор, исследуя окружающую среду, переместился из начальной конфигурации в целевую, обойдя препятствия.
Методы решения указанных задач будут рассмотрены в следующих параграфах.