显示

在图中显示机器人模型

描述

例子

显示(机器人)绘出了机器人模型的主体框架在与所述预定义的家庭配置的图。都视觉效果自动显示。

显示(机器人,组态)使用指定的接缝位置组态显示机器人的身体框架。

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

斧头=显示(___)返回轴处理机器人被绘制在。

例子

全部折叠

你可以导入机器人·STL与统一机器人描述格式(URDF)文件相关联的文件来描述机器人的视觉几何形状。每个刚性体具有指定单独的视觉几何形状。该importrobot函数解析URDF文件,以获得机器人模型和视觉的几何形状。该函数假定机器人的视觉几何和碰撞几何是相同的和视觉的几何形状作为分配机构corresponsing的碰撞几何形状。

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

导入机器人模型作为URDF文件。该·STL必须在这个URDF中正确地指定文件位置。添加其他·STL文件到各个刚体,见addVisual

机器人= importrobot ('iiwa14.urdf');

可视化与相关联的视觉模型的机器人。点击机构或帧来检查它们。右键单击机构拨动知名度每个视觉几何。

显示(机器人,“视觉效果”,“上”,“碰撞”,“关”);

可视化与相关的碰撞几何形状的机器人。点击机构或帧来检查它们。右键单击机构切换能见度为每个碰撞几何。

显示(机器人,“视觉效果”,“关”,“碰撞”,“上”);

显示使用a创建的机器人的不同配置RigidBodyTree模型。使用homeConfiguration要么randomConfiguation函数来生成定义所有关节位置的结构。

例如负载如机器人RigidBodyTree对象。

负载exampleRobots.mat

创建一个彪马机器人的家庭配置的结构。该结构具有共同的名称和位置对机器人模型中的每个身体。

配置= homeConfiguration (puma1)
配置=1×6结构阵列字段:JointName JointPosition

显示配置使用显示。你并不需要指定一个配置输入。

显示(puma1);

修改配置,将第二个关节位置设置为Pi / 2相。示出了在机器人的配置所产生的变化。

配置(2).JointPosition = pi / 2之间;显示(puma1,配置);

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

显示(puma1,randomConfiguration(puma1));

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

的DH参数限定与关系所述机器人的各刚性体是如何​​连接到其父的几何形状。为了方便起见,设置在矩阵中的PUMA560机器人的参数。彪马机器人是一个串行链操纵器。的DH参数是相对于在基质中的前一行,对应于前一接头安装。

dhparams = [0 PI / 2 0 0;0.4318 0 0 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参数身体到身体改造。卫生署参数的最后一个元素,θ被忽略,因为该角度依赖于关节的位置。

  4. 呼叫addBody将第一个身体关节连接到机器人的基础框架上。

body1 =刚体('body1');jnt1 = rigidBodyJoint('jnt1',“回转”);setFixedTransform(jnt1,dhparams(1,:),“卫生署”);界面。联合= jnt1;addBody(机器人,界面,'基础')

创建和添加其他刚体到机器人。在调用时指定前面的主体名称addBody进行安装。每个固定变换是相对于前一关节坐标框架。

body2 =刚体('body2');jnt2 = rigidBodyJoint('jnt2',“回转”);body3 =刚体('body3');jnt3 = rigidBodyJoint('jnt3',“回转”);body4 = rigidBody ('BODY4');jnt4 = rigidBodyJoint('jnt4',“回转”);body5 =刚体('body5');jnt5 = rigidBodyJoint('jnt5',“回转”);body6 = rigidBody ('body6');jnt6 = rigidBodyJoint('jnt6',“回转”);setFixedTransform(jnt2,dhparams(2,:),“卫生署”);setFixedTransform(jnt3,dhparams(3,:),“卫生署”);setFixedTransform(jnt4,dhparams(4,:),“卫生署”);setFixedTransform(jnt5,dhparams(5,:),“卫生署”);: setFixedTransform (jnt6 dhparams (6),“卫生署”);body2.Joint = jnt2;body3.Joint = jnt3;body4.Joint = jnt4;body5.Joint = jnt5;body6.Joint = jnt6;addBody(机器人,body2,'body1')addBody(机器人,body3,'body2')addBody(机器人,BODY4,'body3')addBody(机器人,body5,'BODY4')addBody(机器人,body6,'body5')

验证您的机器人通过使用适当建showdetails要么显示函数。showdetails列出了MATLAB®命令窗口中的所有机构。显示显示与给定的配置(家默认情况下)的机器人。调用修改轴界限和隐藏轴标签。

showdetails(机器人)
——机器人:身体(6)Idx身体名称联合名称联合类型父母名字(Idx)孩子的名字(s) - - - - - - - - - - - - 1界面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])轴

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

