기능
task motion에서 특이점의 영향으로 path diaviation이 발생할 경우 대응 정책을 사용자가 선택할 수 있도록 하다. mode의 설정은 아래와 같은 설정이 가능하다.
-
자동회피 모드(Default) : SINGULARITY_AVOIDANCE_AVOID
-
경로 우선 : SINGULARITY_AVOIDANCE_STOP
-
속도 가변 : SINGULARITY_AVOIDANCE_VEL
기본 설정은 자동회피 모드이며, 이 설정의 경우 특이점으로 인한 불안정성을 감소시키지만 path tracking 정확도가 감소한다.
경로 우선 설정의 경우 singularity 의 영향으로 불안정성이 발생할 가능성이 있는 경우, 감속 후 warning 메시지를 출력하고 해당 Task를 종료한다.
속도 가변 설정의 경우 특이점으로 인한 불안정을 감소시키면서 path tracking 정확도를 높인다. 하지만 특이점 구간에서 TCP 속도 변경이 발생한다.
인수
|
인수명 |
자료형 |
기본값 |
설명 |
|---|---|---|---|
|
eMode |
SINGULARITY_AVOIDANCE |
- |
열거형 및 상수 정의 참조 |
리턴
|
값 |
설명 |
|---|---|
|
0 |
오류 |
|
1 |
성공 |
예제
C++
float p1[6] = {400, 500, 800, 0, 180, 0};
float p2[6] = {400, 500, 500, 0, 180, 0};
float p3[6] = {400, 500, 200, 0, 180, 0};
Drfl.set_singularity_handling(SINGULARITY_AVOIDANCE_AVOID); // 특이점 자동회피 모드
Drfl.MoveL(p1, 10, 20);
Drfl.set_singularity_handling(SINGULARITY_AVOIDANCE _STOP); // Task 모션 경로 우선
Drfl.MoveL(p2, 30, 60);
Drfl.set_singularity_handling(SINGULARITY_AVOIDANCE_VEL); // 특이점 속도 가변 모드