get_external_torque (수동 모드)

이 절에서는 수동(교시) 작업 중에 get_external_torque로 로봇 암의 각 조인트에 가해지는 외부 토크를 측정하는 방법을 설명합니다. 이 값은 외부 접촉, 페이로드 변화, 사람이 가한 힘으로 생긴 반력 토크를 나타냅니다.

일반적인 사용법

  • 토크 변화를 관찰해 예기치 않은 접촉이나 충돌을 감지합니다.

  • 페이로드 추정이나 균형 조정을 검증합니다.

  • 순응 제어나 핸드가이딩 교시 중 힘 분포를 분석합니다.

참고

  • 측정값은 조인트 토크 센서 값과 동역학 모델 보상을 바탕으로 내부에서 계산됩니다.

  • 이 함수는 모니터링에만 사용하세요. 로봇 제어를 바꾸지 않습니다.

  • 모든 모드에서 사용할 수 있지만, 실시간 피드백을 위해 주로 수동(교시) 모드에서 사용합니다.

예제: 순응 제어 테스트 중 외부 토크 모니터링

// 사전 조건:
// - 연결 완료(open_connection)
// - 수동(교시) 모드 활성
// - 토크 센서가 장착된 로봇

// 1) 외부 토크를 반복해서 읽기
for (int i = 0; i < 10; ++i) {
    LPROBOT_FORCE pExt = drfl.get_external_torque();
    if (pExt) {
        printf("[External Torque] Fx=%.2f Fy=%.2f Fz=%.2f | Tx=%.2f Ty=%.2f Tz=%.2f\n",
            pExt->_fForce[0], pExt->_fForce[1], pExt->_fForce[2],
            pExt->_fForce[3], pExt->_fForce[4], pExt->_fForce[5]);
    }
    std::this_thread::sleep_for(std::chrono::milliseconds(200));
}

이 예제에서 프로그램은 외부 토크와 힘 값을 계속 읽어 로봇과 주변 환경 사이의 물리적 상호작용을 모니터링합니다. 로봇을 손으로 안내하거나 로봇이 물체에 닿으면 힘과 토크 출력이 바뀌며, 이 변화로 가해진 외부 영향의 방향과 크기를 알 수 있습니다.

팁

  • 접촉 감지나 순응 동작 확인에 실시간으로 사용하세요.

  • 예기치 않게 큰 토크 급증은 충돌이나 잘못된 페이로드 설정을 의미할 수 있습니다.

  • change_collision_sensitivity와 함께 사용해 안전 반응을 미세 조정하세요.

  • get_tool_force와 비교할 때는 이 함수가 툴 끝단 측정값이 아니라 조인트 기반 토크 추정값을 보고한다는 점에 유의하세요.