Breadcrumbs

set_singularity_handling()

정의

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)

관련 명령어