主要内容

jointSpaceMotionModel

给定关节空间输入的刚体树运动模型

描述

jointSpaceMotionModel目标模型为机械臂机器人的闭环关节空间运动,指定为刚体树对象。运动模型的行为由运动类型财产。

有关运动方程的更多细节,请参阅关节空间运动模型

创建

描述

motionModel= jointSpaceMotionModel为默认的两关节机械手创建一个运动模型。

例子

motionModel= jointSpaceMotionModel(“RigidBodyTree”,树)为指定对象创建运动模型刚体树对象。

motionModel= jointSpaceMotionModel(名称,值)设置指定为名称-值对的其他属性。您可以以任何顺序指定多个属性。

属性

全部展开

刚体树机器人模型,指定为刚体树定义机械手的惯性和运动学特性的对象。

错误动态的固有频率,指定为标量或n- Hz的元素向量,其中n关联的非固定关节的数目是多少刚体树中的对象刚体树财产。

依赖关系

要使用此属性,请设置运动类型财产“ComputedTorqueControl”“独立联合运动”

二阶误差动力学的阻尼比,指定为标量或n-实值元素向量,其中n关联的非固定关节的数目是多少刚体树中的对象刚体树财产。如果指定了标量,则受潮成为n元素值向量年代,在那里年代是指定的标量。

依赖关系

要使用此属性,请设置运动类型财产“ComputedTorqueControl”“独立联合运动”

比例导数(PD)控制的比例增益,指定为标量或n-借-n矩阵,在哪里n关联的非固定关节的数目是多少刚体树中的对象刚体树财产。你必须设置运动类型财产“PDC控制”.如果指定了标量,则金伯利进程变成s*眼(n),在那里年代是指定的标量。

依赖关系

要使用此属性,请设置运动类型财产“PDC控制”

PD控制的导数增益,指定为标量或n-借-n矩阵,在哪里n在非固定关节的数量刚体树中的对象刚体树财产。如果指定了标量,则金伯利进程变成s*眼(n),在那里年代是指定的标量。

依赖关系

要使用此属性,请设置运动类型财产“PDC控制”

运动类型,指定为字符串标量或字符向量,定义对象模型的闭环关节空间行为。选项有:

  • “ComputedTorqueControl”-补偿全身动力学和指定的误差动力学自然频率受潮财产。

  • “独立联合运动”-使用指定的误差动力学将每个关节建模为一个独立的二阶系统自然频率受潮财产。

  • “PDC控制”-基于指定的参数对关节使用比例微分控制金伯利进程杜兰特财产。

对象的功能

导数 机械手模型状态的时间导数
updateErrorDynamicsFromStep 更新的值自然频率受潮给定所需阶跃响应的特性

例子

全部折叠

此示例演示如何创建和使用jointSpaceMotionModel目标为关节空间中的机械臂机器人。

创建一个机器人

机器人= loadrobot (“kinovaGen3”,“DataFormat”,“栏目”,“重力”,[0 0 -9.81]);

设置模拟

设置时间跨度为1秒,时间步长为0.01秒。设置初始状态为机器人,home配置速度为零。

tspan = 0:0.01:1;initialState = [homeConfiguration(机器人);0 (7,1)];

定义具有目标位置、零速度和零加速度的参考状态。

targetState =[π/ 4;π/ 3;π/ 2;-π/ 3;π/ 4;-π/ 4;3 *π/ 4;0 (7 - 1);0 (7,1)];

创建运动模型

通过计算扭矩控制和误差动态对系统进行建模,误差动态由具有5%超调的适度快速阶跃响应定义。

motionModel=jointSpaceMotionModel(“RigidBodyTree”,机器人);updateErrorDynamicsFromStep (motionModel。3 . 05);

模拟机器人

使用模型的导数函数作为ode45解算器在1秒内模拟行为。

[t,机器人状态]=ode45(@(t,状态)导数(运动模型,状态,目标状态),tspan,初始状态);

绘出反应

绘制所有关节驱动至其目标状态的位置。在起始位置和目标位置之间具有较高位移的关节以比具有较低位移的关节更快的速度驱动至目标。这会导致超调,但所有关节具有相同的稳定时间。

图绘制(t, robotState (: 1: motionModel.NumJoints));持有全部的;情节(t, targetState (1: motionModel.NumJoints) *(1、长度(t)),”——“);头衔(“关节位置(实心)vs参考(虚线)”);包含(“时间(s)”)伊拉贝尔(“位置(rad)”);

图中包含一个轴对象。带有标题关节位置(实心)和参考(虚线)的轴对象包含14个类型为line的对象。

工具书类

[1] 克雷格,约翰J。机器人学导论:力学与控制新泽西州上鞍河:皮尔逊教育,2005年。

Spong, Mark W., Seth Hutchinson和Mathukumalli Vidyasagar。机器人建模与控制.Hoboken, NJ: Wiley, 2006。

扩展功能

C / c++代码生成
使用Matlab®编码器生成C和C++代码™.

介绍了R2019b