Разработка алгоритма обратной кинематики (IK) с помощью MATLAB и Simulink
Кинематика - это исследование движения без учета причины движения, например сил и моментов. Обратная кинематика - это использование кинематических уравнений для определения движения робота для достижения желаемого положения. Например, для выполнения автоматического отбора бункеров роботизированная рука, используемая на производственной линии, нуждается в точном перемещении из исходного положения в желаемое между бункерами и производственными машинами. Захватывающий конец манипулятора робота обозначен как рабочий орган.
Кинематика - это исследование движения без учета причины движения, например сил и моментов. Обратная кинематика - это использование кинематических уравнений для определения движения робота для достижения желаемого положения. Например, для выполнения автоматического отбора бункеров роботизированная рука, используемая на производственной линии, нуждается в точном перемещении из исходного положения в желаемое между бункерами и производственными машинами. Захватывающий конец манипулятора робота обозначен как рабочий орган. Конфигурация робота - это список совместных положений, которые находятся в пределах положения модели робота и не нарушают никаких ограничений, установленных роботом.
Учитывая желаемые положения рабочих органов робота, обратная кинематика (IK) может определить подходящую конфигурацию сустава, для которой рабочие органы перемещаются в целевую позу.
Настройка совместных положений робота с использованием прямой или обратной кинематики.
После того, как углы суставов робота вычислены с использованием обратной кинематики, профиль движения может быть сгенерирован с использованием матрицы Якоби для перемещения конечного эффектора из начальной в целевую позу. Матрица Якоби помогает определить взаимосвязь между параметрами суставов робота и скоростями конечных эффекторов.
В отличие от прямой кинематики (FK), роботы с несколькими поворотными шарнирами обычно имеют несколько решений обратной кинематики, и в зависимости от цели были предложены различные методы. В общем, они подразделяются на два метода, один из которых получается аналитически (т. Е. Аналитическое решение), а другой использует численные вычисления.
Численные решения обратной кинематики
Чтобы аппроксимировать конфигурацию робота, которая достигает заданных целей и ограничений для робота, можно использовать численные решения. Каждый угол сочленения вычисляется итеративно с использованием алгоритмов оптимизации, таких как методы на основе градиента.
Численные решатели IK являются более общими, но требуют нескольких шагов, чтобы сойтись к решению нелинейности системы, в то время как аналитические решатели IK лучше всего подходят для простых задач IK. Определение того, какой решатель IK применять, в основном зависит от приложений роботов, таких как интерактивные приложения в реальном времени, и от нескольких критериев производительности, таких как плавность конечной позы и масштабируемость до избыточных робототехнических систем.
Пример: планирование траектории достижения с несколькими кинематическими ограничениями
Расчет обратной кинематики робота с несколькими степенями свободы с использованием MATLAB.
Вы можете использовать Robotics System Toolbox ™ и Simscape Multibody ™ для IK, используя численные вычисления. Полные рабочие процессы включают:
- Создание модели робота-дерева с твердым телом
- Импорт определений роботов из параметров URDF и DH
- Построение многотельной модели на основе информации, определенной в САПР
- Вычисление геометрического якобиана
- Анализ прямой кинематики и динамики и обратной кинематики и динамики
- Решение обратной кинематики с несколькими ограничениями
- Анализ механизма параллельных ссылок
- Создание эквивалентного кода C / C ++ и встраивание его в другое приложение
Для получения дополнительной информации см. Robotics System Toolbox и Simscape Multibody .
Аналитические решения обратной кинематики
Угол каждого сустава рассчитывается исходя из позы рабочего органа на основе математической формулы. Определяя параметры суставов и позы конечных эффекторов символически, IK может найти все возможные решения углов суставов в аналитической форме в зависимости от длины связей, его начального положения и ограничений вращения.
Аналитический IK в основном используется для роботов с низкими степенями свободы (DoF) из-за нелинейности кинематических уравнений и отсутствия масштабируемости для избыточных конфигураций роботов.
Пример: получение и применение обратной кинематики к двухзвенной руке робота
Двухрычажная роботизированная рука с углами сочленения θ1 и θ2 и параметрами сочленения для расчета решений обратной кинематики.
Аналитические обратные кинематические решения углов соединения θ1 и θ2 в желаемой позе рабочего органа.
Symbolic Math Toolbox ™ может использоваться для аналитических IK. Вы можете:
- Определите положение рабочего органа робота и параметры соединения символически как функции синуса и косинуса.
- Решите уравнения обратной кинематики для углов сочленения и создайте профили движения.
- Вычислите системный якобиан как символическое выражение, чтобы получить взаимосвязь между суставами и скоростями робота.
- Преобразование полученных выражений в MATLAB ® функциональных блоков и создайте Simulink ® или Simscape ™ модель для имитации робота
- Создайте эквивалентный код C для интеграции с другими приложениями.
Для получения дополнительной информации см. MATLAB и Symbolic Math Toolbox .
Видео
- Обучение динамике твердого тела: сочетание символьных и числовых вычислений (53:51) - Видео
- Управление движениями рычага PR2 с помощью действий ROS и обратной кинематики (3:56) - Видео
- Разработка алгоритмов манипулятора роботов (28:21) - Видео
- Разработка приложения для робототехники Pick and Place с помощью MATLAB и Simulink (39:50) - Видео
- Что такое Symbolic Math Toolbox? (2:12) - Видео
- Что такое Robotics System Toolbox? (1:56) - Видео
Примеры и как сделать - Моделирование обратной кинематики в роботизированной руке - Пример
- Лаборатория физики маятника Arduino - Пример
- Планируйте достигаемую траекторию с несколькими кинематическими ограничениями - Пример
- Моделирование управления траекторией с помощью обратной кинематики - Пример
- Планирование и выполнение траекторий без столкновений с помощью манипулятора KINOVA Gen3 - Пример
- Планирование и выполнение траекторий задач и совместных пространств с помощью манипулятора KINOVA Gen3 - Пример
- Запустить обратную кинематику на руке робота-гуманоида - Пример
Справочник по программному обеспечению - Алгоритмы обратной кинематики - создание решателя обратной кинематики - Документация
- jacobian: Матрица Якоби - Функция
- atan2: Символьный четырехквадрантный арктангенс - Функция
- diff: Различать символическое выражение или функцию - Функция
- solve: Решатель уравнений и систем - Функция
- simplify: Алгебраическое упрощение - Функция
- inverseKinematics: решатель обратной кинематики - Функция
- generalizedInverseKinematics: создание решателя обратной кинематики с множественными ограничениями - Функция
- KinematicsSolver: решение кинематических задач для многотельной модели - Функция
Комментарии
Огромное спасибо за подборку.
всегда пожалуйста!