# How can I find the shortest path solution or even begin to finding the most optimal solution to a weld robot sequencing problem?

Not sure this belongs here, but I thought I'd ask: How should I come to an understanding of an optimal weld sequence for a weld robot that welds a physical item on a revolving carousel (the gray T depicted)?

Ok, so the green points need to be welded in the horizontal position (eight on each side), i.e. 180 and 0/360 position (it is currently in the 270 position). The pink points need to be welded in a 0-15% position in the direction indicated. There is no welding from below, i.e., the downward facing pink arrows need to be welded in a downward orientation, and then flipped to weld the other side. In this depiction there are two sides, downward pink arrows can all be access in the 270 position which it currently is in, upward facing arrows need to be rotated to 90 position. The robot can reach the pink arrows in the back in both these positions. The pink arrows all need what is called a "root pass", and need to cool for at least 10 seconds because they also need a "fillet cover" which if done one after the other too fast can cause imperfections. So all eight pink welds have a root and a cover that need to be staggered by at least 10 seconds. The idea here is to limit the travel on the robot, reduce the number of rotations of the carousel, and reduce the time it takes to weld the whole assembly. The depiction is not to scale, the cylinder with the hangman is the robot in its home position.

So, you can ask questions like if I go from home and start on the left downward pink on robot side and rotate to 360 weld out all the green, then weld the right downward pink on robot side would it be the same if I weld both pink downward robot side then all green, and then move on to upward pink at 90 by that time downward pink will be cool should I rotate back to 270 to cover or should I continue to the other side. I don't know, I'm just trying to formula one this so it's as fast as possible. Any thoughts?

Also, at the end it will rotate back to 270 to flip to the other side to be stripped. That is, the carousel is on a carousel.

I was hoping this was the kind of thing that didn't require dimension and could be reduced to graph or something.

• Cross-posted: math.stackexchange.com/questions/4279402/… Commented Oct 17, 2021 at 23:57
• @Loie, is there a single horn in the robot/spindle? how many robots you can use to weld the plates? Commented Oct 18, 2021 at 12:01
• @A.Omidi, it is a yaskawa slurbt. Commented Oct 18, 2021 at 23:10
• @LoieBenedicte, thanks for your clarification. I am not sure about the internal mechanism /program of the mentioned welding robot, but as you need to start at the specific point, moving through some of the points in the specific plate and returning to the start point, you would try using some of the variants of the traveling-salesman problem by some limitation like time window and setup time in the specific time slot. Have you tried that? Commented Oct 19, 2021 at 5:41

The one tricky piece is the cooling time. Let's assume the robot just finished a task that needs $$C$$ seconds to cool. The setup time for another task on the same weld point can include the full cooling time. The setup time for a task at some other point presumably need not include any of the cooling time. The tricky part is what happens when you finish the first weld, send the robot to do something else, then immediately come back for the next weld at the first location. If you can be sure that time spent doing the second weld (including moving, rotating etc.) exceeds the cooling time, you can just ignore the cooling time (meaning it is only a factor in setups when you do two consecutive welds at the same place). If the cooling time is longer than the time for an intermediate weld, the problem gets more difficult to model.