show

Показать модель робота на графике

Описание

пример

show(robot) строит системы координат тела модели робота в фигуре с предопределенной домашней настройкой. Оба Frames и Visuals отображены автоматически.

show(robot,configuration) использует объединенные положения, заданные в configuration показать системы координат тела робота.

show(___,Name,Value) предоставляет дополнительные возможности, заданные одним или несколькими Name,Value парные аргументы.

ax = show(___) возвращает указатель осей, на котором построен робот.

Примеры

свернуть все

Можно импортировать роботов, которые имеют .stl файлы, сопоставленные с файлом Объединенного формата описания робота (URDF), чтобы описать визуальные конфигурации робота. Каждое твердое тело имеет отдельную визуальную заданную геометрию. importrobot функционируйте анализирует файл URDF, чтобы получить робота и визуальные конфигурации модели. Используйте show функция, чтобы визуализировать модель робота в фигуре. Можно затем взаимодействовать с моделью путем нажатия на компоненты, чтобы смотреть их и щелчка правой кнопкой, чтобы переключить видимость.

Импортируйте модель робота как файл URDF. .stl расположение файлов должно быть правильно задано в этом URDF. Добавить другой .stl файлы к отдельным твердым телам, смотрите addVisual.

robot = importrobot('iiwa14.urdf');

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

show(robot);

Покажите различные настройки робота, созданного с помощью RigidBodyTree модель. Используйте homeConfiguration или randomConfiguation функции, чтобы сгенерировать структуру, которая задает все объединенные положения.

Загрузите роботов в качестве примера как RigidBodyTree объекты.

load exampleRobots.mat

Создайте структуру для домашней настройки робота Пумы. Структура имеет объединенные имена и положения для каждого тела на модели робота.

config = homeConfiguration(puma1)
config=6×2 struct
    JointName
    JointPosition

Покажите домашнюю настройку с помощью show. Вы не должны задавать вход настройки.

show(puma1);

Измените настройку и установите второе объединенное положение на pi/2. Покажите получившееся изменение в настройке робота.

config(2).JointPosition = pi/2;
show(puma1,config);

Создайте случайные настройки и покажите им.

show(puma1,randomConfiguration(puma1));

Используйте параметры Denavit-Hartenberg (DH) робота Puma560®, чтобы создать робота. Каждое твердое тело добавляется по одному, с дочерним элементом к родительскому элементу преобразовывают заданный объединенным объектом.

Параметры DH задают геометрию робота с отношением к тому, как каждое твердое тело присоединено к своему родительскому элементу. Для удобства установите параметры для робота Puma560 в матрице. Робот Пумы является последовательным цепочечным манипулятором. Параметры DH относительно предыдущей линии в матрице, соответствуя предыдущему объединенному прикреплению.

dhparams = [0   	pi/2	0   	0;
            0.4318	0       0       0
            0.0203	-pi/2	0.15005	0;
            0   	pi/2	0.4318	0;
            0       -pi/2	0   	0;
            0       0       0       0];

Создайте объект дерева твердого тела создать робота.

robot = rigidBodyTree;

Создайте первое твердое тело и добавьте его в робота. Добавить твердое тело:

  1. Создайте rigidBody возразите и дайте ему уникальное имя.

  2. Создайте rigidBodyJoint возразите и дайте ему уникальное имя.

  3. Используйте setFixedTransform задавать преобразование от тела к телу с помощью параметров DH. Последний элемент параметров DH, theta, проигнорирован, потому что угол зависит от объединенного положения.

  4. Вызовите addBody присоединить первый сустав к базовой системе координат робота.

body1 = rigidBody('body1');
jnt1 = rigidBodyJoint('jnt1','revolute');

setFixedTransform(jnt1,dhparams(1,:),'dh');
body1.Joint = jnt1;

addBody(robot,body1,'base')

Создайте и добавьте другие твердые тела в робота. Задайте предыдущее имя тела при вызове addBody присоединить его. Каждое фиксированное преобразование относительно предыдущей объединенной координатной системы координат.

