Создайте мультиограничительный решатель инверсной кинематики
Система GeneralizedInverseKinematics object™ использует набор кинематических ограничений, чтобы вычислить объединенную настройку для модели дерева твердого тела, заданной объектом RigidBodyTree. Объект GeneralizedInverseKinematics использует нелинейный решатель, чтобы удовлетворить ограничения или достигнуть наилучшего приближения.
Задайте типы ограничения, ConstraintInputs, прежде, чем вызвать объект. Чтобы изменить ограничительные входные параметры после вызова объекта, вызовите .release(gik)
Задайте ограничительные входные параметры, когда ограничение возражает, и вызовите GeneralizedInverseKinematics с этими объектами, переданными в него. Чтобы создать ограничительные объекты, используйте эти классы:
Если ваше единственное ограничение является положением исполнительного элемента конца и ориентацией, рассмотрите использование InverseKinematics как своего решателя вместо этого.
Решить обобщенные ограничения инверсной кинематики:
Создайте объект robotics.GeneralizedInverseKinematics и установите его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.
gik = robotics.GeneralizedInverseKinematicsgik = robotics.GeneralizedInverseKinematics('RigidBodyTree',rigidbodytree,'ConstraintInputs',inputTypes)gik = robotics.GeneralizedInverseKinematics(Name,Value) возвращает обобщенный решатель инверсной кинематики без заданной модели дерева твердого тела. Задайте модель gik = robotics.GeneralizedInverseKinematicsRigidBodyTree и свойство ConstraintInputs перед использованием этого решателя.
возвращает обобщенный решатель инверсной кинематики с моделью дерева твердого тела и ожидаемыми ограничительными заданными входными параметрами.gik = robotics.GeneralizedInverseKinematics('RigidBodyTree',rigidbodytree,'ConstraintInputs',inputTypes)
возвращает обобщенный решатель инверсной кинематики с каждым заданным набором имени свойства к заданному значению одним или несколькими аргументами пары gik = robotics.GeneralizedInverseKinematics(Name,Value)Name,Value. Имя должно находиться внутри одинарных кавычек (' '). Можно задать несколько аргументов пары "имя-значение" в любом порядке как Name1,Value1,...,NameN,ValueN.
[configSol,solInfo]
= gik(initialguess,constraintObj,...,constraintObjN)[ находит объединенную настройку, configSol,solInfo]
= gik(initialguess,constraintObj,...,constraintObjN)configSol, на основе исходного предположения и списка, разделенного запятыми ограничительных объектов описания. Количество ограничительных описаний зависит от свойства ConstraintInputs.
Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj, используйте этот синтаксис:
release(obj)