set_stiffnessx (자동 모드)
이 절에서는 자동(실행) 운전 중에 set_stiffnessx로 자동화 환경의 순응 제어(Compliance Control)나 힘 보조 작업을 위해 로봇의 직교 좌표 강성(Stiffness)을 조정하는 방법을 설명합니다. 이 함수는 지정한 시간 동안 현재 강성에서 원하는 강성으로 선형 전환하므로, 성능을 최적화하도록 로봇의 강성을 부드럽게 조정할 수 있습니다.
이 함수는 자동 조립, 힘 기반 삽입, 표면 상호작용, 자재 취급 작업에서 작업 요구 사항에 맞게 로봇의 강성을 조정해 안정적이고 안전한 성능을 확보하는 데 주로 사용합니다.
일반적인 사용법
힘 제어(Force Control)나 순응 제어가 필요한 자동 작업 중에 강성을 조정합니다.
자재나 주변 환경과 안전하게 상호작용하도록 로봇의 강성을 미세 조정합니다.
유연한 움직임에는 낮은 강성을, 정밀하고 단단한 움직임에는 높은 강성을 적용합니다.
task_compliance_ctrl과 함께 사용해 자동 공정에서 로봇의 유연성을 실시간으로 조정합니다.
참고
병진 강성 범위: 0~20000 N/m
회전 강성 범위: 0~400 N·m/rad
예제: 자동 삽입을 위해 TOOL 좌표계에서 직교 좌표 강성 조정하기
// 사전 조건:
// - 연결됨, 서보 온
// - 자동 모드 활성
// 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("Stiffness adjusted successfully for insertion task.\n");
이 예제에서는 힘 기반 삽입에 맞게 로봇이 강성이 높은 설정에서 낮은 설정으로 부드럽게 전환합니다. 이렇게 조정하면 자동 작업 중에 정밀한 제어를 유지하면서 안정적이고 유연하게 동작합니다.
팁
강성이 낮을수록 → 더 유연하며, 삽입이나 접촉 작업처럼 섬세한 작업에 적합합니다.
강성이 높을수록 → 더 단단하며, 자동 조립에서 정밀하고 단단한 움직임에 적합합니다.
자동 작업 흐름에서 부드럽게 전환하려면 강성을 서서히 조정하세요.
툴 방향으로 힘을 가하는 작업(예: 삽입, 압입)에는 COORDINATE_SYSTEM_TOOL을 사용하세요.
release_compliance_ctrl과 함께 사용해 자동 강성 조정 후 표준 위치 제어로 돌아가세요.