Привет всем, я неизвестная Сяоюй. В последнее время многие друзья следят за Сяоюй. Спасибо за внимание~
благодарный
Сегодня я расскажу о том, как заменить решатель планирования движения по умолчанию для 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…