Definition
task_compliance_ctrl(stx, time)
Features
This function begins task compliance control based on the preset reference coordinate system.
Caution
-
In non-FTS models (A0509, A0912, A0509F, A0912F, E0509), compliance control is only possible in the translation direction, and the control error may be large.
-
In non-FTS models, the robot may not operate normally when used near a singularity.
-
If the command is used in a simulation environment without a robot, it may not operate normally.
-
Compliance/force control may be affected by singularities, which can cause vibrations. Please be cautious and avoid using it near singularities.
-
Even away from singularities, vibration may occur during compliance/force control when several of the following conditions overlap: a long TCP setting, a posture with the elbow (Joint 3) strongly folded, a light tool, and low compliance stiffness. See the Note below for countermeasures.
Parameters
|
Parameter Name |
Data Type |
Default Value |
Description |
|---|---|---|---|
|
stx |
float[6] |
[3000, 3000, 3000, 200, 200, 200] |
Three translational stiffnesses Three rotational stiffnesses |
|
time |
float |
0 |
Stiffness varying time [sec] Range: 0 - 1.0 * Linear transition during the specified time |
Caution
In the Non-FTS A & E model, the data type of the stx parameter can be either float[6] or float[3] (rotational stiffness is automatically set to the default value)
Return
|
Value |
Description |
|---|---|
|
0 |
Success |
|
Negative value |
Error |
Exception
|
Exception |
Description |
|---|---|
|
DR_Error (DR_ERROR_TYPE) |
Parameter data type error occurred |
|
DR_Error (DR_ERROR_VALUE) |
Parameter value is invalid |
|
DR_Error (DR_ERROR_RUNTIME) |
C extension module error occurred |
|
DR_Error (DR_ERROR_STOP) |
Program terminated forcefully |
Note
-
If vibration occurs during compliance/force control, set the damping factor above 1.0 with set_damping_factor(), called right after this command.
-
During force control, also setting the force factor below 1.0 with set_force_factor() right after set_desired_force() suppresses vibration more stably.
-
Set the same value for all six axes. Find the value at which the vibration disappears at the actual work position, then apply it with some margin. A higher damping factor (or a lower force factor) slows the motion.
-
Both factors are reset to the default (1.0) whenever compliance control is started with this command. Set them again each time compliance control is started.
Example
P0 = posj(0,0,90,0,90,0)
movej(P0, vel=30, acc=30)
task_compliance_ctrl() # Begins with the default stiffness
set_stiffnessx([500, 500, 500, 100, 100, 100], time=0.5)
# Switches to the user-defined stiffness for 0.5 sec.
release_compliance_ctrl()
task_compliance_ctrl([500, 500, 500, 100, 100, 100])
# Begins with the user-defined stiffness.
release_compliance_ctrl()
Related commands
Keyword
task / compliance / ctrl / release_ / task_compliance / task_compliance_