主要内容

inverseDynamics

给定运动所需的关节力矩

描述

jointTorq= inverseDynamics (机器人计算关节力矩所需的机器人静态保持其家庭配置没有外力的应用。

例子

jointTorq= inverseDynamics (机器人配置计算关节力矩以保持指定的机器人配置。

jointTorq= inverseDynamics (机器人配置jointVel计算关节力矩为指定的关节配置和速度与零加速度和没有外力。

jointTorq= inverseDynamics (机器人配置jointVeljointAccel在没有外力的情况下,计算指定的关节配置、速度和加速度的关节力矩。要指定主配置、零关节速度或零加速度,请使用[]输入参数。

jointTorq= inverseDynamics (机器人配置jointVeljointAccelfext计算指定的关节配置、速度、加速度和外力的关节力矩。使用externalForce函数来生成fext

例子

全部折叠

使用inverseDynamics函数用于计算静态保持特定机器人配置所需的关节力矩。您还可以使用其他语法指定关节速度、关节加速度和外力。

加载一个预定义的KUKA LBR机器人模型,指定为RigidBodyTree对象。

负载exampleRobots.matlbr

设置数据格式为“行”.对于所有的动力学计算,数据格式必须是“行”“列”

lbr。DataFormat =“行”

设置重力属性来给出一个特定的重力加速度。

lbr。重力= [0 0 -9.81];

为生成一个随机配置lbr

q = randomConfiguration (lbr);

计算所需的关节扭矩lbr静态地保持这个配置。

τ= inverseDynamics (lbr q);

使用externalForce函数生成应用于刚体树模型的力矩阵。力矩阵是- x6向量,每一行对应机器人的每个关节,用于使用六元素扳手。使用externalForce函数和指定末端执行器适当地分配扳手到矩阵的正确行。你可以把多个力矩阵加在一起,给一个机器人施加多个力。

要计算抵消这些外力的关节力矩,使用inverseDynamics函数。

加载一个预定义的KUKA LBR机器人模型,指定为RigidBodyTree对象。

负载exampleRobots.matlbr

设置数据格式为“行”.对于所有的动力学计算,数据格式必须是“行”“列”

lbr。DataFormat =“行”

设置重力属性来给出一个特定的重力加速度。

lbr。重力= [0 0 -9.81];

获得的主配置lbr

q = homeConfiguration (lbr);

施加外力link1.输入扳手向量在基架中表示。

fext1 = externalForce (lbr,“link_1”,[0 0 0.0 0.1 0 0]);

在末端执行器上设置外力,tool0.输入的扳手向量表示为tool0框架。

fext2 = externalForce (lbr,“tool0”,[0 0 0 0 0],q);

计算平衡外力所需的关节力矩。要组合这些力,请将力矩阵相加。假设关节速度和加速度为零(输入为[]).

τ= inverseDynamics (lbr q [], [], fext1 + fext2);

输入参数

全部折叠

机器人型号,指定为rigidBodyTree对象。使用inverseDynamics函数,设置DataFormat财产,要么“行”“列”

机器人配置,指定为机器人模型中所有非固定关节的位置向量。您可以使用homeConfiguration(机器人)randomConfiguration(机器人),或者指定你自己的关节位置。的向量形式配置,设置DataFormat财产机器人要么“行”“列”

关节速度,指定为矢量。关节速度的个数等于机器人的速度自由度。的向量形式jointVel,设置DataFormat财产机器人要么“行”“列”

关节加速度,作为矢量返回。关节加速度矢量的维数等于机器人的速度自由度。每个元素对应一个特定的关节机器人.的向量形式jointAccel,设置DataFormat财产机器人要么“行”“列”

外力矩阵,指定为n6或6日-n矩阵,n为机器人的速度自由度。形状取决于DataFormat的属性机器人.的“行”数据格式使用n6矩阵。的“列”数据格式使用6by -n

该矩阵仅列出与指定主体相关的位置上的非零值。您可以将力矩阵相加,以指定作用于多个物体的多个力。

为指定的力或扭矩创建矩阵,请参阅externalForce

输出参数

全部折叠

关节力矩,作为矢量返回。每个元件对应于施加在特定关节上的扭矩。

参考文献

[1]费瑟斯通,罗伊。刚体动力学算法.施普林格,2008年。DOI.org (Crossref), doi: 10.1007 / 978-1-4899-7560-7。

扩展功能

介绍了R2017a