Модель робота-древовидного твердого тела

Модель древовидного твердого тела является представлением структуры робота. Можно использовать его для представления роботов, таких как манипуляторы или другие древовидные кинематические структуры. Использование rigidBodyTree объекты для создания этих моделей.

Древо твёрдого тела состоит из твёрдых тел (rigidBody) которые присоединены через шарниры (rigidBodyJoint). Каждое твердое тело имеет соединение, которое определяет, как это тело перемещается относительно своего родительского элемента в дереве. Задайте преобразование от одного тела к следующему путем установки фиксированного преобразования на каждом соединении (setFixedTransform).

Можно добавлять, заменять или удалять тела из модели древовидного твердого тела. Можно также заменить соединения для определенных тел. The rigidBodyTree объект поддерживает связи и обновляет rigidBody свойства объекта, чтобы отразить эту связь. Вы также можете получить преобразования между различными каркасами кузова, используя getTransform.

Компоненты древовидного твердого тела

Основа

Каждое дерево твёрдого тела имеет основу. Эта основа определяет мировую координатную систему координат и является первой точкой присоединения для твердого тела. Изменение основы невозможно, кроме Name свойство. Вы можете сделать это, изменив BaseName свойство древовидного твердого тела.

Твердое Тело

Твердое тело является базовым базовым блоком древовидной модели твердого тела и создается с помощью rigidBody. Твёрдое тело, иногда называемое ссылкой, представляет собой твёрдое тело, которое не может деформироваться. Расстояние между любыми двумя точками на одном твердом теле остается постоянным.

При добавлении в дерево твердых тел с несколькими телами с ними связаны твердые тела, родительские элементы или дочерние тела (Parent или Children свойства). Родительским элементом является тело, к которому прикреплено это твердое тело, которое может быть основой робота. Все дети являются телами, прикрепленными к этому телу ниже по течению от основы древовидного твердого тела.

Каждое твердое тело имеет связанную с ними координатную систему координат и содержит rigidBodyJoint объект.

Сустав

Каждое твердое тело имеет одно соединение, которое определяет движение этого твердого тела относительно его родительского элемента. Это точка присоединения, которая соединяет два твердых тела в модели робота. Чтобы представлять одно физическое тело с несколькими шарнирами или другими осями движения, используйте несколько rigidBody объекты.

The rigidBodyJoint объект поддерживает фиксированные, вращательные и призматические соединения.

Эти соединения допускают следующее движение в зависимости от их типа:

  • 'fixed' - Нет движения. Корпус жестко соединяется с родительским элементом.

  • 'revolute' - Только вращательное движение. Тело вращается вокруг этого соединения относительно своего родительского элемента. Пределы положения определяют минимальное и максимальное угловое положение в радианах вокруг оси движения.

  • 'prismatic' - Только поступательное движение. Тело движется линейно относительно своего родительского элемента вдоль оси движения.

Каждое соединение имеет ось движения, заданную JointAxis свойство. Ось соединения является вектором 3-D модулей, который либо задает ось вращения (шарнирные соединения), либо ось перемещения (призматические соединения). The HomePosition свойство задает исходное положение для этого конкретного соединения, которое является точкой в пределах положения. Использовать homeConfiguration чтобы вернуть домашнее строение для робота, которая представляет собой набор всех исходных положений соединений в модели.

Соединения также имеют свойства, которые определяют фиксированное преобразование между родительской и дочерней системами координат тела. Эти свойства могут быть заданы только с помощью setFixedTransform способ. В зависимости от вашего метода ввода параметров преобразования, либо JointToParentTransform или ChildToJointTransform Свойство задано с помощью этого метода. Другое свойство установлено в матрицу тождеств. Следующие изображения изображают, что означает каждое свойство.

  • The JointToParentTransform определяет, где соединение дочернего тела связано с родительским каркасом кузова. Когда JointToParentTransform является матрицей тождеств, родительское тело и системы координат соединений совпадают.

  • The ChildToJointTransform определяет, где соединение дочернего тела связано с дочерним каркасом кузова. Когда ChildToJointTransform является матрицей тождеств, дочернее тело и системы координат соединений совпадают.

Примечание

Фактические положения соединений не являются частью этого Joint объект. Модель робота - без гражданства. Существует промежуточное преобразование между родительской и дочерней системами координат соединений, которое определяет положение соединения вдоль оси движения. Это преобразование определено в строении робота. См. «Строения робота».

Строения робота

После полной сборки робота и определения преобразований между различными телами можно создать строения робота. A строения определяет все положения соединений робота по их именам соединений.

Использовать homeConfiguration чтобы получить HomePosition свойство каждого соединения и создайте домашнее строение.

Строения робота заданы как массив структур.

config = homeConfiguration(robot)
config = 

  1×6 struct array with fields:

    JointName
    JointPosition
Каждый элемент массива является структурой, которая содержит имя и положение одного из соединений робота.
config(1)
ans = 

  struct with fields:

        JointName: 'jnt1'
    JointPosition: 0

Можно также сгенерировать случайное строение, которая подчиняется всем пределам соединений, используя randomConfiguration.

Используйте строения робота, когда вы хотите построить график робота на рисунке, используя show. Кроме того, вы можете получить преобразование между двумя каркасами кузова с определенным строением, используя getTransform.

Чтобы получить строение робота с заданным положением end-effector, используйте inverseKinematics. Этот алгоритм решает для необходимых углов поворота шарнира, чтобы достичь определенного положения для заданного твердого тела.

См. также

|

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте