Skip to main content
Skip table of contents

ikin(pos, sol_space, ref, ref_pos_opt, iter_threshold)

기능

작업 공간내 기준 좌표계(ref)의 로봇 포즈에 상응하는 8개의 관절형상 중 지정한 관절형상(sol_space)에 해당하는 관절각도를 리턴합니다. 관절각도는 옵션(ref_pos_opt)에 따라 기준 각도에 가장 가까운 값을 리턴합니다. 리턴 값 status를 통해 현재 로봇 포즈가 동작 영역을 벗어나는지 손목 축 특이점 영역에 있는지 확인 할 수 있습니다

알아두기

SW 버전 V2.9 이후, 본 기능을 사용할 때 로봇의 정확도가 보정이 된 경우 정확도 보정 알고리즘이 동작합니다. 정확도 수준은 옵션(iter_threshold)에 따라 조정이 가능합니다. 또한 로봇 자세에 따라서 최대 0.1초의 지연이 있을 수 있습니다.

인수

인수명

자료형

기본값

설명

pos

posx

-

posx 또는

position list

list (float[6])

sol_space

int

-

solution space

ref

int

DR_BASE

reference coordinate

  • DR_BASE : base coordinate
  • DR_WORLD : world coordinate

ref_pos_opt

int

0

멀티턴 해 생성시 옵션에 따른 기준 위치에 가까운 해 선택

  • 0 : posj(0,0,0,0,0,0) 조인트 각도 기준
  • 1 : 현재 조인트 각도 기준

iter_threshold

list (float[2])

0.005

정확도가 보정 된 경우, 정확도 보정 알고리즘의 수준

TCP position (X, Y, Z)의 norm [mm]

0.01

정확도가 보정 된 경우, 정확도 보정 알고리즘의 수준

TCP orientation (A, B, C)의 norm [deg]

Robot configuration vs. solution space

Solution space

Binary

Shoulder

Elbow

Wrist

0

000

Lefty

Below

No Flip

1

001

Lefty

Below

Flip

2

010

Lefty

Above

No Flip

3

011

Lefty

Above

Flip

4

100

Righty

Below

No Flip

5

101

Righty

Below

Flip

6

110

Righty

Above

No Flip

7

111

Righty

Above

Flip

리턴

설명

posj

Joint space point

status

  • 0 : 조인트 값 정상 반환
  • 1 : 동작 영역을 벗어남
  • 2 : 손목 축 특이점

예외

예외설명

DR_Error (DR_ERROR_TYPE)

인수들의 데이터형 오류 시

DR_Error (DR_ERROR_VALUE)

인수의 값이 유효하지 않을 시

DR_Error (DR_ERROR_RUNTIME)

C Extension 모듈 에러 발생 시

DR_Error (DR_ERROR_STOP)

프로그램 강제 종료 시

예제

PY
x1 = posx(370.9, 719.7, 651.5, 90, -180, 0)
q1, status = ikin(x1, 2, DR_BASE, ref_pos_opt=0) # 로봇끝단의 좌표가 x1이 되는 관절각 q1 (8가지 경우 중 첫번째), posj(0,0,0,0,0,0) 조인트 각도 기준
# q1=posj(60.3, 81.0, -60.4, -0.0, 159.4, -29.7) (M1013, tcp=(0,0,0)경우)
movej(q1,v=10,a=20)

관련 명령어


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.