Создайте робота с древовидной структурой
The rigidBodyTree
является представлением связности твёрдых тел с шарнирами. Используйте этот класс для создания моделей манипуляторов роботов в MATLAB®. Если у вас есть модель робота, заданная с использованием Унифицированного Формата Описания Робота (URDF), используйте importrobot
импортировать модель робота.
Модель древовидного твердого тела состоит из твердых тел, как rigidBody
объекты. Каждое твердое тело имеет rigidBodyJoint
связанный с ним объект, который определяет, как он может перемещаться относительно своего родительского тела. Использование setFixedTransform
для определения фиксированного преобразования между системой координат соединения и системой координат одного из смежных тел. Можно добавлять, заменять или удалять твердые тела из модели с помощью методов RigidBodyTree
класс.
Также возможны вычисления динамики робота. Задайте Mass
, CenterOfMass
, и Inertia
свойства для каждого rigidBody
в модели робота. Можно вычислять прямую и обратную динамику с внешними силами или без и вычислять величины динамики с учетом движений соединений робота и входов соединений. Чтобы использовать функции, связанные с динамикой, установите DataFormat
свойство к "row"
или "column"
.
Для заданной модели древовидного твердого тела можно также использовать модель робота, чтобы вычислить углы поворота шарнира для желаемых положений концевого эффектора с помощью алгоритмов обратной кинематики робототехники. Задайте свою модель древовидного твердого тела при использовании inverseKinematics
или generalizedInverseKinematics
.
The 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] Крейг, Джон Дж. Введение в робототехнику: механика и управление. Reading, MA: Addison-Wesley, 1989.
[2] Сисилиано, Бруно, Лоренцо Сьявикко, Луиджи Виллани и Джузеппе Ориоло. Робототехника: моделирование, планирование и управление. Лондон: Спрингер, 2009.
generalizedInverseKinematics
| importrobot
| inverseKinematics
| rigidBody
| rigidBodyJoint