- •П. К. Лопатин Интеллектуальные манипуляционные роботы
- •Предисловие
- •Введение
- •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. Кинематика произвольного движения тела,
имеющего одну общую точку с неподвижной
системой координат
Система Pixiyizi вращается относительно системы Pixyz, имея с ней одну общую точку Pi (рис. 1.5). Систему Pixyz считаем неподвижной.
Введем единичные векторы у обеих систем (рис. 1.6)
Векторы e1, e2, e3 являются единичными векторами системы Pixyz, векторы b1, b2, b3 – единичными векторами системы Pixiyizi, это видно на рис. 1.6,
e1 = , e2 = , e3 = , b1 = , b2 = , b3 = .
Радиус-вектор точки А в системе Oixyz записывается следующим образом:
rA = xAe1 + yAe2 + zAe3. (1.1)
Радиус-вектор точки А в системе Pixiyizi имеет вид
rA = xiAb1 + yiAb2 + ziAb3. (1.2)
Рассмотрим вектор bi, i=1,2,3 и выразим его через единичные векторы системы Pixyz. Для этого спроектируем вектор bi на оси системы координат Pixyz (рис.1.7).
Получим координаты вектора b1 в системе координат Pixyz:
bi = ci1e1 + ci2e2 + ci3e3, (1.3)
здесь ci1, ci2, ci3 – проекции вектора bi, соответственно, на оси x, y и z.
Проекции ci1, ci2, ci3 получены путем проведения перпендикуляров на оси x, y и z. Таким образом, мы получили три прямоугольных треугольника, и это дает нам право написать следующее:
ci1= bix = |bi|cos (bi, e1) = cos (bi, e1), так как |bi| = 1; (1.4)
ci2 = biy = |bi|cos (bi, e2) = cos (bi, e2); (1.5)
ci3 = biz = |bi|cos (bi, e3) = cos (bi, e3), (1.6)
где cos(bi, ej) означает косинус угла между векторами bi и ej.
Из формул (1.2) и (1.3) получаем
rA = xiA( c11e1 + c12e2 + c13e3) +
+ yiA( c21e1 + c22e2 + c23e3) +
+ ziA( c31e1 + c32e2 + c33e3) =
= e1( xiAc11 + yiAc21 + ziAc31) +
+ e2( xiAc12 + yiAc22 + ziAc32) +
+ e3( xiAc13 + yiAc23 + ziAc33). (1.7)
Кроме того, мы имеем формулу (1.1). Сопоставив (1.1) и (1.7), запишем:
. (1.8)
Итак, мы получили координаты точки А в системе Pixyz. Величины cij называются направляющими косинусами. В матричной записи формула (1.8) имеет вид
= . (1.9)
Матрицу С в формуле (1.9) можно записать в виде
C = (1.10)
или в виде
C = . (1.11)
Матрица С содержит 9 неизвестных величин, которые представляют собой косинусы углов между осями систем Pixyz и Pixiyizi. Если тело вращается, то углы между осями меняются и, как следствие, меняются величины (xA, yA, zA).
Покажем, что в матрице С независимыми являются только три элемента, а остальные шесть можно выразить через эти три элемента. Запишем соотношения для единичных векторов b1, b2, b3:
|b1| = 1, следовательно, = 1; (1.12)
|b2| = 1, следовательно, = 1; (1.13)
|b3| = 1, следовательно, = 1; (1.14)
(b1, b2) = 0, следовательно, b1xb2x + b1yb2y + b1zb2z = 0; (1.15)
(b1, b3) = 0, следовательно, b1xb3x + b1yb3y + b1zb3z = 0; (1.16)
(b2, b3) = 0, следовательно, b2xb3x + b2yb3y + b2zb3z = 0. 1.17)
Уравнения (1.12–1.17) выражают условие взаимной перпендикулярности векторов b1, b2, b3 (известно, что если векторы a и b перпендикулярны, то их скалярное произведение (a, b) = 0).
В шести приведенных уравнениях имеем девять неизвестных. Придаем произвольные значения любым трем из них и получаем возможность вычислить остальные шесть. Отсюда видно, что в матрице С неизвестными и независимыми являются только три элемента.