主要内容

显示

展示机器人模型图

描述

例子

显示(机器人)绘制机器人模型的身体框架在一个图形与预定义的家庭配置。这两个视觉效果自动显示。

显示(机器人配置)使用中指定的关节位置配置来展示机器人的身体框架。

显示(___、名称、值)除了使用以前语法中的输入参数的任何组合外,还使用一个或多个名称-值对参数指定选项。例如,“帧”,“关闭”隐藏图中的刚体框架。

斧头=显示(___)返回绘制机器人的轴柄。

例子

全部折叠

你可以导入具有.stl文件与统一机器人描述格式(URDF)文件相关联,用于描述机器人的视觉几何形状。每个刚体都有一个特定的视觉几何。的importrobot函数解析URDF文件以获得机器人模型和可视化几何图形。该函数假定机器人的视觉几何和碰撞几何是相同的,并将视觉几何赋值为相应物体的碰撞几何。

使用显示函数以图形的形式显示机器人模型的视觉和碰撞几何图形。然后,您可以通过单击组件来检查它们,并右键单击以切换可见性来与模型进行交互。

将机器人模型作为URDF文件导入。的.stl文件位置必须在这个URDF中正确指定。添加其他.stl文件到单个刚体,看addVisual

机器人= importrobot (“iiwa14.urdf”);

用相关的视觉模型可视化机器人。点击身体或框架来检查它们。右击物体以切换每个可视几何体的可见性。

表演(机器人,“视觉效果”“上”“碰撞”“关闭”);

图中包含一个坐标轴。轴包含29个类型为patch, line的对象。这些对象代表world, iiwa_link_0, iiwa_link_1, iiwa_link_2, iiwa_link_3, iiwa_link_4, iiwa_link_5, iiwa_link_6, iiwa_link_7, iiwa_link_ee, iiwa_link_ee_kuka, iiwa_link_0_mesh, iiwa_link_1_mesh, iiwa_link_2_mesh, iiwa_link_3_mesh, iiwa_link_4_mesh, iiwa_link_5_mesh, iiwa_link_6_mesh, iiwa_link_7_mesh。

可视化机器人与相关的碰撞几何图形。点击身体或框架来检查它们。右键单击物体以切换每个碰撞几何图形的可见性。

表演(机器人,“视觉效果”“关闭”“碰撞”“上”);

图中包含一个坐标轴。轴包含29个类型为patch, line的对象。这些对象代表world, iiwa_link_0, iiwa_link_1, iiwa_link_2, iiwa_link_3, iiwa_link_4, iiwa_link_5, iiwa_link_6, iiwa_link_7, iiwa_link_ee, iiwa_link_ee_kuka, iiwa_link_0_mesh, iiwa_link_1_mesh, iiwa_link_2_mesh, iiwa_link_3_mesh, iiwa_link_4_mesh, iiwa_link_5_mesh, iiwa_link_6_mesh, iiwa_link_7_mesh, iiwa_link_0_coll_mesh, iiwa_link_5_mesh, iiwa_link_7_mesh, iiwa_link_0_coll_mesh,Iiwa_link_1_coll_mesh, iiwa_link_2_coll_mesh, iiwa_link_3_coll_mesh, iiwa_link_4_coll_mesh, iiwa_link_5_coll_mesh, iiwa_link_6_coll_mesh, iiwa_link_7_coll_mesh。

控件创建的机器人的不同配置RigidBodyTree模型。使用homeConfigurationrandomConfiguation函数来生成定义所有关节位置的结构。

将示例机器人加载为RigidBodyTree对象。

负载exampleRobots.mat

为Puma机器人的家庭配置创建一个结构。该结构具有机器人模型上每个身体的关节名称和位置。

配置= homeConfiguration (puma1)
配置=1×6带有字段的结构数组:JointName JointPosition

显示home配置使用显示.您不需要指定配置输入。

显示(puma1);

修改配置,将第二个关节位置设置为π/ 2.显示由此产生的机器人配置变化。

配置(2)。JointPosition =π/ 2;显示(puma1配置);

创建随机配置并显示它们。

显示(puma1 randomConfiguration (puma1));

使用Puma560®机器人的Denavit-Hartenberg (DH)参数来构建机器人。每个刚体每次添加一个,由关节对象指定子到父的转换。

