Создание обратного кинематического решателя
inverseKinematics Система object™ создает обратный кинематический (IK) решатель для вычисления конфигураций соединений для требуемой позы конечного эффектора на основе заданной модели дерева жесткого тела. Создайте модель дерева жесткого тела для робота с помощью rigidBodyTree класс. Эта модель определяет все ограничения соединения, которые применяются решателем. Если решение возможно, пределы соединения, указанные в модели робота, подчиняются.
Чтобы задать дополнительные ограничения, помимо конечной эффекторной позы, включая ограничения нацеливания, границы положения или цели ориентации, рекомендуется использовать generalizedInverseKinematics. Этот объект позволяет вычислять многоограниченные решения IK.
Аналитические решения ИК в закрытой форме см. в разделе analyticalInverseKinematics.
Чтобы вычислить конфигурации соединений для требуемой позы конечного эффектора:
Создать inverseKinematics и задайте его свойства.
Вызовите объект с аргументами, как если бы это была функция.
Дополнительные сведения о работе системных объектов см. в разделе Что такое системные объекты?.
создает обратный кинематический решатель. Чтобы использовать решатель, укажите модель дерева жесткого тела в ik = inverseKinematicsRigidBodyTree собственность.
создает обратный кинематический решатель с дополнительными опциями, заданными одним или несколькими ik = inverseKinematics(Name,Value)Name,Value аргументы пары. Name является именем свойства и Value - соответствующее значение. Name должно отображаться внутри отдельных кавычек (''). Можно указать несколько аргументов пары имя-значение в любом порядке как Name1,Value1,...,NameN,ValueN.
[ находит конфигурацию соединения, которая достигает указанной конечной эффекторной позы. Укажите начальное предположение для конфигурации и требуемые веса для допусков для шести компонентов configSol,solInfo] = ik(endeffector,pose,weights,initialguess)pose. Информация о решении, относящаяся к выполнению алгоритма, solInfo, возвращается вместе с решением по конфигурации соединения, configSol.
Чтобы использовать функцию объекта, укажите объект System в качестве первого входного аргумента. Например, для освобождения системных ресурсов объекта System с именем obj, используйте следующий синтаксис:
release(obj)
[1] Бадреддин, Хасан, Стефан Вандевалле и Йохан Мейерс. «Последовательное квадратичное программирование (SQP) для оптимального управления при прямом численном моделировании турбулентного потока». Журнал вычислительной физики. 256 (2014): 1–16. doi: 10.1016/j.jcp.2013.08.044.
[2] Берцекас, Дмитрий П. Нелинейное программирование. Belmont, MA: Athena Scientific, 1999.
[3] Голдфарб, Дональд. «Расширение метода переменной метрики Давидона до максимизации при линейном неравенстве и ограничениях равенства». Журнал СИАМ по прикладной математике. т. 17, № 4 (1969): 739-64. дои: 10.1137/0117067.
[4] Нокедал, Хорхе и Стивен Райт. Численная оптимизация. Нью-Йорк, Нью-Йорк: Спрингер, 2006.
[5] Сугихара, Томомичи. «Разрешимость - бесконтрольная обратная кинематика методом Левенберга-Марквардта». Сделки IEEE по робототехнике Том 27, № 5 (2011): 984-91. дои: 10.1109/tro.2011.2148230.
[6] Чжао, Цзяньминь и Норман И. Бадлер. «Обратное кинематическое позиционирование с использованием нелинейного программирования для высокоартикулированных фигур». ACM Transactions on Graphics Vol. 13, No. 4 (1994): 313-36. дои: 10,1145/ 195826,195827.
analyticalInverseKinematics | generalizedInverseKinematics | rigidBody | rigidBodyJoint | rigidBodyTree