set_ref_coord

이 함수는 컨트롤러의 기준 좌표계(Reference Coordinate System)를 설정합니다. API 모션 함수와 조그 함수는 자체 eMoveReference 인수를 사용하며, set_ref_coord는 이 인수를 바꾸지 않습니다(모션 함수의 기본값은 MOVE_REFERENCE_BASE이고, jog와 multi_jog는 이 인수가 필수입니다). 사용자 좌표계를 기준으로 이동하려면 그 인수에 사용자 좌표계 ID를 전달하세요.

따로 바꾸지 않으면 기준 좌표계의 기본값은 베이스 좌표계(Base Coordinate System)입니다.

정의
DRFLEx.h, CDRFLEx 클래스의 public 섹션

bool set_ref_coord(COORDINATE_SYSTEM eTargetCoordSystem) {
    return _set_ref_coord(_rbtCtrl, eTargetCoordSystem);
};

매개변수

매개변수 이름

자료형

기본값

설명

eTargetCoordSystem

COORDINATE_SYSTEM

설정할 기준 좌표계입니다.
- COORDINATE_SYSTEM_BASE : 로봇 베이스 좌표계
- COORDINATE_SYSTEM_TOOL : 현재 툴 좌표계
- COORDINATE_SYSTEM_WORLD : 월드 좌표계
- 101~200 : 사용자 좌표계 ID

반환값

값

설명

0

기준 좌표계를 설정하지 못했습니다

1

기준 좌표계를 설정했습니다

예제

// 조인트 위치로 이동
float p1[6] = {0.f, 0.f, 90.f, 0.f, 90.f, 0.f};
drfl.movej(p1, 60, 30);

// 사용자 정의 좌표계 생성
float vec[2][3] = {{-1.f, 1.f, 1.f}, {1.f, 1.f, 0.f}};
float org[3] = {370.9f, -419.7f, 651.5f};
int user_id = drfl.set_user_cart_coord(vec, org);

// 기준 좌표계를 사용자 좌표계로 변경
if (user_id >= 101 && user_id <= 200) {
    drfl.set_ref_coord((COORDINATE_SYSTEM)user_id);
}

이 예제는 사용자 좌표계(User Coordinate System)를 정의하고 이를 컨트롤러의 기준 좌표계로 설정합니다. 이 좌표계를 기준으로 이동하려면 movel의 eMoveReference에 ID를 전달하세요.