이전 버전(1.33.4)의 문서를 보고 있습니다. 이 버전은 계속 지원됩니다.
최신 버전 정보는 1.33.5에서 확인하세요.

release_force (자동 모드)

이 절에서는 자동(실행) 운전 중에 release_force로 적용 중인 힘 제어(Force Control)를 안전하게 줄이거나 해제하는 방법을 설명합니다. 이 함수는 정의한 전환 시간 동안 현재 목표 힘을 0까지 서서히 줄인 다음, 로봇을 표준 적응형 위치 제어 모드로 되돌립니다.

주로 set_desired_force로 일정한 힘이나 방향성 있는 힘 명령을 실행한 뒤, 자동 공정에서 부드럽고 안정적으로 복귀하기 위해 사용합니다.

일반적인 사용법

  • 자동 압입, 삽입, 접촉 작업 후 현재 가하고 있는 힘이나 토크를 부드럽게 해제합니다.

  • 자동 작업 흐름에서 힘 제어에서 위치 제어로 전환할 때 갑작스러운 움직임이나 진동을 막습니다.

  • 힘 제어 동작 다음에 위치 제어 작업이 이어지는 자동 공정에 넣어 사용합니다.

  • release_compliance_ctrl과 함께 사용해 자동화에서 힘 제어와 순응 제어(Compliance Control)를 모두 완전히 해제합니다.

참고

  • 권장 범위: 0.3-0.5초(자동 사이클에서 부드럽게 전환하기 위한 값)

  • 자동 운전에서는 순응 제어를 해제하거나 새 모션 명령을 시작하기 전에 호출해야 합니다.

예제: 자동 삽입 작업 후 힘을 서서히 해제하기

// 사전 조건:
// - 연결됨
// - 자동 모드 활성
// - 서보 온, 힘 제어 사용 가능

// 1) 기준 좌표계를 TOOL로 설정
drfl.set_ref_coord(COORDINATE_SYSTEM_TOOL);

// 2) 초기 포즈로 이동
float q0[6] = {0.0f, 0.0f, 90.0f, 0.0f, 90.0f, 0.0f};
drfl.movej(q0, 60, 30);
drfl.mwait();

// 3) 순응 제어 적용
float stiff[6] = {1000.f, 500.f, 500.f, 100.f, 100.f, 100.f};
drfl.task_compliance_ctrl(stiff);

// 4) 15 N의 하향 힘(+Z) 적용
float fTarget[6] = {0.f, 0.f, 15.f, 0.f, 0.f, 0.f};
unsigned char dir[6] = {0, 0, 1, 0, 0, 0};
drfl.set_desired_force(fTarget, dir, COORDINATE_SYSTEM_TOOL, 0.3f);

// 5) 0.4초에 걸쳐 가한 힘을 서서히 해제
drfl.release_force(0.4f);

// 6) 순응 제어를 비활성화하고 위치 제어로 복귀
drfl.release_compliance_ctrl();

이 예제에서는 로봇이 TOOL의 +Z축 방향으로 15 N의 힘을 가한 다음, release_force()로 0.4초에 걸쳐 서서히 줄입니다. 이렇게 하면 자동 운전에서 접촉면에서 안정적으로 떨어지고 위치 제어로 안전하게 돌아갈 수 있습니다.

팁

  • release_compliance_ctrl을 호출하기 전에 항상 release_force()를 사용하세요.

  • 자동 작업에서 힘이 부드럽게 감소하도록 짧은 전환 시간(0.3–0.5 s)을 적용하세요.

  • 힘을 해제하기 전에 예상치 못한 외부 하중이 있는지 확인하세요.

  • set_desired_force와 함께 사용해 자동 작업 흐름에서 힘 제어 사이클 전체를 구성하세요.

  • 제어된 방식으로 분리해야 하는 자동 압입, 표면 접촉, 삽입 작업에 유용합니다.