机器人拣货订单优化算法

问题描述 投票:0回答:1

我正在尝试根据之前的机器人位置来优化拾取和放置问题。 假设所有代表工作站的位置都从05编号,并且它们之间有一个SCARA机器人。每个位置确实需要一些固定的时间来处理该工件,并且该工件必须到达所有工作站,然后我们才能称其为“完成”。 PLC 控制所有这一过程,因此它知道其中一个工作站内的某件物品何时准备就绪,并发送机器人到那里拾取它。

了解工位 2,3,4 执行相同的过程也很重要,因此零件必须先到达工位 2、34,然后到达工位 5。因此,第一个零件到达位置 0(位置 0 生成零件),机器人拾取该零件并将其放置到位置 1。经过固定时间后,机器人拿起该零件并将其移至工位2。现在位置 1 是空的,因此机器人从位置 0 取出零件并将其放入位置 1。机器人的每一个动作所花费的时间虽小但不为0,这会影响整个过程的循环时间。
我正在尝试将机器人的移动时间纳入零件加工时间中,这样当工作站内准备好零件时,机器人应该就在那里准备好拾取它并将其放置在其他地方。

基于编号为 0 到 5 的 5 个站的真实实验给出了以下位置顺序:


0-1, 1-2, 0-1, 2-5, 1-2, 0-1, 1-3, 0-1, 2-5, 1-2, 0-1, 1-3
...

这些位置可以分组,因为一旦选择了一个零件(“-”之前的数字),我就知道它将被放置在哪里(“-”之后的数字)。
我怎样才能估计下一个拾取点,以便机器人可以在 PLC 指示它之前移动到那里?

algorithm optimization robotics plc
1个回答
1
投票

我不知道你的机器人是否有这方面的资源...如果没有,你也许可以在你的PLC上完成。

由于每个站的处理时间是固定的,我正在考虑使用 5 或 6 个单独的计时器,每个站一个。一旦机器人将零件留在原位,您就可以启动该站的特定计时器。当机器人空闲时,它会查阅每一项的剩余时间,并转到完成时间最短的那一项。

如果您有办法计算(或在列表中查找)从当前点到即将结束的车站的行驶时间,这可能会得到改善...例如,机器人位于车站 0 和车站 1距离完成还有 1.0 秒,站 5 距离完成还有 0.99999 秒……去位置 1(较近)而不是去位置 5(较远)可能会更有效。

显然,如果您不知道零件需要多长时间才能在某个站点上可用,那么这将不起作用,但在这种情况下,如果您使用缓冲区来计算零件在某个站点的平均等待时间(在这种情况下,您将有一个传感器或需要检查的东西),您也可以使用计时器估计该部件即将准备好。

© www.soinside.com 2019 - 2024. All rights reserved.