이전 버전(1.33.4)의 문서를 보고 있습니다. 이 버전은 계속 지원됩니다.
최신 버전 정보는 1.33.5에서 확인하세요.
최신 버전 정보는 1.33.5에서 확인하세요.
disable_alter_motion
이 함수는 enable_alter_motion으로 활성화한 경로 수정(Alter Motion) 모드를 비활성화합니다. 증분 경로 보정을 멈추고 로봇을 일반 궤적(Trajectory) 제어로 되돌립니다. 이 함수를 실행한 후에는 경로 수정 모드를 다시 활성화할 때까지 alter_motion 호출이 무시됩니다.
이 함수는 M2.4 버전 이상에서 사용할 수 있습니다.
정의
DRFLEx.h, CDRFLEx 클래스의 public 섹션
bool disable_alter_motion() {
return _disable_alter_motion(_rbtCtrl);
};
매개변수
없음
반환값
값 |
설명 |
|---|---|
0 |
경로 수정 모드를 비활성화하지 못했습니다. |
1 |
경로 수정 모드를 비활성화했습니다. |
예제
// 작은 보정량을 계속 보내는 스레드 루틴
void ThreadFunc() {
float delta[6] = {10.0f, 0, 0, 10.0f, 0, 0};
while (true) {
drfl.alter_motion(delta);
std::this_thread::sleep_for(std::chrono::milliseconds(20));
}
}
// 1) 경로 수정을 계속 실행할 별도 스레드 시작
std::thread th(ThreadFunc);
// 2) 경로 수정 모드 활성화(미세 조정 제어 준비)
float limitDpos[2] = {50.0f, 90.0f};
float limitDposPer[2] = {5.0f, 50.0f};
drfl.enable_alter_motion(5, PATH_MODE_DPOS, COORDINATE_SYSTEM_BASE,
limitDpos, limitDposPer);
// ... 미세 조정 진행 중 ...
// 3) 경로 수정 모드를 비활성화해 일반 제어로 복귀
drfl.disable_alter_motion();
th.detach(); // 백그라운드 스레드 정리
이 예제는 진행 중인 경로 수정을 종료하는 방법을 보여 줍니다. disable_alter_motion()을 호출한 후에는 모든 증분 제어 입력이 무시되고 로봇이 일반 모션 실행으로 돌아갑니다.
불필요한 API 호출을 막으려면 모드를 비활성화하기 전에 경로 수정 스레드를 모두 안전하게 종료하는 것을 권장합니다.