DH参数定义了机器人的几何形状与每个刚体如何连接到它的父体有关。为方便起见,在矩阵中设置Puma560机器人的参数[1].Puma机器人是一种链式机械手。DH参数相对于矩阵中的前一行,对应于前一个关节连接。

Dhparams = [0 pi/2 0 0;0.4318 00 0 0.0203 -pi/2 0.15005 0;0 pi/2 0.4318 0;0 -pi/2 0 0;0 0 0 0];

创建一个刚体树对象来构建机器人。

机器人= rigidBodyTree;

创建第一个刚体并将其添加到机器人上。添加刚体:

  1. 创建一个rigidBody对象,并给它一个唯一的名称。

  2. 创建一个rigidBodyJoint对象,并给它一个唯一的名称。

  3. 使用setFixedTransform使用DH参数指定体对体转换。DH参数的最后一个元素,θ,因为角度取决于关节位置。

  4. 调用addBody将身体的第一个关节连接到机器人的基本框架上。

body1 = rigidBody (“界面”);jnt1 = rigidBodyJoint (“jnt1”“转动”);setFixedTransform (jnt1 dhparams (1:)“dh”);界面。联合= jnt1;addBody(机器人,界面,“基地”)

创建和添加其他刚体到机器人。在调用时指定前面的主体名称addBody把它。每个固定变换都是相对于之前的关节坐标系的。

body2 = rigidBody (“body2”);jnt2 = rigidBodyJoint (“jnt2”“转动”);body3 = rigidBody (“body3”);jnt3 = rigidBodyJoint (“jnt3”“转动”);body4 = rigidBody (“body4”);jnt4 = rigidBodyJoint (“jnt4”“转动”);body5 = rigidBody (“body5”);jnt5 = rigidBodyJoint (“jnt5”“转动”);body6 = rigidBody (“body6”);jnt6 = rigidBodyJoint (“jnt6”“转动”);: 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。联合= jnt2;body3。联合= jnt3;body4。联合= jnt4;body5。联合= jnt5;body6。Joint = jnt6; addBody(robot,body2,“界面”) addBody (body3的机器人“body2”) addBody (body4的机器人“body3”) addBody (body5的机器人“body4”) addBody (body6的机器人“body5”)

通过使用showdetails显示函数。showdetails列出MATLAB®命令窗口中的所有主体。显示用给定的配置显示机器人(默认为home)。调用修改轴限制并隐藏轴标签。

showdetails(机器人)
-------------------- 机器人:(6)尸体Idx身体名称联合名称联合类型父母名字(Idx)孩子的名字(s ) --- --------- ---------- ---------- ---------------- ---------------- 1 body1 jnt1转动基地(0)body2 (2) 2 body2 jnt2转动界面(1)body3 (3) 3 body3 jnt3转动body2 (2) body4 (4) 4 body4 jnt4转动body3 (3) body5 (5) 5 body5 jnt5转动body4 (4) body6 (6)6 body6 jnt6转动body5 (5 ) --------------------
显示(机器人);轴([-0.5,0.5,-0.5,0.5,-0.5,0.5])轴

参考文献

P. I. Corke和B. Armstrong-Helouvry。“PUMA 560机器人模型参数间的一致性搜索”。1994年IEEE国际机器人和自动化会议论文集, IEEE第一版。Soc。出版社,1994,第1608-13页。DOI.org (Crossref), doi: 10.1109 / ROBOT.1994.351360。

加载一个机器人模型并修改碰撞网格。清除现有的碰撞网格,添加简单的碰撞对象原语,并检查某些配置是否在碰撞中。

负载机器人模型

控件将预先配置好的机器人模型加载到工作区中loadrobot函数。这个模型已经为每个物体指定了碰撞网格。迭代所有刚体元素并清除现有的碰撞网格。确认现有的网格已经消失。

机器人= loadrobot (“kukaIiwa7”“DataFormat”“列”);i = 1:机器人。NumBodiesclearCollision(robot.Bodies{i})结束表演(机器人,“碰撞”“上”“视觉效果”“关闭”);

添加碰撞气缸

