최신 버전 정보는 1.33.5에서 확인하세요.
task_compliance_ctrl (자동 모드)
이 절에서는 자동(실행) 운전 중에 task_compliance_ctrl로 힘 보조 작업이나 순응 기반 작업을 위해 직교 좌표 순응 제어(Compliance Control)를 활성화하는 방법을 설명합니다. 이 함수를 사용하면 로봇이 특정 작업에 맞게 강성(Stiffness)을 동적으로 조정해 물체, 자재, 주변 환경과 안전하게 상호작용할 수 있습니다.
자동 모드에서 이 함수는 자동 조립, 삽입, 자재 취급처럼 힘 제어(Force Control)나 유연한 모션이 필요한 작업에 유용합니다.
일반적인 사용법
자동 작업 중에 힘 보조 동작을 할 수 있도록 순응 모드를 활성화합니다.
자동 운전에서 표면 추종, 삽입, 접촉 기반 정렬을 합니다.
부품이나 툴과 안전하게 상호작용하도록 강성을 동적으로 조정합니다.
set_desired_force와 함께 사용해 자동 작업에서 힘과 순응을 모두 제어합니다.
작업을 마친 뒤 release_compliance_ctrl로 표준 위치 제어로 돌아갑니다.
참고
병진 강성 범위: 0~20000 N/m
회전 강성 범위: 0~400 N·m/rad
툴 방향 순응 제어에는
COORDINATE_SYSTEM_TOOL을, 전역 순응 제어에는BASE를 사용하세요.
예제: 자동 삽입을 위해 직교 좌표 순응 제어 활성화하기
// 사전 조건:
// - 연결됨, 서보 온
// - 자동 모드 활성
// 1) 삽입을 위해 안전한 위치로 이동
float q0[6] = {0.0f, 0.0f, 90.0f, 0.0f, 90.0f, 0.0f};
drfl.movej(q0, 60, 30);
drfl.mwait();
// 2) 기본 강성으로 순응 제어 활성화
float baseStiff[6] = {3000.f, 3000.f, 3000.f, 200.f, 200.f, 200.f};
drfl.task_compliance_ctrl(baseStiff, COORDINATE_SYSTEM_TOOL, 0.0f);
// 3) 삽입 작업에 맞게 강성을 동적으로 조정
float newStiff[6] = {1000.f, 1500.f, 2000.f, 150.f, 150.f, 150.f};
drfl.set_stiffnessx(newStiff, COORDINATE_SYSTEM_TOOL, 0.5f);
// 4) 삽입 작업을 마치고 위치 제어로 복귀
drfl.release_compliance_ctrl();
printf("Compliance mode enabled for automated insertion.\n");
이 예제에서는 로봇이 순응 상태로 전환해 삽입에 알맞게 강성을 조정한 다음, 작업이 끝나면 순응 제어를 해제해 표준 위치 제어로 돌아갑니다.
팁
안전하고 제어된 삽입이나 조립 작업에는 적당한 강성(예: 1000–3000 N/m)을 사용하세요.
강성을 부드럽고 빠르게 바꾸려면 짧은 전환 시간(0.3–0.5 s)을 적용하세요.
툴 이동이나 부품 삽입과 관련된 힘 적용에는 COORDINATE_SYSTEM_TOOL을 권장합니다.
힘 제어나 접촉 기반 제어가 필요한 작업을 하기 전에 순응 제어가 활성화되어 있는지 확인하세요.
set_desired_force와 함께 사용해 순응 제어와 함께 힘 제어를 관리하세요.