body2 = rigidBody('body2');
jnt2 = rigidBodyJoint('jnt2','revolute');
body3 = rigidBody('body3');
jnt3 = rigidBodyJoint('jnt3','revolute');
body4 = rigidBody('body4');
jnt4 = rigidBodyJoint('jnt4','revolute');
body5 = rigidBody('body5');
jnt5 = rigidBodyJoint('jnt5','revolute');
body6 = rigidBody('body6');
jnt6 = rigidBodyJoint('jnt6','revolute');

setFixedTransform(jnt2,dhparams(2,:),'dh');
setFixedTransform(jnt3,dhparams(3,:),'dh');
setFixedTransform(jnt4,dhparams(4,:),'dh');
setFixedTransform(jnt5,dhparams(5,:),'dh');
setFixedTransform(jnt6,dhparams(6,:),'dh');

body2.Joint = jnt2;
body3.Joint = jnt3;
body4.Joint = jnt4;
body5.Joint = jnt5;
body6.Joint = jnt6;

addBody(robot,body2,'body1')
addBody(robot,body3,'body2')
addBody(robot,body4,'body3')
addBody(robot,body5,'body4')
addBody(robot,body6,'body5')

Проверьте, что ваш робот был создан правильно при помощи showdetails или show функция. showdetails списки все тела в командном окне MATLAB®. show отображает робота с данной настройкой (домой по умолчанию). Вызовы axis измените пределы по осям и скройте подписи по осям.

showdetails(robot)
--------------------
Robot: (6 bodies)

 Idx    Body Name   Joint Name   Joint Type    Parent Name(Idx)   Children Name(s)
 ---    ---------   ----------   ----------    ----------------   ----------------
   1        body1         jnt1     revolute             base(0)   body2(2)  
   2        body2         jnt2     revolute            body1(1)   body3(3)  
   3        body3         jnt3     revolute            body2(2)   body4(4)  
   4        body4         jnt4     revolute            body3(3)   body5(5)  
   5        body5         jnt5     revolute            body4(4)   body6(6)  
   6        body6         jnt6     revolute            body5(5)   
--------------------
show(robot);
axis([-0.5,0.5,-0.5,0.5,-0.5,0.5])
axis off

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

свернуть все

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

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

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Frames','off'

Родительский элемент осей, заданных как разделенная запятой пара, состоящая из Parent и Axes объект, в котором можно чертить робота. По умолчанию робот построен в активных осях.

Опция, чтобы зарезервировать график робота, заданный как разделенная запятой пара, состоящая из "PreservePlot" и true или false. Когда это свойство установлено в true, предыдущие графики отображены путем вызова show не перезаписываются. Эта установка функционирует похожая на вызов hold on для стандартной фигуры MATLAB®, но ограничивается системами координат тела робота. Когда это свойство установлено в false, перезаписываются предыдущие графики робота.

Отобразите системы координат тела, заданные как "on" или "off". Эти системы координат являются координатными системами координат отдельных тел на дереве твердого тела.

Отобразите визуальные конфигурации, заданные как "on" или "off". Отдельные визуальные конфигурации могут также быть выключены путем щелчка правой кнопкой по ним в фигуре.

Можно или задать отдельные визуальные конфигурации с помощью addVisual или при помощи importrobot импортировать модель робота с .stl файлы заданы.

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

свернуть все

Оси графический указатель, возвращенный как Axes объект. Этот объект содержит свойства фигуры, на которую построен робот.

Советы

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

  • Системы координат тела: Отдельные системы координат тела отображены как координатная система координат с 3 осями. Фиксированные системы координат являются розовыми системами координат. Подвижные объединенные типы отображены как оси RGB. Можно кликнуть по системе координат тела, чтобы видеть ось движения. Призматические соединения показывают желтую стрелу в направлении оси движения и, шарнирные соединения показывают круговую стрелку вокруг оси вращения.

  • Визуальные Сетки: Отдельные визуальные конфигурации заданы с помощью addVisual или при помощи importrobot импортировать модель робота с .stl файлы заданы. Путем щелчка правой кнопкой по отдельным телам по фигуре можно выключить их сетки или задать Visuals пара "имя-значение", чтобы скрыть все визуальные конфигурации.

Смотрите также

| |

Введенный в R2017b