rimworld简单机器人mod_查表法计算三种颜色工件的码放坐标,简单易懂

现有一台工业机器人码垛工作站,需要完成三种颜色工件的码垛功能。使用的硬件包括工业机器人、PLC、智能相机、5*5的码放平台和红黄蓝三色工件。工作站采用智能相机识别工件的颜色,结果发送给PLC。PLC根据颜色信息完成码放位置的算法,发送控制命令和放置坐标给机器人,工业机器人执行码垛的任务。

一、码放坐标分析

按照图中所示的工件码放位置,以P0(X0,Y0)点为基准点,计算P1至P5五个方格中心点相对P0点的坐标值,五个坐标点进行组合就得出25个方格中心点的坐标值。例如:P1点的X1和P4点Y4组合,得出P14点的坐标。

18f1bb855a61e351cb3dbd325bc626d9.png

二、创建变量

1、在PLC中创建自定义数据块,添加数组变量P,赋值P1至P5坐标的起始值。这个表格就是查表法中的表,工件码放坐标值都预设在表格里。

0820b81bf7dfda0544ad9564c297ab9a.png

2、添加工件高度H,根据红黄蓝三色工件实际高度赋值起始值。

8e3d0d44093ae6690f4ab15315b34511.png

3、根据放置位置,列举出各颜色工件码放的行列号。以行列号组合的数值赋值起始值,个位数表示列,十位数表示行。例如:红色行列号[1]的值是51,表示5行1列,即P51的位置。

f29ba5630ce37b1f39e967d8cdc311db.png
5411e175ebd94189a7f91cf42a33e729.png

4、三种颜色码放完成数量的计数,赋值初始值为1。每码放完成一个工件,对应的计数变量就加1。

88d3a0623bf8205a708264dbc304ff46.png

三、查表法算法

根据码放完成的数量,计算出工件放置的行列号,进而计算出码放位置P点的坐标,就可以得出工件码放坐标值。

以红色工件码放坐标计算为例,讲解使用查表法计算码放位置的方法:

定义R表示行,L表示列,X和Y表示工件放置坐标,H表示工件放置高度,T表示当前码放位置的层数。

T=完成数量.红色 / 每层工件数量

R=红色行列号[ T ] / 10

L=红色行列号[ T ] MOD 10

H=T * 工件高度

工件码放位置X=P[R].X

工件码放位置Y=P[L].Y

工件码放位置Z=H

注:/ 表示除法取商,MOD表示取余数,* 表示乘法

例如:红色工件码放完成数量等于1,红色工件每层放置2个,工件高度为20,计算得出:

T=1

R=红色行列号[1] / 10,即:R=5

L=红色行列号[1] MOD 10 ,即:L=1

H=1 * 20,即:H=20

工件码放位置X=P[5].X,即:工件码放位置X=234

工件码放位置Y=P[1].Y,即:工件码放位置Y=26

工件码放位置Z=H,即:工件码放位置Z=20

PLC示例程序:

766627df276b5b8df0a5b2849958c9c7.png

四、数据传输与执行

PLC把计算得出的工件码放位置发送工业机器人,工业机器人以P0为基准点,进行XYZ方向偏移,完成工件码放功能。

定义PutX表示码放坐标X,PutY表示码放坐标Y,PutZ表示码放的高度。

以ABB机器人使用计算出的码放位置为例,说明机器人怎么进行坐标的偏移。

机器人示例程序:

3426e43c6c5e360f1121c5707ceb5c1a.png

个人觉得查表法相对比较简单,后期进行坐标数值的修改的也比较方便。

您觉得哪种方法比较好用呢,欢迎留言讨论!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值