- •П. К. Лопатин Интеллектуальные манипуляционные роботы
- •Предисловие
- •Введение
- •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. Найдите путь, удовлетворяющий следующим условиям:
q(t0) = q0, (3.136)
q(T) = qT, (3.137)
(t0) = , (3.138)
(T) = T , (3.139)
(t0) = , (3.140)
(T) = . (3.141)
2. Найдите путь, соединяющий q0 и qT и не налегающий на запрещенные точки (рис. 3.19).
Запрещенные точки обозначены крестиками. Предполагается, что координаты всех запрещенных точек известны.
3. Найдите путь, соединяющий q0 и qT и не налегающий на запрещенные точки (рис. 3.19). Предполагается, что координаты запрещенных точек E, G, H не известны.
4. Напишите программу, изображающую процесс зачерпывания манипулятором воды из колодца (рис. 3.20).
5. Напишите программу, которая будет изображать процесс написания манипулятором вашего имени на доске.
6. Напишите программу, изображающую процесс вставки манипулятором цилиндра в отверстие в стене.
7. Напишите программу, изображающую процесс вставки манипулятором книги в книжный шкаф.
8. Напишите программу, изображающую процесс открывания манипулятором двери.
9. Напишите программу, изображающую процесс покраски манипулятором забора.
10. Пусть имеется летающий робот с двумя руками. Напишите программу, изображающую процесс спасания таким роботом человека, находящегося на балконе здания, охваченного огнем.
11. Пусть имеется город, застроенный небоскребами в форме параллелепипедов. В одном из окон находится человек, нуждающийся в спасении. Напишите программу, изображающую полет робота среди небоскребов и процесс спасания роботом человека. Предполагается, что координаты и габариты небоскребов неизвестны.
12. Напишите программу, изображающую процесс наливания роботом воды в рот парализованному человеку. Предполагается, что человек может только открывать и закрывать рот.
13. Напишите комплекс программ «Роботизированная кухня». На этой кухне должны присутствовать кастрюли с «руками» и «ногами», которые должны самостоятельно вставать под кран, наполнять себя водой, затем вставать на плиту, зажигать огонь и заполнять себя уже нарезанными продуктами. По окончании приготовления кастрюля должна перемещаться на стол и кормить человека ложкой. Процесс нарезания продуктов, открытия крана и включения огня может также выполняться прикрепленным к столу манипулятором. Предусмотрите складирование манипулятором отходов в мусорное ведро. Мусорное ведро также должно быть снабжено руками и ногами, чтобы самостоятельно выходить из помещения и выбрасывать свое содержимое в мусорный бак.
14. Напишите программу, изображающую процесс сбора яблок роботом. Робот должен представлять собой подвижную тележку с установленными на ней баком для складирования яблок и двумя манипуляторами. Первый манипулятор должен захватывать ветку и тем самым ликвидировать ее качание, второй манипулятор должен срывать яблоко и класть его в бак. Предполагается, что координаты яблок известны, а расположение веток известно не полностью.
15. Напишите программу, изображающую процесс сбора камней луноходом (рис. 3.21) с поверхности Луны.
Рис.3.21
Луноход представляет собой тележку, на которой установлен бак и манипулятор. Предполагается, что расположение камней известно.