Подзадачи Падена — Кэхана
Подзада́чи Па́дена — Кэ́хана (англ. Paden–Kahan subproblems) — это набор решённых геометрических задач, которые часто встречаются в обратной кинематике распространённых робототехнических манипуляторов[1].
Хотя этот набор задач не является исчерпывающим, он позволяет упростить анализ обратной кинематики для многих промышленных роботов[2]. Помимо трёх классических подзадач, были предложены и другие варианты[3][4].
Стратегии упрощения
Для структурных уравнений, определённых методом произведения экспонент, подзадачи Падена — Кэхана могут использоваться для упрощения и решения задачи обратной кинематики. Следует отметить, что матричные экспоненты некоммутативны.
Как правило, подзадачи применяются для поиска конкретных точек в задаче обратной кинематики (например, пересечений осей вращения), чтобы определить значения углов сочленений.
Исключение револьвентных сочленений
Упрощение достигается за счёт принципа: вращение не влияет на точку, лежащую на оси этого вращения. Например, если точка лежит на оси револьвентного твиста , её положение не меняется при актуации твиста:
.
Следовательно, для структурного уравнения где , и — твисты с нулевым шагом, применение обеих частей уравнения к точке , лежащей на оси (но не на осях или ), даёт:
.
После исключения получаем:
.
Это уравнение, если и пересекаются, может быть решено с помощью подзадачи 2.
Норма
В некоторых случаях задачу также можно упростить, вычитая точку из обеих частей уравнения и беря норму разности.
Например, для решения уравнения:
относительно , где и пересекаются в точке , обе части уравнения можно применить к точке , не лежащей на оси . Вычитая и беря норму, получаем:
.
Эту задачу можно решить с помощью подзадачи 3.
Список подзадач
Каждая подзадача представлена как алгоритм, основанный на геометрическом доказательстве. Программная реализация, учитывающая возможность нескольких или отсутствия решений, может быть интегрирована в алгоритмы обратной кинематики для широкого спектра роботов.
Подзадача 1: Вращение вокруг одной оси
Пусть — твист с нулевым шагом и единичной длиной, а — две точки. Требуется найти такое, что
В этой подзадаче точка вращается вокруг заданной оси таким образом, чтобы совпасть с точкой .
Решение
Пусть — точка на оси . Векторы и . Так как лежит на оси , , а значит .
Далее определим и — проекции и на плоскость, перпендикулярную оси . Для вектора вдоль оси :
и
Если , то и обе точки лежат на оси вращения — в этом случае подзадача имеет бесконечно много решений.
Для существования решения необходимо, чтобы проекции и на и на плоскость, перпендикулярную , совпадали по длине. Необходимо проверить:
и .
Если эти условия выполнены, значение угла находится через функцию atan2:
Если , подзадача имеет одно решение для .
Подзадача 2: Вращение относительно двух последовательных осей
Пусть и — два твиста нулевого шага с единичной длиной и пересекающимися осями. Пусть — две точки. Найти и такие, что
Эта задача соответствует последовательному вращению точки сперва вокруг оси на угол , затем вокруг оси на угол так, чтобы конечное положение совпадало с . (Если оси и совпадают, задача сводится к подзадаче 1, любому ).
Решение
Пусть оси не параллельны (то есть ). Обозначим — точку, такую что:
Иначе говоря, — положение, в которое точка переходит вращением вокруг одной оси, чтобы потом вращением вокруг другой совпасть с . Каждое вращение — это частный случай подзадачи 1, но требуется найти все возможные решения для .
Пусть — точка пересечения двух осей:
Обозначим , , :
Отсюда: , , .
Так как , и линейно независимы, представимо в виде:
Коэффициенты определяются так:
,
,
.
Подзадача даёт два решения, если окружности пересекаются; одно — при касании; нет решений — если окружности не пересекаются.
Подзадача 3: Вращение на заданное расстояние
- Пусть — твист нулевого шага и единичной длины; — две точки; . Найти такое, что
В этой задаче точка вращается вокруг оси , пока не окажется на расстоянии от . Для существования решения окружность вращения должна пересекаться с сферой радиуса , центрированной в .
Решение
Пусть — точка на оси . Определим , так, что
Проекции: и .
«Проекция» отрезка определяется как
Угол между и :
Далее,
Подзадача может дать 0, 1 или 2 решения в зависимости от числа точек пересечения окружности радиуса и окружности радиуса .
Подзадача 4: Вращение относительно двух осей на заданные расстояния
- Пусть и — твисты с нулевым шагом, единичной длиной и пересекающимися осями. Пусть — точки. Найти и такие, что
и
Эта задача аналогична подзадаче 2, но конечная точка задаётся дополнительным условием на расстояния до двух известных точек.
Подзадача 5: Поступательное перемещение на заданное расстояние
- Пусть — твист бесконечного шага и единичной длины; — две точки; . Найти такое, что
Примечания
- ↑ Paden, Bradley Evan (1985). “Kinematics and Control of Robot Manipulators”. Ph.D. Thesis. Дата обращения 18 февраля 2024.
|access-date=требует|url=(справка) - ↑ Sastry, Richard M. Murray; Zexiang Li; S. Shankar. A mathematical introduction to robotic manipulation. — 1. [Dr.] — Boca Raton, Fla. : CRC Press, 1994. — ISBN 9780849379819.
- ↑ Pardos-Gotor, Jose. Screw Theory in Robotics: An Illustrated and Practicable Introduction to Modern Mechanics. — 2021. — ISBN 9781003216858. — doi:10.1201/9781003216858.
- ↑ Elias, Alexander J.; Wen, John T. (10 ноября 2022). “Canonical Subproblems for Robot Inverse Kinematics”. arXiv preprint arXiv:2211.05737. Дата обращения 28 января 2024.
|access-date=требует|url=(справка)