Robotstudio软件:基于Random组件的工件位置随机生成

本文已经首发在个人微信公众号:工业机器人仿真与编程(微信号:IndRobSim),欢迎关注!

对机器人工作站进行仿真的时候,往往会有对随机数的需求,比如使用机器视觉进行机器人位姿引导仿真时,就需要工件的位置进行随机摆放。针对这种需求,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= \frac{\omega\times \pi }{180}

VectorConverter子对象组件用于数值与坐标X、Y、Z向量值之间的转换,转换后的向量值为Double类型。此子对象组件属性保持默认即可。

Positioner子对象组件用于设定对象的位置与姿态。对其进行属性配置,移动对象Object下选择要移动的工件,对象移动参考类型Reference下选择Object,参考对象ReferenceObject下选择创建好的框架。

Smart组件属性连结与信号连接

在Smart组件编辑窗口中的“设计”标签下,按照下图所示设置子对象组件的属性连结与信号连接,其中绿色有向线段表明子对象组件之间的信号逻辑关系,棕色有向线段表明子对象组件之间的属性传递关系。

以上设定表明:使用定时器组件Timer定时触发随机数生成组件Random生成随机数,同时触发对象定位组件Positioner进行对象定位。

Random随机生成对象的X、Y坐标数值与Rz旋转角度数值,然后将这些随机数值分别传递给向量值转换组件VectorConverter,进行数值向量化转换,最后将转换后的向量值传递给对象定位组件Positioner实现对象定位操作。

仿真运行

对创建的工件位置随机生成项目进行仿真运行测试,可以看到工件在工作台面上指定的区域内进行随机位置与姿态的切换,并且切换时间间隔为1s,仿真效果如下动态图所示。

The End


上一篇:ABB机器人:基于现场通信方式向西门子PLC发送实时位置数据的方法

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IndRobSim

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值