- •П. К. Лопатин Интеллектуальные манипуляционные роботы
- •Предисловие
- •Введение
- •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.9. Скорость и ускорение некоторой точки манипулятора
В этом параграфе будут выведены формулы, по которым можно будет вычислять скорость и ускорение любой точки манипулятора в базовой системе координат. Скорость точки будет получена как первая производная от радиуса-вектора точки, определяемого уравнением кинематики (1.36), а ускорение – как вторая производная от радиуса-вектора. Поскольку все точки различны, то в общем случае у каждой точки будут свои скорость и ускорение.
Вначале рассмотрим матрицы Ti (i=1,...,n), которые обладают определенными свойствами. Если i-е сочленение – вращательное (обобщенной координатой qi является угол i), то
= G1Ti , (1.37)
где
G1 = . (1.38)
Если i-е сочленение – поступательное (обобщенной координатой qi является величина si), то
= G2Ti , (1.39)
где
G2 = . (1.40)
Свойства (1.37), (1.39) интересны тем, что операция дифференцирования матрицы заменяется операцией умножения матриц. В справедливости этих свойств можно убедиться с помощью непосредственной проверки.
Соотношения (1.37), (1.39) обычно записываются в единой форме:
= DiTi, (i=1,...,n), (1.41)
где Di = G1, если сочленение вращательное, и Di = G2, если сочленение поступательное.
Теперь найдем скорость и ускорение произвольной точки А манипулятора в неподвижной системе координат.
Пусть некоторая точка А манипулятора в i-й системе координат имеет радиус-вектор riA = (xiA, yiA, ziA, 1)T. Положение данной точки в базовой системе координат задается радиусом-вектором r0A согласно (1.36). Тогда вектор скорости v0A точки А в базовой системе координат определится следующим образом:
v0A = (r0A) = (Si(q1(t), q2(t),..., qi(t))riA) = (T1(q1(t))T2(q2(t))...Ti(qi(t))riA) = T2(q2(t))... · Ti(qi(t))riA +
+ T1(q1(t)) ... Ti(qi(t))riA + ... +
+ T1(q1(t)) T2(q2(t))... riA =
= |в соответствии с (1.41) = DjTj (qj(t))| =
= D1T1(q1(t)) T2(q2(t))... ×
× Ti(qi(t)) riA +
+ T1(q1(t))D2T2(q2(t)) ... Ti(qi(t)) riA + ... +
+ T1(q1(t))T2(q2(t)) ... DiTi(qi(t)) riA.
Обозначим
Sij(q1(t),...,qi(t)) = T1T2...Tj-1DjTj...Ti . (1.42)
Тогда
v0A = Si1(q1(t),...,qi(t)) riA + Si2(q1(t),...,qi(t)) riA + ... +
+ Sii(q1(t), ... , qi(t)) riA =
= riA . (1.43)
Дифференцированием (1.43) по t найдем ускорение точки А в базовой системе координат:
w0A = (v0A) = ( riA) =
riA +
+ riA =
=| = + +…+
+ | =
= riA +
+ ) riA . (1.44)
Вычислим отдельно
.
1. Для случая, когда k > j,
= (T1(q1(t) ... Tj-1(qj-(t))DjTj(qj(t))...
Ti(qi(t))) = T1(q1(t)) ... Tj-1(qj-1(t))DjTj(qj(t))...
Tk-1(qk-1(t))DkTk(qk(t))·...·Ti(qi(t)). (1.45)
2. Для случая, когда k < j:
=
= T1(q1(t))... Tk-1(qk-1(t))DkTk(qk(t))...Tj-1(qj-1(t))
DjTj(qj(t))·...·Ti(qi(t)). (1.46)
3. Для случая, когда k=j,
= T1(q1(t))...Tj-1(qj-1(t))
Dj2Tj(qj(t))·…·Ti(qi(t)). (1.47)
4. Для случая, когда k > i,
= 0.
Введем обозначение: