You're reading the documentation for an older, but still supported version (GL013300).
For information on the latest version, please have a look at GL013301.

release_compliance_ctrl (Manual Mode)

This section explains how to use release_compliance_ctrl during Manual (Teach) operations to terminate compliance control and return the robot to standard position control mode. It is typically used after completing hand-guiding, force-tuned alignment, or compliant interaction tasks during teaching.

Typical usage

  • Exit compliance or force-control mode after teaching or calibration.

  • Restore position control for subsequent jogging or motion commands.

  • Maintain the robot’s current pose after compliance release.

  • Safely finalize manual contact tasks such as surface alignment or assembly fitting.

Note

  • Use after any compliance or force-control task to revert to position control.

  • Once released, the robot will hold its current position under standard motion mode.

Example: Restore Position Control After Compliance Adjustment

#include "DRFLEx.h"
#include <cstdio>
using namespace DRAFramework;

int main() {
    CDRFLEx drfl;

    // Preconditions:
    // - Connection established, servo ON
    // - Manual (Teach) mode active

    // 1) Move to initial pose
    float q0[6] = {0.0f, 0.0f, 90.0f, 0.0f, 90.0f, 0.0f};
    drfl.movej(q0, 60, 30);
    drfl.mwait();

    // 2) Activate compliance control
    float stiffBase[6] = {3000.f, 3000.f, 3000.f, 200.f, 200.f, 200.f};
    drfl.task_compliance_ctrl(stiffBase, COORDINATE_SYSTEM_TOOL, 0.0f);

    // 3) Adjust stiffness values
    float stiffAdj[6] = {1000.f, 1500.f, 2000.f, 150.f, 150.f, 150.f};
    drfl.set_stiffnessx(stiffAdj, COORDINATE_SYSTEM_TOOL, 0.5f);

    // 4) End compliance control and return to position control
    if (drfl.release_compliance_ctrl())
        printf("Compliance control released — robot now under position control.\n");
    else
        printf("Failed to release compliance control.\n");

    return 0;
}

In this example, compliance control is first activated for stiffness adjustment, then released to resume position-controlled operation. The robot maintains its current pose once compliance mode is terminated.

Tips

  • Always call this function after completing compliance or force tasks.

  • Use it before starting new motion or teaching sequences.

  • To re-enable compliance control, call task_compliance_ctrl again.

  • Combine with set_stiffnessx for smooth stiffness transitions.

  • Ensure the robot is stationary before releasing to prevent sudden movements.