Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Has 'blend radius' maximum value?
#1
Exclamation
Hello, I'm testing trial version to study buying RobotDK.

Well, I want to sand a piece, I have 3D model of piece and I am using 'curve tracking'. I connect without problems with my UR 10e, I can run the program but robot stops on every point so I want to up 'blend radius' using Smooth function. By default, his value is 1mm, I can see it clicking on 'Show instructions' and generating robot program:


Code:
blend_radius_m = 0.001
speed_ms = 1.000
# set_reference(p[0.832500, -0.500000, 0.200000, -1.209200, 1.209200, -1.209200])
set_tcp(p[0.000000, 0.000000, 0.157950, 0.000000, 0.000000, 1.570796])
movej ([0.675322, -1.953387, -1.505393, -1.161335,1.549167, 1.457704],accel_radss,speed_rads,0,0)
movel(p[0.829359, 0.432992, 0.288677, 1.174341, 2.843219, 0.108271],accel_mss,speed_ms,0,0)
speed_ms = 0.400
movel(p[0.829512, 0.393018, 0.287022, 1.173167, 2.839850, 0.113862],accel_mss,speed_ms,0,blend_radius_m)
movel(p[0.829664, 0.353046, 0.285310, 1.173896, 2.841460, 0.115714],accel_mss,speed_ms,0,blend_radius_m)
movel(p[0.829817, 0.313077, 0.283532, 1.174692, 2.842948, 0.114999],accel_mss,speed_ms,0,blend_radius_m)
movel(p[0.829970, 0.273112, 0.281684, 1.175639, 2.845123, 0.117229],accel_mss,speed_ms,0,blend_radius_m)
movel(p[0.830123, 0.233150, 0.279759, 1.176079, 2.845899, 0.120722],accel_mss,speed_ms,0,blend_radius_m)
.
.
.


How you can see Smooth function configure 'blend_radius_m' and it is used by 'movel' commands. However, if I change value of Smooth function to 20mm, for example, and I generate robot program, 'movel' commands is not using 'blend_radius_m' paramater but it sets a default value (16mm).



Code:
blend_radius_m = 0.020
speed_ms = 1.000
# set_reference(p[0.832500, -0.500000, 0.200000, -1.209200, 1.209200, -1.209200])
set_tcp(p[0.000000, 0.000000, 0.157950, 0.000000, 0.000000, 1.570796])
movej ([0.675322, -1.953387, -1.505393, -1.161335,1.549167, 1.457704],accel_radss,speed_rads,0,0)
movel(p[0.829359, 0.432992, 0.288677, 1.174341, 2.843219, 0.108271],accel_mss,speed_ms,0,0)
speed_ms = 0.100
movel(p[0.829512, 0.393018, 0.287022, 1.173167, 2.839850, 0.113862],accel_mss,speed_ms,0,0.016)
movel(p[0.829664, 0.353046, 0.285310, 1.173896, 2.841460, 0.115714],accel_mss,speed_ms,0,0.016)
movel(p[0.829817, 0.313077, 0.283532, 1.174692, 2.842948, 0.114999],accel_mss,speed_ms,0,0.016)
movel(p[0.829970, 0.273112, 0.281684, 1.175639, 2.845123, 0.117229],accel_mss,speed_ms,0,0.016)
movel(p[0.830123, 0.233150, 0.279759, 1.176079, 2.845899, 0.120722],accel_mss,speed_ms,0,0.016)

If I set value less than 16mm it doesn't happen. Why? Can I change this maximum value?
I need more than 16mm to get a fluid movement.

Thank you
#2
Ok, I have the answer.

The problem is tha if you execute program on RobotDk, it sends instruction by instruction so robot can't apply 'blend_radius' because it doesn't know next point. If you right click on program and 'Send program to robot', script complete is sended and it works correctly.

I hope the explanation is usefull.
#3
Previous versions of UR robot controllers were very sensitive to large blend radius (rounding radius) if you had points that are very close to each other. For this reason, we added a filter in the UR post processors that forces the blend radius to be 40% of the point to point distance. This distance is calculated automatically.

For example, if your points have 40 mm spacing and you set the blend radius to be 5 mm it would make sense. However, if you want the blend radius 200 mm it will be reduced to 40% of 40 mm so 16 mm.

You can also disable this automatic control of the blend radius in the UR post processor.
#4
Thank you very much Albert, all have sense now.




Users browsing this thread:
1 Guest(s)