Hi all, I am trying to make a milling usecase with a UR10.
The material is polycarbonate, so it’s not very hard. However, the milling of round holes does not work very well. it will be more easter eggs than nice curves.
The UR 10 is too soft in joint 3 and yields too much. Can I configure the stiffness in any way?
I have already tried everything in terms of the safety settings, and am currently at the maximum values. This does bring about a change, but it is still not good.
What kind of router end-effector are you working with, is it compliant at all in the z-dir of the tool? Are you plunging full depth on first pass?
Maybe use the Remote tool path control urcap w/ gcode to achieve the circular motion. You can probably use the Solidworks extension for creating the nc code to get the correct feeds and speeds for cutting.
I use inventor to create the NC code. I have tried the remote control and the UR script that RoboDK can generate for me. in both cases I had problems with the circles. It just seems that joint 3 is not stiff enough. You can also feel this when you manually wiggle the endfector. There are several mm where it can move. That is not enough for precise work.
The robot is not ideal for tool milling, since its movements are based on knowing its payload exactly, and it achieves its precision by doing this. When milling you will get some path deviation due to the external force applied to the tool.
That’s also why you can feel it move a bit when moving it by hand.
I do not know of a way to make it work, but maybe somebody else does. I doubt it’s possible, though. Maybe if you run very slow with the milling movements.
I think for this to work some sort of force_mode should properly be used instead of simple path movements.
This would let the robot know that is not just a normal movement and expect resistant which should help.
other workarounds that might work (no promises) but I would consider quite “ugly” solutions,
I am assuming a e-seires here (as CB does not have an build in force torque sensor)
using a thread to monitor the force torque sensor and live updating the payload based on dF = m*a → m = dF/a
Where d = delta and dF is the difference in force between standstill and when milling.
remember that the payload set on the robot should be m_p = m + m_0
where m_p is the total mass payload
and m_0 is the original payload
and m is the payload found through the difference in force
using a thread to monitor the force torque sensor and live updating the “gravity” using set_gravity based on dF=m_0*a → a = dF/m_0
Have you resolved your issue? I recently encountered a similar problem. In my case, the end effector is a moving mechanism that accelerates at 8m/s^2 while the robotic arm is stationary (the direction of motion is fixed relative to the end). The moving part has a mass of approximately 0.63kg, and the position of the robotic arm oscillates when the end effector accelerates. I would like to know what methods you have tried and if they were effective. Thank you very much.