负载机器人模型

加载一个预先配置的机器人模型到使用工作区loadrobot函数。这个模型已经为每个物体指定了碰撞网格。迭代所有刚体元素,清除已有的碰撞网格。确认现有的网格已经一去不复返了。

机器人= loadrobot ('kukaIiwa7','DATAFORMAT','柱');我= 1:robot.NumBodiesclearCollision(robot.Bodies{i})结束显示(机器人,“碰撞”,“上”,“视觉效果”,“关”);

添加碰撞气瓶

迭代地添加一个碰撞气缸到每个体。跳过一些机构为这一特定的模式,因为他们相互重叠始终碰撞到末端执行器(主体10)。

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

检查碰撞

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

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

输入参数

全部折叠

机器人模型,指定为rigidBodyTree目的。

机器人构造,指定为关节位置的向量或具有用于在机器人模型中的所有体关节的名称和位置的结构。您可以通过生成一个配置homeConfiguration(机器人),randomConfiguration(机器人),或通过在结构指定自己的关节位置。要使用的载体形式组态,设置DataFormat属性为机器人要么“行”要么“柱”

名称-值对的观点

的可选逗号分隔对名称,值参数。名称参数名称和是对应的值。名称必须出现引号内。您可以按照任何顺序指定多个名称和值对参数名1,值1,...,NameN,值N

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

轴的父,指定为逗号分隔的一对组成的和一个要在其中绘制机器人的对象。默认情况下,机器人被绘制在活动轴上。

选项保留机器人绘图,指定为逗号分隔对所组成的“PreservePlot”真正要么。当此属性设置为时真正,调用之前显示的图形显示不会被覆盖。这类似于调用设置功能坚持,稍等一个标准的MATLAB®图中,但被限制于机器人主体的帧。当此属性设置为时,机器人的前面的地块将被覆盖。

显示体的帧,指定为“上”要么“关”。这些坐标系是刚体树上各个物体的坐标系。

显示可视几何形状,指定为“上”要么“关”。个人视觉的几何形状,也可以通过右键单击它们在图中被关闭。

使用。指定单个可视化几何图形addVisual。要导入URDF机器人模型·STL对于网格文件,请参阅importrobot函数。

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

将碰撞几何图形添加到机器人模型中各个刚体addCollision函数。要导入URDF机器人模型·STL对于网格文件,请参阅importrobot函数。

输出参数

全部折叠

轴图形处理,返回一个目的。这个对象包含机器人被绘制到图中的特性。

提示

您的机器人模型具有与其关联的可视化组件。每rigidBody对象包含被显示为在主体框架的坐标框架。每个主体也可以有与之相关联的视觉网格。默认情况下,这些组件会自动显示。您可以检查或修改刚体树显示器的可视化组件。点击车架或视觉网格,以突出他们在黄色和查看相关身体名字,索引和关节型。右键单击切换各个部件的可见性。

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

  • 视觉网格:个别视觉几何形状取决于使用指定的addVisual或者使用importrobot导入机器人模型·STL文件中指定。通过右键单击在人物个人的身体,你可以关闭其网或指定视觉效果名称 - 值对可以隐藏所有的视觉几何形状。

介绍了R2016b