Want to get notified about updates?
You are welcome to sign up for notifications about new relevant information and articles that could be interesting for you.
Example is valid for:
CB2 Software version: 1.8.16941
CB3 Software version: 3.2.19293
Note that older or newer software versions may behave differently.
This example can be used for both CB2 and for CB3
All moves grouped under the FORCE wizard on the Polyscope, are bound by the force parameters specified in the force command. In order to control the force parameters dynamically at runtime you will have to get into UR scripting.
The function to set the force is:
force_mode(Feature, Compliance, Force, Type, Limits)
Feature is the reference frame,
Compliance defines the compliant axes,
Force specifies the force along each axes of the Feature, and
Limits specifies the position deviation limits for compliance all specified as poses shown in the example below.
force_mode( tool_pose(), [0, 0, 1, 0, 0, 0], [0.0, 0.0, 10.0, 0.0, 0.0, 0.0], 2, [0.1, 0.1, 0.15, 0.17, 0.17, 0.17])
The Polyscope equivalent of the Force settings in the above example would look similar to the screen shot below.
In the above example,
Feature Frame is the Tool frame (tool_pose(): dropdown on top left in Polyscope)
Compliant axis is Z-axis ([0, 0, 1, 0, 0, 0])
Force is 10N along Z axis ([0, 0, 10.0, 0, 0, 0])
Type is 2 for Simple or Frame (1 for point, 3 for Motion) (dropdown on top right on Polyscope)
Limits is 100mm along x and y (because non-compliant) 150mm/s along z (because compliance added) and 10degrees about Rx, Ry and Rz (rotational twist)
In order to dynamically change the force you will need to change the Force variable. You would call this function as a thread when you want to get into Force mode and terminate it when you no longer want to run in force mode.
force_mode(tool_pose(), [0, 0, 1, 0, 0, 0], [0.0, 0.0, 10.0, 0.0, 0.0, 0.0], 2, [0.1, 0.1, 0.15, 0.17, 0.17, 0.17])
global thread_handler_1 = run Force_properties_calculation_thread_1()
movej([-1.6007, -1.7271, -2.203, -0.808, 1.5951, -0.031], a=1.39, v=1.04)
movej([-1.6, -1.45, -1.69, -1.58, 1.59, -0.031], a=1.39, v=1.04)
movej([-1.6, -1.52, -2.01, -1.20, 1.59, -0.031], a=1.39, v=1.04)
Force Control settings on POLYSCOPE