网淘吧Visual Components、Flexsim 仿真技术博客 | Python、C#、Delphi xe 机器人编程教程 - 网淘吧

机器人码垛编程:使用基座偏移和循环实现托盘网格零件的高效拾取- Robot Programming - visual compents 疑难解答

2026-04-03 新闻来源:网淘吧 围观:30
电脑广告
手机广告

Benji

大家好,
我正在 visual Components Premium 4.10 中构建一个分拣单元,并使用机器人程序编辑器(希望不涉及 Python)。

我的分拣机器人程序目前可以处理托盘上的一个 TS 零件(机器人实际上并没有抓取零件),但托盘总共有 50 个 TS 零件,呈 5×10 的网格分布。我希望有一种可扩展的方法,这样我就不必教导和维护 50 个独立的拾取目标/子程序了。我在下面附上了我的项目以及一张图片。

提前感谢。



Phase 1.vcmx(11.3 MB)

你可以定义一个使用基坐标系作为所有运动点的拾取程序,然后创建一个带 While 语句的循环,在每次拾取操作之间相对移动基坐标系。在本教程中,机器人以类似的方式编程,将箱子以网格形式放置在托盘上:通过移动基坐标系,重复使用相同的放置箱子的序列。
码垛机器人编程 | Visual Components Academy

2 个赞

谢谢。然而,我在实现这一点上遇到了困难,希望能得到一些帮助。我的想法如下:

设置基座:

  • 将托盘设置为基座,并设置:
    • Base_1 原点起始于第一个组件(某个角)
    • Base X 轴用于列(c = 5)
    • Base Y 轴用于行(r = 5)
    • Base Z 轴向上

为 Base_1 重新示教位置:

  • P1 = 组件1上方的接近点
  • P2 = 组件1处的拾取/下降点
  • P3 = 从组件向上收回点
  • 输入/输出保持不变

伪变量:

  • pitch_x = 组件之间的 x 方向间距
  • pitch_y = 组件之间的 y 方向间距
  • r = 行计数器
  • c = 列计数器

伪代码:

  • SetBase 到 Base1
  • r = 0
  • while r < 5
    • c = 0
    • while c < 5
      • 偏移基座
      • 调用 Pick_TS
      • 调用 Place_TS
      • c = c+1
    • r = r+1

请注意,你还需要在 While 循环内部使用 SetBase 语句来偏移基座。
这是我之前做的一个码垛程序的主程序。它也有 Z 维度,但原理是相同的:
- 在最内层循环中,将基座向 X 方向偏移
- 在上一级循环中,将基座相对地向 Y 方向偏移并且向负 X 方向偏移 5 * pitch_x,这样基座的 x 坐标就不会不断增加。


1 个赞

是的,谢谢,我最后确实成功了。你知道为什么基座从位置2开始而不是位置1,以及为什么组件1没有被包含在循环的第一次迭代中吗?

这个序列目前只遍历奇数行。我也想对偶数行实现同样的逻辑。在这种情况下,你会建议为偏移位置定义一个新的基座吗?

Phase 1 v1.2.zip(33.9 MB)

你也可以使用流程建模来实现这一点。你需要创建一个装配体,然后就可以自动化拾取操作了。这个视频会带你完成设置:
如何完成装配或拆卸任务 | Visual Components Academy

1 个赞
IF 语句的值
免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏

文章底部电脑广告
手机广告位-内容正文底部

相关文章

上网淘巴领天猫淘宝优惠券,一年省好几千。

广告  ×

您是本站第854347名访客 今日有0篇新文章/评论