Создание робота с древовидной структурой
rigidBodyTree - представление связности жестких тел с соединениями. Этот класс используется для создания моделей роботов-манипуляторов в MATLAB ®. Если модель робота задана с помощью унифицированного формата описания робота (URDF), используйтеimportrobot для импорта модели робота.
Модель дерева жесткого тела состоит из жестких тел в виде rigidBody объекты. Каждое жесткое тело имеет rigidBodyJoint связанный с ним объект, который определяет, как он может перемещаться относительно своего родительского тела. Использовать setFixedTransform для определения фиксированного преобразования между каркасом соединения и каркасом одного из смежных тел. Можно добавлять, заменять или удалять жесткие тела из модели с помощью методов RigidBodyTree класс.
Также возможны расчеты динамики роботов. Укажите Mass, CenterOfMass, и Inertia свойства для каждого rigidBody в модели робота. Можно рассчитать прямую и обратную динамику с внешними силами или без них и вычислить величины динамики с учетом движений робота и вводов соединения. Для использования функций, связанных с динамикой, установите DataFormat свойство для "row" или "column".
Для данной модели дерева жесткого тела можно также использовать модель робота для вычисления углов соединения для требуемых конечных положений эффектора с помощью алгоритмов обратной кинематики робототехники. Укажите модель дерева жесткого тела при использовании inverseKinematics или generalizedInverseKinematics.
show способ поддерживает визуализацию сеток тела. Сетки указаны как .stl файлы и могут быть добавлены к отдельным жестким телам с помощью addVisual. Также по умолчанию importrobot функция загружает все доступные .stl файлы, указанные в модели робота URDF.
создает объект робота с древовидной структурой. Добавление жестких тел с помощью robot = rigidBodyTreeaddBody.
указывает верхнюю границу числа тел, разрешенных для робота при создании кода. Необходимо также указать robot = rigidBodyTree("MaxNumBodies",N,"DataFormat",dataFormat)DataFormat свойство как пара имя-значение.
addBody | Добавить тело к роботу |
addSubtree | Добавление поддерева к роботу |
centerOfMass | Положение центра масс и якобиан |
checkCollision | Проверьте, находится ли робот в состоянии столкновения |
copy | Копировать модель робота |
externalForce | Составить матрицу внешних сил относительно основания |
forwardDynamics | Ускорения сочленения с учетом крутящих моментов и состояний сочленения |
geometricJacobian | Геометрический якобиан для конфигурации робота |
gravityTorque | Крутящие моменты соединения, компенсирующие силу тяжести |
getBody | Получить ручку тела робота по имени |
getTransform | Преобразование между кадрами тела |
homeConfiguration | Получить домашнюю конфигурацию робота |
inverseDynamics | Требуемые крутящие моменты соединения для данного движения |
massMatrix | Массовая матрица «соединение-пространство» |
randomConfiguration | Создание случайной конфигурации робота |
removeBody | Извлечь тело из робота |
replaceBody | Заменить тело на роботе |
replaceJoint | Заменить соединение на корпусе |
show | Показать модель робота на рисунке |
showdetails | Показать сведения о модели робота |
subtree | Создание поддерева из модели робота |
velocityProduct | Крутящие моменты соединения, которые отменяют силы, вызванные скоростью |
writeAsFunction | Создать rigidBodyTree функция генерации кода |
[1] Крейг, Джон Дж. Введение в робототехнику: механика и управление. Рединг, Массачусетс: Эддисон-Уэсли, 1989.
[2] Сисилиано, Бруно, Лоренцо Сьявикко, Луиджи Виллани и Джузеппе Ориоло. Робототехника: моделирование, планирование и контроль. Лондон: Спрингер, 2009.
generalizedInverseKinematics | importrobot | inverseKinematics | rigidBody | rigidBodyJoint