- •П. К. Лопатин Интеллектуальные манипуляционные роботы
- •Предисловие
- •Введение
- •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. Иерархия уровней Управления роботами
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Заключение
- •Учебное издание
- •Учебное пособие
3.6.1. Алгоритм полного перебора
Рассмотрим метод полного перебора [1, 2]. Суть метода опишем на примере двумерного пространства обобщенных координат. Пусть требуется найти путь в двумерном пространстве, исходящий из q0, приходящий в qТ, удовлетворяющий конструктивным ограничениям и не пересекающий ни одну из запрещенных конфигураций (рис. 3.5).
Дискретизируем пространство обобщенных координат и будем теперь рассматривать только конфигурации, лежащие на узлах сетки. Запрещенные конфигурации обозначим крестиками (конфигурации, недостижимые из-за конструктивных ограничений, тоже считаем запрещенными и тоже обозначаем крестиками). В прямоугольнике, определенном конфигурациями q0 и qT , обозначим каждый узел решетки своей буквой (рис. 3.6).
Узлы сетки будем называть вершинами. В двумерном случае для каждой вершины соседними являются 8 вершин (если все они разрешенные). В случае n-мерного пространства число вершин, являющихся соседними для каждой вершины, будет равно 3n–1.
Алгоритм полного перебора заключается в следующем:
Поместить начальную вершину в список, называемый ОТКРЫТ.
Если список ОТКРЫТ пуст, то на выход подаётся сигнал о неудаче поиска, в противном случае переходить к следующему шагу.
Взять первую вершину из списка ОТКРЫТ и перенести её в список ЗАКРЫТ; назовём эту вершину n.
Раскрыть вершину n, образовав все вершины, непосредственно следующие за n. Если непосредственно следующих вершин нет, то переходить сразу же к шагу (2). Поместить имеющиеся непосредственно следующие за n вершины в конец списка ОТКРЫТ и построить указатели, ведущие от них назад к вершине n.
Е сли какие-нибудь из этих непосредственно следующих за n вершин являются целевыми вершинами, то на выход выдать решение, получающееся просмотром вдоль указателей; в противном случае переходить к шагу (2).
Спланируем путь для случая, изображенного на рис.3.6. Соседние вершины к некоторой вершине, например А, будем получать, проделав определенные операции: сначала отступаем вправо, а потом совершаем обход против часовой стрелки.
То есть для вершины А соседними вершинами будут F и E. Выполнение алгоритма состоит в последовательном изменении списков ОТКРЫТ и ЗАКРЫТ (рис. 3.8).
В результате получим путь AEI J.
Алгоритм полного перебора применим для n-мерного пространства состояний. Алгоритм за конечное число шагов либо находит путь, либо сообщает, что путь найден быть не может.
Обращаем внимание, что получаемый путь представляет собой конечное множество точек, соединяющих исходную и целевую конфигурации.
Между этими точками могут быть запрещенные точки, которые выпали из поля нашего зрения при наложении сетки. Поэтому сетку желательно делать возможно более густой, что, в свою очередь, приводит к увеличению времени расчета пути и стремлению этого времени к бесконечности. После получения вышеуказанного конечного множества точек необходимо каким-то образом соединить эти точки непрерывными линиями, учитывая при этом требование неналегания на запрещенные точки. Соединять вершины можно методами, предложенными в пп. 3.2–3.5.
ОТКРЫТ
ЗАКРЫТ
A
A:n
AF
AF:n
AE
AE:n
AEI
AEI:n
AED
AEC
AEI
J
AEI
K
Рис. 3.7