I'm using a UR10 with FT300 sensor, How can I increase force over a time period linearly?
/ Most recent by BMitchell
I am attempting to automate a process where the peak force to open a door/drawer is measured using a UR10 and FT300. The UL requirements are given as a force increase over time, 13-18N/s (3-4lbf/s). The door/drawer is held closed by a magnetic seal and needs to open with a maximum for of 66.7N (15lbf) at the given force increase rate. I am using the "use force torque sensor data in force control mode (all force nodes)" from the Robotiq FT300. I tried using the force_mode script and used "tcp_z_force" as the tool Z force. I ran "tcp_z_force+0.124" in a thread to increase it from 0 to 15.5 per second, given the 125hz refresh rate. The script didn't seem to recognize "tcp_z_force" as a number, therefore didn't give me any force in the tool z direction. If I entered a number in place of my variable, it ran normal at that constant force.
force_mode( tool_pose(), [0, 0, 1, 0, 0, 0], [0.0, 0.0,tcp_z_force, 0.0, 0.0, 0.0], 2, [0.1, 0.1, 0.15, 0.17, 0.17, 0.17])
The next best thing I came up with so far is just to use either the UR force wizard combined with "use force torque sensor data in force control mode (all force nodes)" and simply running a wait plus another UR force wizard as a child to the first one and then repeat.
I also did this with the URCaps Force Control to compare the two. This one needed to be one after another instead of as a child. Both seemed to work but i'm sure neither are giving me a very linear increase on force. More of a stair step if it was to be graphed. In comparison the UR force wizard seemed to be smoother but needed an extra wait time added on the last increase in order to actually reach the commanded force.
So there is what I have tried. I am open to suggestions of any other or better ways to increase force over time linearly. Once I figure that out I have a simple loop that can run in a thread to capture the peak force reading.
Thanks in advance,