CDRFLEx.set_singularity_handling
기능
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 | 성공 |
예제
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); // 특이점 속도 가변 모드