Breadcrumbs

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

성공

예제

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); // 특이점 속도 가변 모드