getTransform

Класс: робототехника. RigidBodyTree
Пакет: робототехника

Доберитесь преобразовывают между каркасами кузова

Синтаксис

transform = getTransform(robot,configuration,bodyname)
transform = getTransform(robot,configuration,sourcebody,targetbody)

Описание

transform = getTransform(robot,configuration,bodyname) вычисляет преобразование, которое преобразовывает точки в кадре bodyname к опорной раме робота, с помощью заданной настройки робота.

transform = getTransform(robot,configuration,sourcebody,targetbody) вычисляет преобразование, которое преобразовывает точки от исходного каркаса кузова до целевого каркаса кузова, с помощью заданной настройки робота.

Входные параметры

развернуть все

Модель Robot, заданная как объект RigidBodyTree.

Настройка робота, заданная как массив структур с объединенными именами и положениями для всех тел в модели робота. Можно сгенерировать настройку с помощью homeConfiguration(robot), randomConfiguration(robot), или путем определения собственных объединенных имен и положений в массиве структур.

Имя тела, заданное как скаляр строки или вектор символов. Это тело должно быть на модели робота, заданной в robot.

Типы данных: char | string

Целевое имя тела, заданное как вектор символов. Это тело должно быть на модели робота, заданной в robot. Целевой кадр является системой координат, в которую вы хотите преобразовать точки.

Типы данных: char | string

Имя тела, заданное как скаляр строки или вектор символов. Это тело должно быть на модели робота, заданной в robot. Исходный кадр является системой координат, от которой вы хотите точки, преобразованные.

Типы данных: char | string

Выходные аргументы

развернуть все

Гомогенное преобразование, возвращенное как матрица 4 на 4.

Примеры

развернуть все

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

Загрузите демонстрационных роботов, которые включают робота puma1.

load exampleRobots.mat

Получите преобразование между 'L2' и корпусами 'L6' робота puma1, учитывая определенную настройку. Преобразование преобразовывает точки в кадре 'L6' к кадру 'L2'.

transform = getTransform(puma1,randomConfiguration(puma1),'L2','L6')
transform = 4×4

   -0.2232    0.4179    0.8807    0.0212
   -0.8191    0.4094   -0.4018    0.1503
   -0.5284   -0.8111    0.2509   -0.4317
         0         0         0    1.0000

Введенный в R2017b