2.12.4 2.12.3 2.12.2 2.12.1 2.12 2.11.2 2.11.0.1 Korean English Chinese Czech Dutch French German Hungarian Italian Japanese Polish Portuguese Spanish
2.12.4 2.12.3 2.12.2 2.12.1 2.12 2.11.2 2.11.0.1 Korean English Chinese Czech Dutch French German Hungarian Italian Japanese Polish Portuguese Spanish

ikin(pos, sol_space, ref)

기능

작업 공간내 기준 좌표계(ref)의 로봇 포즈에 상응하는 8개의 관절형상 중 지정한 관절형상(sol_space)에 해당하는 관절각도를 리턴합니다. sol_space에 DR_SOL_AUTO(255)를 지정할 시, 8가지의 관절조합형태 중, Home position(0,0,0,0,0,0)과 관절 공간 상에서 가장 가까운 (2-5축의 관절 공간의 L2 norm이 가장 작음) Solution Space로 이동합니다.

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

  • 로봇 각 모델 별로 알려진 보정 전 DH 파라미터 값에 해당하는 역기구학 해를 구하기 위해서는 ikin_norm() 명령어를 참조 하시기 바랍니다.

  • ikin의 return posj 값을 thread를 사용하여 전역변수 업데이트 하는 경우, 'Lock'을 사용하여 전역변수의 충돌을 막으십시오.

인수

인수명

자료형

기본값

설명

pos

posx

-

posx 또는

position list

list (float[6])

sol_space

int

-

solution space

  • DR_SOL_AUTO: Auto calculation

ref

int

DR_BASE

reference coordinate

  • DR_BASE : base coordinate

  • DR_WORLD : world coordinate

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

255

Auto Calculation (the smallest L2 norm in the joint space of axes 2-5)

리턴

값

설명

posj

Joint space point

예외

예외

설명

DR_Error (DR_ERROR_TYPE)

인수들의 데이터형 오류 시

DR_Error (DR_ERROR_VALUE)

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

DR_Error (DR_ERROR_RUNTIME)

C Extension 모듈 에러 발생 시

DR_Error (DR_ERROR_STOP)

프로그램 강제 종료 시

예제

Python
x1 = posx(370.9, 719.7, 651.5, 90, -180, 0)
q1 = ikin(x1, 2, DR_BASE) # 로봇끝단의 좌표가 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)

관련 명령어