- •П. К. Лопатин Интеллектуальные манипуляционные роботы
- •Предисловие
- •Введение
- •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. Иерархия уровней Управления роботами
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Заключение
- •Учебное издание
- •Учебное пособие
6. Создание объединенных областей и проверка достижимости
Проверим достижимость q0 и qT на основе связанных укрупненных областей (ETFR) в соседних плоскостях из матрицы ELCR. Целью этого является соединить все области находящиеся в различных плоскостях в единую область (рис. 16а) или несколько единых областей (рис. 16б) и установить, принадлежат ли точки q0 и qT хотя бы одной единой области (только в этом случае они достижимы), или они принадлежат различным областям (в этом случае они недостижимы и дальнейшее построение маршрута не имеет смысла).
В результате в конфигурационном пространстве будут созданы один или несколько изолированных друг от друга коридоров (единых областей), внутри каждого из которых можно будет перемещаться между плоскостями.
а) б)
Рисунок 16 (а) – единая область, (б) – две единых области в пространстве
Единые области будем помещать в матрицу TUR (Table of United Region – Таблицу Единых Областей), каждую новую единую область в новую строку матрицы.
1) Исходя из координат, узнаем в какой плоскости находятся q0 и qT , а также какой строке матрицы ETFR принадлежат эти точки.
2) Определим области, в которой находятся точки.
2.1) Начнем с поиска в таблицах свободных областей TFRi и TFRj где i и j – номера плоскостей в которой находятся соответственно точки q0 и qT. В TFRi ищем, на пересечении какой строки и какого столбца находится область, содержащая q0. В TFRj ищем, на пересечении какой строки и какого столбца находится область, содержащая qT.
2.2) Затем ищем какой строке матрицы LCRi принадлежит q0, какой матрице LCRj принадлежит q0 основе полученных данных из TFRi и TFRj .
2.3) Найдем из матрицы ETFR те объединения свободных областей, которым принадлежат точки, на основе полученных данных из LCR. Другими словами, определим в какой строке ETFRi находится укрупненная область, содержащая q0 , в какой строке ETFRj находится укрупненная область содержащая qT.
2.4) На основе данных матрицы ELCR будем соединять ETFRi и ETFRj:
2.4.1) Проверим, с какими соседними областями из (k+1)-ой плоскости имеют соединение укрупненные области из k-ой плоскости, где k=1,…,K-1 – номер плоскости на основе данных из матрицы ELCR. Объединим их в одну или несколько единых областей по следующим критериям:
2.4.1.1) Если хотя бы в одном узле свободные области этих плоскостей можно соединить между собой, то укрупненные области можно объединить в одну единую область и тогда из укрупненной области на k-ой плоскости можно перейти в область на (k+1)-ой плоскости. В этом случае в текущую объединенную область (строку матрицы TUR) запишем номера объединяемых плоскостей и номер объединяемых областей, как элементы матрицы одной строки TUR в следующем формате:
- номер строки – номер единой области;
- № плоскости k (№ строки ETFRk, № строки ETFRk,…) – элементы матрицы;
2.4.1.2) Если существует такая укрупненная свободная область (одна из строк матрицы ETFRk), которая не может быть соединена или соединяется с другой свободной областью, которая не включена в текущую (формирующуюся в данный момент) единую область, то образуется другая (пока временная) единая область (новая строка матрицы TUR)
2.4.1.3) Если в результате анализа соединенных плоскостей (матрицы ELCR) обнаруживается, что несколько единых областей (формирующихся строк матрицы TUR) можно объединить в одну, то добавляем к элементам строки матрицы TUR через запятую элементы соответственно других временных единых областей, объединение которых теперь стало возможно в одну строку т.е. вместо нескольких строк матрицы TUR, создается одна строка.
2.4.2) Внесем изменения в матрицу TUR и рассмотрим следующие плоскости (строку матрицы ELCR) и т.д. пока не будут рассмотрены все плоскости (все строки матрицы ELCR);
Например, для матриц ETFR:
|
|
|
И матрицы ELCR:
матрица TUR будет иметь вид:
3) Если в матрице TUR существует такая единая область (строка), в которую входят свободные области (номер строки матрицы ETFR) содержащие точку начала q0 и конца qT, то q0 и qT считаются достижимы. Дальнейший поиск пути и построение маршрута происходит из матрицы единых областей TUR.
4) В случае если совпадающие пути не найдены, значит точки принадлежат различным единым областям. Поэтому точки считаются недостижимыми и следующий этап алгоритма, поиск маршрута, не проводится.
Рассмотрим пример матриц TUR для трехмерного случая, который представлен на рисунке 4. Матрица TFR для этого случая приведена в Таблице 3. Создание объединенных областей представлено на рисунке 17.
Построим матрицу TUR и проверим достижимость q0 и qT:
Так как точки q0 и qT принадлежат одной единой области, то они достижимы.
Рисунок 17 - Создание объединенных областей