迭代地为每个物体添加一个碰撞圆柱体。对于这个特定的模型,跳过一些物体,因为它们重叠并且总是与末端执行器(物体10)相撞。

collisionObj = collisionCylinder (0.05, 0.25);i = 1:机器人。NumBodies如果我在6 &&我< 10跳过这些尸体。其他的我addCollision (robot.Bodies {}, collisionObj)结束结束表演(机器人,“碰撞”“上”“视觉效果”“关闭”);

检查碰撞

生成一系列随机配置。检查机器人在每个配置处是否处于碰撞状态。可视化每个有冲突的配置。

图rng (0)%为保证重复性,设置随机种子。i = 1:20 config = randomConfiguration(机器人);isColliding = checkCollision(机器人、配置);如果isColliding显示(机器人,配置,“碰撞”“上”“视觉效果”“关闭”);标题(碰撞检测的)其他的%跳过non-collisions。结束结束

输入参数

全部折叠

机器人型号,指定为rigidBodyTree对象。

机器人构型,指定为机器人模型中所有物体的关节位置矢量或具有关节名称和位置的结构。您可以使用homeConfiguration(机器人)randomConfiguration(机器人),或者指定你自己在结构中的关节位置。的向量形式配置,设置DataFormat财产机器人要么“行”“列”

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“帧”,“关闭”隐藏图中的刚体框架。

轴的父级,指定为逗号分隔的对,由“父”和一个要绘制机器人的对象。默认情况下,机器人绘制在主动轴上。

选项保存机器人图,指定为逗号分隔的对,由“PreservePlot”和一个逻辑1(真正的)0(假).当你指定这个参数为真正的,该函数不会覆盖调用时显示的先前图显示.这个设置的功能类似于抓住对于标准的MATLAB®图,但仅限于机器人的身体框架。当你指定这个参数为,函数将覆盖机器人先前的图。

请注意

“PreservePlot”值是真正的,“FastUpdate”值必须是

数据类型:逻辑

显示正文帧,指定为逗号分隔的对,由“帧”“上”“关闭”.这些坐标系是刚体树上单个物体的坐标系。

数据类型:字符|字符串

显示可视几何图形,指定为逗号分隔对,由“视觉效果”“上”“关闭”.还可以通过在图中右键单击单个可视化几何图形来关闭它们。

使用addVisual.以导入URDF机器人模型.stl文件网格,见importrobot函数。

数据类型:字符|字符串

显示冲突几何图形,指定为逗号分隔对,由“碰撞”“上”“关闭”

将碰撞几何图形添加到机器人模型中的单个刚体中addCollision函数。以导入URDF机器人模型.stl文件网格,见importrobot函数。

数据类型:字符|字符串

机器人的位置,指定为逗号分隔对,由“位置”和形式为[xyz偏航].的xy,z元素以米为单位指定位置,并且偏航指定以弧度为单位的偏航角。

数据类型:|

快速更新现有的情节,指定为逗号分隔对组成“FastUpdate”和一个逻辑0(假)1(真正的).你必须使用显示对象函数初始显示机器人模型,然后才能使用此参数指定它。

请注意

“FastUpdate”值是真正的,“PreservePlot”值必须是

数据类型:逻辑

输出参数

全部折叠

轴图形句柄,返回为对象。这个对象包含了机器人绘制到的图形的属性。

提示

机器人模型有与之相关的可视化组件。每一个rigidBody对象包含显示为主体框架的坐标框架。每个身体也可以有与他们相关的视觉网格。默认情况下,这两个组件都是自动显示的。您可以检查或修改刚体树显示的可视化组件。单击身体框架或视觉网格以黄色突出显示它们,并查看相关的身体名称、索引和关节类型。右键单击以切换单个组件的可见性。

  • 体框架:单独的身体框架显示为三轴坐标系。固定帧是粉色帧。活动关节类型显示为RGB轴。你可以点击一个身体框架来看到运动轴。移动关节在运动轴方向上显示一个黄色箭头,转动关节在旋转轴方向上显示一个圆形箭头。

  • 视觉网格:使用addVisual或者通过使用importrobot用。导入一个机器人模型.stl指定的文件。通过右键单击图形中的各个实体,您可以关闭它们的网格或指定视觉效果名称-值对隐藏所有可视几何图形。

介绍了R2016b