alter_motion(pos)
기능
입력 인자 pos에 해당하는 양만큼 경로 수정을 진행합니다.
주의
- alter_motion()은 사용자 thread 내에서만 동작합니다.
알아두기
- alter_motion()은 enable_alter_motion()을 통해 경로보정기능이 활성화된 경우에만 유효합니다.
- enable_alter_motion의 설정 값 limit_dPOS, limit_dPOS_per에 따라 경로 수정량은 조정될 수 있습니다.
- pos의 방향값은 Fixed XYZ로 설정하여야 됩니다.
인수
인수명 | 자료형 | 기본값 | 설명 |
---|---|---|---|
pos | list (float[6]) | - | position list |
예외
예외 | 설명 |
---|---|
DR_Error (DR_ERROR_TYPE) | 인수들의 데이터형 오류 시 |
DR_Error (DR_ERROR_VALUE) | 인수의 값이 유효하지 않을 시 |
DR_Error (DR_ERROR_RUNTIME) | C Extension 모듈 에러 발생 시 |
DR_Error (DR_ERROR_STOP) | 프로그램 강제 종료 시 |
예제
def alter_thread():
alter_motion(dX)
dX = [10,0,0,10,0,0]
J00 = posj(0,0,90,0,90)
X1 = posx(559.0, 200, 651.5, 180, -180.0, 180)
X2 = posx(559.0, 200, 400, 180, -180.0, 180)
movej(J00,vel=50,acc=100)
enable_alter_motion(n=10,mode=DR_DPOS, ref=DR_BASE, limit_dPOS=[50,90], limit_dPOS_per=[10,10])
# 경로 수정 기능 활성화
# 생성주기:(5*100)msec, 모드:누적량, 기준좌표계:베이스
# 누적량 제한:50mm,50deg, 증분량 제한:10mm, 10deg
th_id = thread_run(alter_thread, loop=True)
movel(X1,v=50,a=100,r=30)
movel(X2,v=50,a=100)
thread_stop(th_id)
disable_alter_motion() # 경로 수정 기능 비활성화