对机器人工作站进行仿真的时候,往往会有对随机数的需求,比如使用机器视觉进行机器人位姿引导仿真时,就需要工件的位置进行随机摆放。针对这种需求,ABB机器人虚拟仿真软件Robotstudio提供了一个专门用于生成随机数的Smart组件,即Random子对象组件,它可以在指定的范围内随机生成数值。本期,就来为大家介绍一下基于Random子对象组件的工件位置随机摆放的仿真操作方法。
外围设备布局
Robotstudio软件中,利用“建模”菜单栏下的建模功能,分别创建矩形体、圆柱体,并将其摆放到合适位置,所有的零部件的创建均以仿真软件的世界坐标系为基准,并且角点位置保持空置。
工件摆放与框架创建
首先,在工作台圆形表面的中心位置处,创建一个坐标框架。然后,再创建一个矩形体,并将其放置到工作台的圆形表面中心位置处,作为工件。
工件随机位置摆放Smart组件创建
Robotstudio软件的“建模”菜单栏下,创建一个空的Smart组件。然后,在其中分别添加1个Timer子对象组件、3个Random子对象组件、2个VectorConverter子对象组件、1个Positioner子对象组件。
其中,Timer是定时器组件,Random是随机数生成组件,VectorConverter是向量值转换组件,Positioner是对象定位组件。
Smart组件属性配置
Timer子对象组件是在仿真时,在指定的时间脉冲间隔输出一个数字量信 。对其进行属性配置,设定第一个脉冲之前的时间StartTime为1s,脉冲宽度Interval下设定为1s,设定完成后点击“Active”,激活定时器组件。
Random子对象组件是在指定的最小值与最大值之间生成一个随机数。这里要注意的是:在生成X、Y坐标数据时,数值单位是m;生成绕Z轴旋转的角度数据时,数值的单位是rad(弧度)。
角度ω与弧度a之间的转换关系如下:
a=(ω×π)/180
VectorConverter子对象组件用于数值与坐标X、Y、Z向量值之间的转换,转换后的向量值为Double类型。此子对象组件属性保持默认即可。
Positioner子对象组件用于设定对象的位置与姿态。对其进行属性配置,移动对象Object下选择要移动的工件,对象移动参考类型Reference下选择Object,参考对象ReferenceObject下选择创建好的框架。
Smart组件属性连结与信 连接
以上设定表明:使用定时器组件Timer定时触发随机数生成组件Random生成随机数,同时触发对象定位组件Positioner进行对象定位。
Random随机生成对象的X、Y坐标数值与Rz旋转角度数值,然后将这些随机数值分别传递给向量值转换组件VectorConverter,进行数值向量化转换,最后将转换后的向量值传递给对象定位组件Positioner实现对象定位操作。
仿真运行
对创建的工件位置随机生成项目进行仿真运行测试,可以看到工件在工作台面上指定的区域内进行随机位置与姿态的切换,并且切换时间间隔为1s,仿真效果如下动态图所示。
The End
上一篇:ABB机器人:基于现场通信方式向西门子PLC发送实时位置数据的方法
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!