정의
set_singularity_handling(mode)
기능
task motion에서 특이점의 영향으로 path deviation이 발생할 경우 대응 정책을 사용자가 선택할 수 있도록 합니다. mode의 설정은 아래와 같은 설정이 가능 합니다.
-
자동회피 모드(Default) : DR_AVOID
-
경로 우선 : DR_TASK_STOP
-
속도 가변 : DR_VAR_VEL
기본 설정은 자동회피 모드이며, 이 설정의 경우 특이점으로 인한 불안정성을 감소시키지만 path tracking 정확도가 감소합니다. 경로 우선 설정의 경우 singularity의 영향으로 불안정성이 발생할 가능성이 있는 경우, 감속 후 warning 메시지를 출력하고 해당 Task를 종료합니다. 속도 가변 설정의 경우 특이점으로 인한 불안정을 감소시키면서 path tracking 정확도를 높입니다. 하지만 특이점 구간에서 TCP 속도 변경이 발생합니다
인수
|
인수명 |
자료형 |
기본값 |
설명 |
|---|---|---|---|
|
mode |
int |
DR_AVOID |
DR_AVOID : 자동 회피 모드 DR__TASK_STOP : 감속/ Warning/ Task 종료 DR_VAR_VEL : 속도 가변 |
리턴
|
값 |
설명 |
|---|---|
|
0 |
성공 |
|
음수값 |
오류 |
예외
|
예외 |
설명 |
|---|---|
|
DR_Error (DR_ERROR_TYPE) |
인수들의 데이터형 오류 시 |
|
DR_Error (DR_ERROR_VALUE) |
인수의 값이 유효하지 않을 시 |
|
DR_Error (DR_ERROR_RUNTIME) |
C Extension 모듈 에러 발생 시 |
|
DR_Error (DR_ERROR_STOP) |
프로그램 강제 종료 시 |
예제
Python
P1 = posx(400,500,800,0,180,0)
P2 = posx(400,500,500,0,180,0)
P3 = posx(400,500,200,0,180,0)
set_singularity_handling (DR_AVOID) # 특이점 자동회피 모드
movel(P1, vel=10, acc=20)
set_velx(30)
set_accx(60)
set_singularity_handling(DR_TASK_STOP) # Task 모션 경로 우선
movel(P2)
set_singularity_handling(DR_VAR_VEL) # 특이점 속도 가변 모드
movel(P3)