优化机器人选择顺序的算法
我正在尝试根据以前的机器人位置来优化选择和放置问题。 假设所有代表工作站的位置都从 0 到 5 编号,它们之间有一个Scara机器人。每个位置确实需要一些固定的时间来处理该作品,并且该作品必须在所有站点之前归功于所有站点。 PLC控制着所有这些过程,因此它知道何时准备了这些电台内部的某个地方,并将机器人发送到那里。
也重要的是要知道站 2,3,4 执行相同的过程,因此零件必须转到站 2,3 或<强> 4 ,然后到达站 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,2-5,1-2,0 -1,1-3
...
可以分组这些位置,因为一旦选择了零件(“ - ”之前的数字),我知道将其放置在哪里(之后的数字)。
我如何估算下一个选择点,以便在PLC告诉它之前,机器人可以自行移动?
I'm trying to optimize a pick and place problem based on the previous robot positions.
Let's assume that all the positions, which represents working stations, are numbered from 0 to 5 and there's a SCARA robot between them. Every position does need some fixed time to process that piece and the piece must go to all stations before we can call it done . A PLC controls all of this process so it knows when a piece is ready somewhere inside one of these stations and sends the robot there to pick it.
It is also important to know that stations 2,3,4 do the same process so a part must go either to station 2, 3 or 4 and then to station 5. So the first part comes to position 0 (position 0 generates parts), the robot picks that part and places it to position 1. After a fixed time the robot takes that part and moves it to station 2. Now the position 1 is empty so the robot takes a part from position 0 and puts it into position 1. Every movement of the robot takes a small time but not 0, which affects the whole process cycle time.
I'm trying to include that robot movement time into the parts processing time so when a piece is ready inside a station, the robot should be right there ready to pick it and place it somewhere else.
A real experiment based on 5 stations numbered 0 to 5 gives the following order of the positions:
0-1, 1-2, 0-1, 2-5, 1-2, 0-1, 1-3, 0-1, 2-5, 1-2, 0-1, 1-3
...
The positions can be grouped because once a part is picked (the digit before '-') i know where it will be placed (the digit after) .
How can I estimate the next picking point so that the robot can move itself there before the plc tells it to ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不知道您的机器人是否有任何资源...如果没有,您可以在PLC上进行。
由于您在每个站点的过程均已固定,因此我正在考虑使用5或6个单独的计时器,每个电台一个。机器人将零件留在原位后,您可以启动该站的特定计时器。当机器人闲置时,它会咨询每个机器人的剩余时间,然后去完成最短的时间。
如果您有一种方法可以计算(或在列表中查找)从当前点到即将结束的站的旅行时间...到完成和第5台的1.0 s时,即将到达0.99999s ...进入位置1(更近),而不是进入位置5(FAR)可能会更有效。
显然,如果您不知道该零件在其中一个站点可用多长时间,那么这将无法正常工作,但是在这种情况下,如果您使用缓冲区计算零件在车站的平均等待时间(in您将有一个传感器或可以检查的东西),您可以估计该零件也将准备好使用计时器。
I don't know if your robot has any resources for this... If it doesn't, you can probably do it on your PLC.
Since the time of your process in each station is fixed, I'm thinking of using 5 or 6 separate timers, one for each station. Once the robot leaves the part in place you could start the specific timer for that station. When the robot is idle, it consults the remaining time of each one and goes to the one with the shortest time to complete.
This could be improved if you have a way to calculate (or look up in a list) the travel time from the current point to the station that is about to end... for example, the robot is at station 0 and station 1 is at 1.0 s from finishing and station 5 is 0.99999s from finishing... it would probably be more efficient to go to position 1 (closer) instead of going to position 5 (far).
Obviously this won't work if you don't know how long the part will take to be available at one of the stations, but in that case if you use a buffer to calculate the average waiting time of a part at a station (in which case you would have a sensor or something to check), you could estimate that the part is about to be ready using timers as well.