forwardDynamics

Ускорения соединений по данным моментов в соединениях и состояний

Описание

jointAccel = forwardDynamics(robot) вычисляет ускорения соединений за счет силы тяжести в исходном строении робота с нулевыми скоростями соединений и без внешних сил.

jointAccel = forwardDynamics(robot,configuration) также задает положения соединений строения робота.

Чтобы задать исходное строение, нулевые скорости соединений или нулевые крутящие моменты, используйте [] для этого входного параметра.

jointAccel = forwardDynamics(robot,configuration,jointVel) также задает скорости соединений робота.

jointAccel = forwardDynamics(robot,configuration,jointVel,jointTorq) также задает моменты в соединениях, применяемые к роботу.

пример

jointAccel = forwardDynamics(robot,configuration,jointVel,jointTorq,fext) также задает матрицу внешних сил, которая содержит силы, приложенные к каждому соединению.

Примеры

свернуть все

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

Загрузите предопределенную модель робота KUKA LBR, которая задается как RigidBodyTree объект.

load exampleRobots.mat lbr

Установите формат данных равным 'row'. Для всех динамических вычислений формат данных должен быть либо 'row' или 'column'.

lbr.DataFormat = 'row';

Установите силу тяжести. По умолчанию сила тяжести принимается равной нулю.

lbr.Gravity = [0 0 -9.81];

Получите домашнее строение для lbr робот.

q = homeConfiguration(lbr);

Задайте вектор ключа, который представляет внешние силы, испытываемые роботом. Используйте externalForce функция для генерации матрицы внешних сил. Укажите модель робота, конечный эффектор, который испытывает ключ, вектор ключа и текущее строение робота. wrench дается относительно 'tool0' каркас кузова, который требует, чтобы вы задали строение робота, q.

wrench = [0 0 0.5 0 0 0.3];
fext = externalForce(lbr,'tool0',wrench,q);

Вычислите результирующие ускорения соединений из-за силы тяжести с внешней силой, приложенной к эффектору конца 'tool0' когда lbr находится в домашнем строении. Скорости соединений и крутящие моменты в соединениях приняты равными нулю (вход как пустой вектор []).

qddot = forwardDynamics(lbr,q,[],[],fext);

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

свернуть все

Модель робота, заданная как rigidBodyTree объект. Как использовать forwardDynamics function, установите DataFormat свойство любому из 'row' или 'column'.

Строение робота, заданная как вектор с положениями для всех нефиксованных соединений в модели робота. Вы можете сгенерировать строение, используя homeConfiguration(robot), randomConfiguration(robot)или путем определения собственных положений соединений. Как использовать вектор форму configuration, установите DataFormat свойство для robot к любому из 'row' или 'column'.

Скорости соединений, заданные как вектор. Количество скоростей соединений равно степеням свободы робота. Как использовать вектор форму jointVel, установите DataFormat свойство для robot к любому из 'row' или 'column'.

Моменты в соединениях, заданные как вектор. Каждый элемент соответствует крутящему моменту, приложенному к конкретному соединению. Как использовать вектор форму jointTorq, установите DataFormat свойство для robot к любому из 'row' или 'column'.

Матрица внешних сил, заданная как n -by-6 или 6-by- n матрица, где n - количество тел робота. Форма зависит от DataFormat свойство robot. The 'row' формат данных использует матрицу n -by-6. The 'column' формат данных использует 6-бай- n.

Матрица приводит только значения, отличные от нуля, в местоположениях, относящихся к заданному телу. Можно добавить матрицы сил вместе, чтобы задать несколько сил на нескольких телах.

Чтобы создать матрицу для заданной силы или крутящего момента, смотрите externalForce.

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

свернуть все

Ускорения соединений, возвращенные как вектор. Размерность вектора ускорений соединений равна степеням свободы робота. Каждый элемент соответствует определенному соединению на robot.

Расширенные возможности

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