I am currently working on application with UR10e. The tool on the cobot should make a movement that spreads the
pre-applied coating over the surface. The problem is that tool don’t follow the straight line.
I would use MoveL but emergency stops the robot due to overload. I decided to use force mode instead, but the result
are unsatisfactory. Tool don’t follow the straight line because of mechanical resistance of coating. This results in uneven surface. This is shown in the red figure below.
The comm_pos_2 is a boolean assigned in other Thread.
How to make the toolpath straight?
I assume that the coating that is being spread is quite thick in order to be causing the protective stops, in which case the first thing I would suggest trying would be to lowering the speed of the
movel() used, as a lower speed will incur less force.
Failing that, if the robot cannot perform a
movel() without being protective stopped, it might be better to perform 2 cycles of the smoothing, with 1 as you have now with the force mode enabled, and then a second as a
movel() to resmooth, as less force will be applied to the robot once the paste hs already been mostly smoothed out.
There isnt a way of maintaining a straight path in force mode, as foce mode itself means that the robot is foce compliant and will deviate from its path if it senses a high force being applied.
Hope this helps.
You could also try the path offset functionality in e-Series, in order to move slightly closer or farther to the surface depending on the F/T Sensor readings preventing that the mechanical resistance of the coating be such that stops the robot, i.e., the robot moves in the straight line but when the force opposing to that motion is too big then an offset to the path is applied to separate from the surface and reduce that opposing force; on the other hand, if the robot is moving in the straight line but no or too little opposing force is measured, then it should get closer to the surface to apply more pressure. It would be kind of an advanced force mode, but instead of the robot being in a force control, it would be still a position control and the offsets applied 100% controlled in specific directions with your own logic.