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

set_stiffnessx (수동 모드)

이 절에서는 수동(교시) 작업 중에 set_stiffnessx로 순응 모션이나 힘 보조 모션을 위한 로봇의 직교 좌표 강성(Stiffness)을 바꾸는 방법을 설명합니다. 이 함수는 지정한 시간 동안 현재 강성에서 새 목표 강성으로 선형 전환하므로, 로봇의 강성을 부드럽게 조정할 수 있습니다.

이 함수는 주로 핸드가이딩, 표면 접촉 튜닝, 조립 교시 중에 선택한 축에서 로봇을 더 부드럽게 하거나 더 단단하게 할 때 사용합니다.

일반적인 사용법

  • 수동 안내나 접촉 테스트 중에 강성을 동적으로 조정합니다.

  • 사람이나 주변 환경과 안전하게 상호작용하도록 순응 동작을 미세 조정합니다.

  • 순응 모션에는 낮은 강성을, 안정적인 정밀 위치 결정에는 높은 강성을 적용합니다.

  • task_compliance_ctrl과 함께 사용해 로봇의 유연성을 실시간으로 조정합니다.

참고

  • 강성을 조정하기 전에 항상 순응 제어(Compliance Control)가 활성화되어 있는지 확인하세요.

예제: 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) 0.5초에 걸쳐 강성 조정
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.\n");

이 예제에서 로봇은 각 축의 강성 값을 낮춰 단단한 상태에서 부드러운 상태로 매끄럽게 전환합니다. 이렇게 조정하면 안정적이고 반응성 있는 제어를 유지하면서 로봇을 안전하게 핸드가이딩하거나 순응 동작을 미세 조정할 수 있습니다.

팁

  • 낮은 강성 → 더 유연함, 핸드가이딩에 더 안전합니다.

  • 높은 강성 → 더 단단함, 정밀한 모션에 적합합니다.

  • 실제 상황에 맞는 순응 제어 튜닝을 위해 강성을 서서히 조정하세요.

  • 툴 방향에 맞춘 작업(예: 연마)에는 COORDINATE_SYSTEM_TOOL을 사용하세요.

  • 수동 강성 튜닝 후 release_compliance_ctrl과 함께 사용해 위치 제어로 돌아가세요.