Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Dobot CR10 makes stop in between the "following path"

#1
I like to weld by following a path.

Unfortunately the robot CR10 from Dobot makes 4 or 5 pauses during the path.

In the attachment you will find the project and below it the partial program that was generated with the post-processor Dobot V3.

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,{112.0000,0.0000,190.0000,0.0000,0.0000,0.0000})
-- Show hanwei_robo-befest_R2
MoveJ({joint={46.432400, 45.182900, 91.350100, 96.496000, -57.808800, -125.320000}})
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')
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')
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 somebody help me ?

Thank you on advance.
Nils


Attached Files
.rdk   Pipe welding B CR10.rdk (Size: 2.12 MB / Downloads: 49)
#2
What do you mean by pauses? Do you have a video to show this pause?
#3
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)
#4
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:
  1. Select Tools-Options
  2. Select the Program tab
  3. 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?
#5
Hi Albert,

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.

This is the result:

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')

Those two points are to close.
#6
My bad, you can ignore the joint movement section and adjust only the linear movement tolerances.

You now obtain 2 points probably because all points are very close to each other.
#7
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
#8
Hello Albert,

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 ?
#9
Did you increase the Minimum step size in Tools-Options-Program? If so, you can try with a bigger tolerance.

If you can share your RoboDK project file we can better understand.
  




Users browsing this thread:
1 Guest(s)