enable_alter_motion (수동 모드)
이 절에서는 수동(교시) 작업 중에 enable_alter_motion을 사용하는 방법을 설명합니다. 이 함수는 경로 수정(Alter Motion) 모드를 활성화해, 작업 공간(Task Space) 모션 명령(예: movel)이 실행되는 동안 궤적(Trajectory)을 조금씩 보정할 수 있게 합니다. movej 같은 조인트 공간(Joint Space) 모션은 수정할 수 없으며, 이런 모션 중의 alter_motion 호출은 거부됩니다. 이 기능은 접근 경로 미세 조정, 접촉 중 툴 자세 조정, 카메라 안내에 따른 TCP 위치의 시각적 보정에 특히 유용합니다.
일반적인 사용법
미세 수동 조정 루프(alter_motion 사용)를 실행하기 전에 활성화하세요.
안전한 수동 제어를 위해 위치와 자세 모두에 이동 한계를 정의하세요.
용접 시작점 튜닝이나 표면 접촉 정렬 같은 정밀 교시 작업에서 흔히 사용합니다.
참고
경로 수정 명령보다 먼저 사용자 스레드에서 호출해야 합니다.
disable_alter_motion을 호출하거나 로봇이 EMERGENCY_STOP, SAFE_OFF, SAFE_OFF2 상태가 될 때까지 활성 상태로 유지됩니다. 그 후에는 서보 온 후 enable_alter_motion을 다시 호출하세요.
설정한 한계는 툴이 지나치게 이동하거나 자세가 지나치게 바뀌는 것을 막습니다.
예제: 안전 경계를 설정해 경로 수정 활성화
// 1단계: 로봇이 연결되어 있고 수동 모드인지 확인
// (서보 온 상태이고 작업 영역이 안전하다고 가정)
// 2단계: 수동 보정용 안전 한계 정의
float fLimitDpos[2] = {5.0f, 3.0f}; // ±5 mm(위치), ±3°(회전)
float fLimitDposPer[2] = {-10000.f, -10000.f}; // 주기당 한계 없음
// 3단계: 미세 경로 보정을 허용하도록 경로 수정 활성화
drfl.enable_alter_motion(5, PATH_MODE_DPOS, COORDINATE_SYSTEM_BASE,
fLimitDpos, fLimitDposPer);
printf("Alter motion enabled. You can now apply small path adjustments.\n");
팁
시각적 정렬이나 촉각 정렬 직전에 호출하기에 적합합니다.
fLimitDpos또는fLimitDposPer의 두 요소가 모두-10000이면 누적량이나 증분량을 제한하지 않습니다.정렬이 끝나면 disable_alter_motion으로 포즈를 확정하세요.