Your compliance values look way too high, that is the last list in your command "[1005.0, 1005.0, 1050.0, 1005.0, 1005.0, 1005.0]"
One trick is to set-up what you want on the robot and then after saving the program, open the whatever_you_named_your_program.script file and look at how the system set up the command you want.
Hello,
while not rospy.is_shutdown():
str_1 = "force_mode( p[0.0,0.0,0.0,0.0,0.0,0.0], [1.0,1.0,1.0,1.0,1.0,1.0], [0.0, 0.0, 50.0, 0.0, 0.0, 0.0], 2, [1005.0, 1005.0, 1050.0, 1005.0, 1005.0, 1005.0])\n"
pub.publish(str_1)
I am using FT300 + CB3.1 + URCap1.2.1 + UR5 robot. I plugged FT300 usb cable into the UR5 control box usb slot. And in teaching pendant, I have enabled use FT300 signal for all force control node.
It generally performed well when I tried force_mode in teaching pendant: select x,y,z as compliant, and enter desired force value, the robot tcp moves smoothly.
However, the robot performed badly when I tried to forward force_mode() from a computer. I wonder if I am doing it in a right way. I am using ROS driver ur_modern_driver, it basically opens a socket on the robot and then forward UR script to robot. I am streaming the force_mode() command at 125HZ.
rate.sleep() #125hz