02-02-2024, 01:21 PM (This post was last modified: 02-05-2024, 11:15 AM by Albert.)
Hi Albert,
We changed the firmware on the CR10 robot and this improved the result, but on two positions, the robot stops for a second.
I created a following path with three curves. Please see my RoboDK project. I assume that the two points are very close to each other, so that the robot does not move forward in continuous mode and stops in between. I think this happens between (curve 1 and 2) and (curve 2 and 3).
When I deselect these lines by --, the robot doesn't stop and runs the path in continuous mode.
See below script
Code:
function Welding_Path_A()
--Subprogram Welding_Path_A--
CP(100)
SpeedS(10)
SetUser(9,{-6.0000,-602.5000,3.0000,0.0000,0.0000,-90.0000})
SetTool(9,{116.0000,0.0000,200.0000,0.0000,0.0000,0.0000})
-- Show hanwei_robo-befest_R2
MoveJ({joint={45.858700, 45.715700, 90.713900, 96.313300, -58.154900, -124.781000}})
SpeedS(5)
Move({coordinate={51.3004,-56.4920,241.3570,-0.0138,56.3013,90.0959}},'User=9 Tool=9')
Move({coordinate={51.3004,-57.1498,250.0000,-0.0184,65.0000,90.0915}},'User=9 Tool=9')
-- Move({coordinate={51.3004,-57.1498,250.0000,0.0288,65.0000,90.1342}},'User=9 Tool=9') when I deselect this line by --, the robot doesn't stop
Move({coordinate={51.3003,-55.5340,263.4880,0.1908,78.6518,90.2871}},'User=9 Tool=9')
Move({coordinate={51.3002,-50.6585,276.4520,178.7110,87.4277,-91.2049}},'User=9 Tool=9')
Move({coordinate={51.3002,-41.9759,288.7830,179.7770,72.2644,-90.1555}},'User=9 Tool=9')
Move({coordinate={51.3001,-30.3728,298.4100,179.8840,57.1046,-90.0682}},'User=9 Tool=9')
Move({coordinate={51.3000,-16.6580,304.6680,179.9440,41.9469,-90.0300}},'User=9 Tool=9')
Move({coordinate={51.2998,-1.7806,307.1220,179.9940,26.7859,-90.0022}},'User=9 Tool=9')
Move({coordinate={51.2995,13.2154,305.6010,-179.9570,11.6304,-89.9740}},'User=9 Tool=9')
Move({coordinate={51.2992,27.2957,300.2100,-179.9110,-3.5292,-89.9389}},'User=9 Tool=9')
Move({coordinate={51.2988,39.4723,291.3290,-179.8730,-18.6830,-89.8924}},'User=9 Tool=9')
Move({coordinate={51.2984,48.1144,280.8410,-179.8660,-32.3399,-89.8268}},'User=9 Tool=9')
Move({coordinate={51.2980,54.4925,267.2240,-179.8860,-47.4586,-89.7491}},'User=9 Tool=9')
Move({coordinate={51.2979,56.4932,258.6430,-179.9490,-56.3013,-89.6718}},'User=9 Tool=9')
Move({coordinate={51.2979,57.1511,250.0000,-179.9290,-65.0000,-89.6835}},'User=9 Tool=9')
-- Move({coordinate={51.2979,57.1511,250.0000,179.8920,-65.0000,-89.5215}},'User=9 Tool=9') when I deselect this line by --, the robot doesn't stop
Move({coordinate={51.2978,55.5353,236.5120,179.3640,-78.6512,-89.0394}},'User=9 Tool=9')
Move({coordinate={51.2979,55.0371,235.1870,2.4551,-87.4260,87.8226}},'User=9 Tool=9')
SpeedS(10)
02-05-2024, 11:14 AM (This post was last modified: 02-05-2024, 03:29 PM by Albert.)
I noticed that the movement lines you had to remove/comment to prevent the from from stopping are points that are very close to the previous points. I recommend you to increate the filter you use for joint and linear movements by following these steps:
Select Tools-Options
Select the Program tab
In the section Output for linear movements, set the minimum step size to 0.2 deg and 0.2 mm or higher.
This will prevent outputting points that are too close to each other which makes the robot slow down.
Can you confirm if this fix worked or if you had to use different settings?
In the section Output for joint movements, there is no minimum step size.
In the section Output for linear movements, I set the minimum step size to 1 deg and 1 mm.
02-05-2024, 05:03 PM (This post was last modified: 02-08-2024, 11:00 PM by Albert.)
No actually I only pointed out the two lines which are too close. Here is the total script of "following path" welding.
Please see my comments in the below script concerning the two mentioned lines in my previous post.
Code:
CP(100)
SpeedS(10)
SetUser(9,{-1.0000,-602.5000,5.0000,0.0000,0.0000,-90.0000})
SetTool(9,{128.0000,0.0000,215.0000,0.0000,0.0000,0.0000})
-- Show hanwei_robo-befest_R2
MoveJ({joint={45.068300, 46.068200, 89.771800, 96.516800, -58.635600, -124.044000}})
SpeedS(4)
Move({coordinate={51.3004,-56.4920,241.3570,-0.0138,56.3013,90.0959}},'User=9 Tool=9')
Move({coordinate={51.3004,-57.1498,250.0000,-0.0184,65.0000,90.0915}},'User=9 Tool=9')
Move({coordinate={51.3004,-57.1498,250.0000,0.0288,65.0000,90.1342}},'User=9 Tool=9') - this line is to close to the previous line. The robot stops before getting to next line instead of making continuous movement.
Move({coordinate={51.3003,-55.5340,263.4880,0.1908,78.6518,90.2871}},'User=9 Tool=9')
Move({coordinate={51.3002,-50.6585,276.4520,178.7110,87.4277,-91.2049}},'User=9 Tool=9')
Move({coordinate={51.3002,-41.9759,288.7830,179.7770,72.2644,-90.1555}},'User=9 Tool=9')
Move({coordinate={51.3001,-30.3728,298.4100,179.8840,57.1046,-90.0682}},'User=9 Tool=9')
Move({coordinate={51.3000,-16.6580,304.6680,179.9440,41.9469,-90.0300}},'User=9 Tool=9')
Move({coordinate={51.2998,-1.7806,307.1220,179.9940,26.7859,-90.0022}},'User=9 Tool=9')
Move({coordinate={51.2995,13.2154,305.6010,-179.9570,11.6304,-89.9740}},'User=9 Tool=9')
Move({coordinate={51.2992,27.2957,300.2100,-179.9110,-3.5292,-89.9389}},'User=9 Tool=9')
Move({coordinate={51.2988,39.4723,291.3290,-179.8730,-18.6830,-89.8924}},'User=9 Tool=9')
Move({coordinate={51.2984,48.1144,280.8410,-179.8660,-32.3399,-89.8268}},'User=9 Tool=9')
Move({coordinate={51.2980,54.4925,267.2240,-179.8860,-47.4586,-89.7491}},'User=9 Tool=9')
Move({coordinate={51.2979,56.4932,258.6430,-179.9490,-56.3013,-89.6718}},'User=9 Tool=9')
Move({coordinate={51.2979,57.1511,250.0000,-179.9290,-65.0000,-89.6835}},'User=9 Tool=9') - this line is to close to the previous line. The robot stops before getting to next line instead of making continuous movement.
Move({coordinate={51.2979,57.1511,250.0000,179.8920,-65.0000,-89.5215}},'User=9 Tool=9')
Move({coordinate={51.2978,55.5353,236.5120,179.3640,-78.6512,-89.0394}},'User=9 Tool=9')
Move({coordinate={51.2979,55.0371,235.1870,2.4551,-87.4260,87.8226}},'User=9 Tool=9')
SpeedS(10)
end
Can you please tell me why RoboDK generates almost two identical points in this path?
I have selected 3 consecutive curves in my project.
I think the reason is that the end point of the first curve is almost at the same position as the start point of the next curve.
If I have three consecutive curves, can I merge them? Can you check my project and verify ?
How can I generate a script from a following path with a chain of points that are evenly spaced ?