Moviet заменяет стандартный планировщик KDL на Trac-Ik.

робот
Moviet заменяет стандартный планировщик KDL на Trac-Ik.

Привет всем, я неизвестная Сяоюй. В последнее время многие друзья следят за Сяоюй. Спасибо за внимание~

图片

благодарный

Сегодня я расскажу о том, как заменить решатель планирования движения по умолчанию для moveit, в основном заменив KDL по умолчанию на Trac-Ik.

1. Введение в KDL

Библиотека кинематики и динамики (KDL) — это решатель кинематики по умолчанию в MoveIt!.

Официальное введение:www.orocos.org/kdl.htmlКаркас серийного манипулятора с шестью вращающимися шарнирами. Это пример кинематической структуры, которая сводит моделирование и спецификацию движения к геометрической задаче относительного движения системы отсчета. Библиотека кинематики и динамики (KDL) разрабатывает независимую от приложений структуру для моделирования и расчета кинематических цепей, таких как роботы, биомеханические манекены, компьютерные анимированные фигуры, станки и многое другое. Он предоставляет библиотеку классов для геометрических объектов (точки, кадры, линии и т. д.), различные серии кинематических цепей (последовательные, гуманоидные, параллельные, движущиеся и т. д.), а также их кинематические спецификации и интерполяции.

图片

KDL

KDL основан на численных решениях, а скорость решения низкая, в процессе использования часто возникает ошибка планирования и ошибка решения, поэтому нам нужно заменить другие решатели.

2.Trac-IK

Trac-IK предоставляет решатель обратной кинематики, который заменяет популярный метод обратного якобиана в KDL. В частности, алгоритм сходимости KDL основан на методе Ньютона, который плохо работает при наличии совместных ограничений.

Одним словом: на основе оптимизации KDL суть все же в численном решении.

TRAC-IK одновременно запускает две реализации IK. Одним из них является простое расширение основанного на Ньютоне алгоритма сходимости KDL, который обнаруживает и смягчает локальные минимумы из-за совместных ограничений случайными скачками. Второй — это метод нелинейной оптимизации SQP (последовательное квадратичное программирование), в котором используется квази-ньютоновский метод, лучше обрабатывающий совместные ограничения. По умолчанию поиск IK возвращается, как только любой из этих алгоритмов сходится к ответу.

官方仓库:https://bitbucket.org/traclabs/trac_ik/src/HEAD/

придумать сравнение

图片

Различная скорость решения алгоритма и скорость решения

3. Конфигурация установки Trac-IK

3.1 Установка

ubuntu20

sudo apt-get install ros-noetic-trac-ik

ubuntu18

sudo apt-get install ros-melodic-trac-ik

3.2 Конфигурация

Измените содержимое файла kinematics.yaml в каталоге config пакета функций, сгенерированного moveit.

заменять

kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin

(или аналогичный) для

kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin

Другие параметры:

  • kinematics_solver_timeout (время ожидания в секундах, например, 0,005)
  • position_only_ik ARE
  • solve_type может быть Speed, Distance, Manipulation1, Manipulation2. По умолчанию — Speed.

ненужный параметр

  • Параметр kinematics_solver_attempts: в отличие от KDL, решатель TRAC-IK перезапускается автоматически при зависании.
  • kinematics_solver_search_resolution тоже не применяется

После завершения модификации повторно запустите demo.launch.Если в журнале запуска вы видите Trae-IK, замена прошла успешно.

4. Резюме

В дополнение к Trac-IK можно также использовать IKFAST, но процесс настройки относительно сложен. Сяоюй изучит и подведет итоги позже, чтобы увидеть, можете ли вы создать сценарий, который поможет вам легко выполнить установку и настройку.

Вы все это видели здесь, почему бы вам не поставить лайк Сяоюй и не посмотреть еще раз~

Оригинальная ссылка:Tickets.WeChat.QQ.com/Yes/WL A7 High XL_Oh…