최신 버전 정보는 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와 함께 사용해 힘 제어 사이클 전체를 구성하세요.
제어된 방식으로 떨어져야 하는 압입, 표면 접촉, 삽입 작업을 교시할 때 유용합니다.