Создайте робота с древовидной структурой
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] Крэйг, Джон Дж. Введение в робототехнику: механика и управление. Чтение, MA: Аддисон-Уэсли, 1989.
[2] Siciliano, Бруно, Лоренсо Ссиавикко, Луиджи Виллани и Джузеппе Ориоло. Робототехника: моделирование, планируя и управляет. Лондон: Спрингер, 2009.
importrobot
| inverseKinematics
| generalizedInverseKinematics
| rigidBodyJoint
| rigidBody