replaceBody

Замените тело на роботе

Описание

пример

replaceBody(robot,bodyname,newbody) заменяет тело в модели робота с новым телом. Все свойства тела обновляются соответственно, кроме Parent и Children свойства. Остальная часть модели робота незатронута.

Примеры

свернуть все

Чтобы использовать функции динамики, чтобы вычислить объединенные крутящие моменты и ускорения, задайте свойства динамики для rigidBodyTree объект и rigidBody.

Создайте модель дерева твердого тела. Создайте два твердых тела, чтобы присоединить к нему.

robot = rigidBodyTree('DataFormat','row');
body1 = rigidBody('body1');
body2 = rigidBody('body2');

Задайте соединения, чтобы присоединить к телам. Установите фиксированное преобразование body2 к body1. Это преобразование составляет 1 м в направлении X.

joint1 = rigidBodyJoint('joint1','revolute');
joint2 = rigidBodyJoint('joint2');
setFixedTransform(joint2,trvec2tform([1 0 0]))
body1.Joint = joint1;
body2.Joint = joint2;

Задайте свойства динамики для этих двух тел. Добавьте тела в модель робота. В данном примере основные значения для стержня (body1) с присоединенной сферической массой (body2) даны.

body1.Mass = 2;
body1.CenterOfMass = [0.5 0 0];
body1.Inertia = [0.167 0.001 0.167 0 0 0];

body2.Mass = 1;
body2.CenterOfMass = [0 0 0];
body2.Inertia = 0.0001*[4 4 4 0 0 0];

addBody(robot,body1,'base');
addBody(robot,body2,'body1');

Вычислите центр массового положения целого робота. Постройте позицию по роботу. Переместите представление в xy плоскость.

comPos = centerOfMass(robot);

show(robot);
hold on
plot(comPos(1),comPos(2),'or')
view(2)

Измените массу второго тела. Заметьте изменение в центре массы.

body2.Mass = 20;
replaceBody(robot,'body2',body2)

comPos2 = centerOfMass(robot);
plot(comPos2(1),comPos2(2),'*g')
hold off

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

свернуть все

Модель Robot, заданная как rigidBodyTree объект. Твердое тело добавляется к этому объекту и присоединяется в твердом теле, заданном bodyname.

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

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

Твердое тело, заданное как rigidBody объект.

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

| | | |

Введенный в R2017b