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=1×6 struct array with fields:
    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