Hello!
We are using a UR20 with an extruder as a tool to weld PP plates together. For straight-line welds, this has been working fine so far.
However, we have recently started looking into welding circularly (for windows), and have not been able to find a good setup that works so far. Specifically, the program we currently have seems to produce different results every time we run it.
For the weld we have some requirements:
- The extruder (tool) needs to always have the same angle towards the edge between window and wall (45°)
- The extruder needs to move at a constant speed
- The extruder has a vent for hot air at its tip. This always needs to be facing towards the the direction of the weld, meaning that by the end of the weld, the tool must have turned by 360°
I am appending the program at the bottom of the post. To walk you through it, we are setting a TCP, then moving into the Home position. Then we are turning the robot towards the window and approach the window from the bottom. We then move towards it until we make contact and start using Force mode. Inside Force, we use MoveP to move in a circular motion. Here, we have set up four circular moves to complete the entire circle. At the end, we do some untangling to prepare for the next window. Note that this is necessary since our extruder (tool) is turning 360° during the weld to ensure that the hot air is always blowing into the correct direction. Also note that our robot is positioned on a 7th axis (called TruLifter) in order to move horizontally between welds (to do the same weld for a second window, which is about 150 centimeters apart from the first one). At the end of the loop, we have some waypoints to untangle the joints and move back to the home position, so the same process can be applied on the second window.
We have tried two Force setups:
- Frame, applying force in the tool direction Z+ (25N) while having Y active with 0N. Speeds are set to 10mm/s
- Point, applying force in the Y+ direction (25N) towards a point one radius of the window towards the back of it while having Z active with 0N. Speeds are set to 10mm/s
For option 2, we had a separate TCP and a point defined in Features. The point was set up to be one radius of the window behind the center point of the window to ensure a 45° angle when rotating around it
Independent of the chosen Force setup, the program shows odd behavior. I am appending a picture to illustrate this point. Sometimes, the circular movement works pretty much as expected (A). Sometimes, the movement starts out fine but at some point, the robot starts going into one direction only (B/C). This can happen at any point around the circle. Finally, sometimes this deterioration happens, but the robot manages to correct itself and finds the gap again to continue with the circular motion as expected.
We would greatly appreciate any kind of input that could help us solve this issue. Primarily we are trying to
- understand why running this program has different results each time
- find a good setup for our circular weld which satisfies all aforementioned requirements
Thank you!
Robot Program
Set
Home
TruLifter 1 Reference
TruLifter 1L Abs (mm): 1740.00 S:250 A:500
Loop 2 times
MoveJ
TurnToUnit
ApproachWall
MoveJ
CenterOfWindow
Midway1
Midway2
zero_ftsensor()
MoveL
Waypoint_2
Direction: Tool Y+
Until (tool_contact_detection)
Force
MoveP
Waypoint_1
CircleMove
ViaPoint_3
EndPoint_3
CircleMove
ViaPoint_2
EndPoint_2
CircleMove
ViaPoint_4
EndPoint_4
CircleMove
ViaPoint_1
EndPoint_1
MoveL
Waypoint_5
MoveJ
Waypoint_6
Waypoint_7
Waypoint_8
Home
If Loop_1?=0
TruLifter 1L Rel (mm): 1490.00u S:250 A:500
Thread_1
f=force()
sync()