로봇 일반 데이터 포맷

직교 좌표계 위치 데이터 포맷

직교 좌표계 위치 데이터는 로봇 말단 실행기의 3차원 공간에서의 위치와 자세에 대한 수학적 표현입니다. 각 제조업체는 서로 다른 자세 표현 방법을 채택하지만, 일반적으로 모두 위치 좌표(X, Y, Z)와 자세 정보를 포함합니다.

특별히 명시하지 않는 한, 기본값은 다음과 같습니다:

  1. 각도의 단위는 각도값입니다.

  2. 거리의 단위는 밀리미터입니다.

ABB

ABB 로봇은 [X, Y, Z, q1, q2, q3, q4] 포맷을 채택하며, 그 중 위치는 밀리미터를 단위로 사용하고, 단위 쿼터니언으로 자세를 표현합니다. 쿼터니언에서 q1은 실부이고, q2, q3, q4는 각각 xyz 방향의 허부입니다. 티칭 펜던트에서 ZYX 오일러 각을 읽을 수 있지만, 내부 robtarget 데이터 구조는 실제로 단위 쿼터니언을 사용하여 자세를 표현합니다.

ABB의 robtarget 데이터 타입은 다음 구성요소를 포함합니다:

구성요소명

데이터 타입

설명

trans

pos

mm 단위로 툴 센터 포인트의 위치(X, Y, Z)를 표현

rot

orient

단위 쿼터니언 형태로 툴 방향(q1, q2, q3, q4)을 표현

robconf

confdata

기계팔의 축 구성(cf1, cf4, cf6, cfx)

extax

extjoint

외부축 데이터, 외부축의 위치를 제어하는 데 사용

FANUC

FANUC 로봇은 [X, Y, Z, W, P, R] 포맷으로 위치와 자세 데이터를 표현하며, 그 중 (X, Y, Z)는 위치 좌표이고, (W, P, R)은 자세 각도입니다. xyz 고정각으로 자세를 표현하며, RPY각이라고도 불립니다.

시스템의 위치와 자세 데이터는 사용자 좌표계와 툴 좌표계를 통해 관리됩니다. 사용자 좌표계는 사용자가 작업 영역의 기준 좌표계를 정의할 수 있게 하고, 툴 좌표계는 툴 말단의 위치와 자세를 정의합니다.

YASKAWA

YASKAWA 로봇은 [X, Y, Z, Rx, Ry, Rz] 포맷을 사용하며, xyz 고정각으로 자세를 표현합니다.

yaskawa coordinate

KUKA

KUKA 로봇은 [X, Y, Z, A, B, C] 포맷을 사용하며, zyx 오일러 각으로 자세를 표현합니다. KUKA 시스템은 POSITION, XYZWPR, XYZWPREXT, JOINTPOS, PATH 등의 데이터 타입을 통해 위치 데이터를 표현합니다.

KUKA의 POSITION 데이터 타입은 다음 구성요소를 포함합니다:

구성요소 타입

수량

단위

설명

REAL값(위치)

3개

밀리미터

X, Y, Z 위치 좌표를 표현

REAL값(방향)

3개

W, P, R 방향 각도를 표현

CONFIG 데이터 타입

1개

4개의 부울값과 3개의 정수로 구성되어 관절 위치와 회전수의 구성을 나타냄

ROKAE

ROKAE 로봇은 [X, Y, Z, q1, q2, q3, q4] 포맷을 채택하며, 단위 쿼터니언으로 자세를 표현합니다. 그 중 q1은 단위 쿼터니언의 실부이고, q2, q3, q4는 각각 xyz 방향의 허부로, ABB의 포맷과 유사합니다.

UR

UR 로봇은 [X, Y, Z, Rx, Ry, Rz] 포맷을 사용하며, 회전 벡터로 자세를 표현합니다. UR 시스템에서 [X, Y, Z] 단위는 미터이고, [Rx, Ry, Rz] 단위는 라디안입니다.

티칭 펜던트에서 xyz 고정각을 읽을 수 있지만, UR 내부의 pose 데이터는 회전 벡터를 사용하여 자세를 표현합니다. 따라서 로봇에 전송하는 데이터 포맷은 [X, Y, Z, Rx, Ry, Rz]가 가장 좋습니다.

기타 브랜드 포맷

EFORT와 ESTUN 로봇 모두 [X, Y, Z, A, B, C] 포맷을 사용하며, zyx 오일러 각으로 자세를 표현합니다.

ELITE 로봇은 [X, Y, Z, Rx, Ry, Rz] 포맷을 사용하며, xyz 고정각으로 자세를 표현합니다.

일반적으로 사용되는 로봇 자세 표현 방법에는 3x3 회전 행렬, 고정각(XYZ 고정각/RPY), 오일러 각(ZYX 오일러 각), 단위 쿼터니언, 회전 벡터, 등가 축각이 포함됩니다. 고정각과 오일러 각의 차이점은 좌곱(절대 변환)과 우곱(상대 변환)에 있으므로, XYZ 고정각(RPY)은 ZYX 오일러 각과 동일합니다.

속도 데이터 포맷

로봇 속도 데이터는 로봇 운동의 빠르기를 정의하며, 관절 공간 속도와 직교 좌표계 공간 속도 두 가지 타입을 포함합니다. 서로 다른 제조업체는 속도 데이터의 표현과 제어 측면에서 다른 전략을 채택했습니다.

ABB

ABB는 speeddata 데이터 타입을 사용하여 로봇 운동의 속도 매개변수를 정의합니다. 이 데이터 타입은 네 가지 주요 구성요소를 포함합니다: v_tcp(툴 센터 포인트 속도, 단위 mm/s), v_ori(TCP 재위치 속도, 도/초로 표현), v_leax(선형 외부축 속도, 단위 mm/s), v_reax(회전 외부축 속도, 도/초로 표현).

ABB의 speeddata 데이터 타입은 다음 구성요소를 포함합니다:

구성요소명 데이터 타입 단위 설명

v_tcp

num

mm/s

툴 센터 포인트의 속도. 고정 툴이나 협조 외부축을 사용하는 경우, 워크피스에 대한 속도를 규정

v_ori

num

°/s

TCP의 재위치 속도. 고정 툴이나 협조를 사용하는 경우, 워크피스에 대한 속도를 규정

v_leax

num

mm/s

선형 외부축의 속도

v_reax

num

°/s

회전 외부축의 속도

시스템에는 기계팔과 외부축 이동을 위한 미리 정의된 속도 데이터가 있으며, 구체적으로 다음과 같습니다:

명칭 TCP속도 방향 선형 외부축 회전 외부축

v5

5 mm/s

500°/s

5000 mm/s

1000°/s

v10

10 mm/s

500°/s

5000 mm/s

1000°/s

v20

20 mm/s

500°/s

5000 mm/s

1000°/s

v30

30 mm/s

500°/s

5000 mm/s

1000°/s

v40

40 mm/s

500°/s

5000 mm/s

1000°/s

v50

50 mm/s

500°/s

5000 mm/s

1000°/s

v60

60 mm/s

500°/s

5000 mm/s

1000°/s

v80

80 mm/s

500°/s

5000 mm/s

1000°/s

v100

100 mm/s

500°/s

5000 mm/s

1000°/s

v150

150 mm/s

500°/s

5000 mm/s

1000°/s

v200

200 mm/s

500°/s

5000 mm/s

1000°/s

v300

300 mm/s

500°/s

5000 mm/s

1000°/s

v400

400 mm/s

500°/s

5000 mm/s

1000°/s

v500

500 mm/s

500°/s

5000 mm/s

1000°/s

v600

600 mm/s

500°/s

5000 mm/s

1000°/s

v800

800 mm/s

500°/s

5000 mm/s

1000°/s

v1000

1000 mm/s

500°/s

5000 mm/s

1000°/s

v1500

1500 mm/s

500°/s

5000 mm/s

1000°/s

v2000

2000 mm/s

500°/s

5000 mm/s

1000°/s

v2500

2500 mm/s

500°/s

5000 mm/s

1000°/s

v3000

3000 mm/s

500°/s

5000 mm/s

1000°/s

v4000

4000 mm/s

500°/s

5000 mm/s

1000°/s

v5000

5000 mm/s

500°/s

5000 mm/s

1000°/s

v6000

6000 mm/s

500°/s

5000 mm/s

1000°/s

v7000

7000 mm/s

500°/s

5000 mm/s

1000°/s

vmax

로봇 모델에 따라 다름

500°/s

5000 mm/s

1000°/s

FANUC

이동 속도 제어:

FANUC는 다양한 이동 속도 제어 방식을 지원하며, 이동 중에 실행 프로그램의 관절 보간과 직선 보간 운동의 이동 배율을 규정할 수 있습니다. 이동 배율 범위값은 1~100%입니다. 이동 중에도 프로그램 속도를 설정값 감속 처리로 실행할 수 있습니다.

이동 속도는 다음과 같은 표현 방법이 있습니다:

  • 백분율 표현(%):최대 속도에 대한 백분율로, 위치 변수가 필요하지 않고, 보조 기능을 사용하지 않습니다.

  • 시간 표현(초):0.1~3600초 범위 내에서 소수점 4자리까지 지정할 수 있습니다. 이동 시간에는 가속과 감속 시간이 포함되며, PTP 이동 시 모든 관절이 동시에 지정된 시간 동안 이동합니다.

  • 속도 표현(mm/sec):0.1~32000mm/sec 범위 내에서 직각 좌표계 속도로 지정할 수 있습니다.

  • 피드 속도 표현(cm/min):0.1~12000cm/min 범위 내에서 피드 속도로 지정할 수 있습니다.

운동 타입 제어:

FANUC는 유연한 운동 제어 방식을 제공하며, 관절 보간 운동과 직선 보간 운동을 지원합니다:

  • 관절 보간 운동(JP):예를 들어 JP[1] 50% FINE은 50% 속도 정밀 위치결정을 의미

  • 직선 보간 운동(LP):예를 들어 LP[1] 100mm/sec FINE은 선형 운동 100mm/s 정밀 위치결정을 의미

  • 원호 보간 운동(CP):원호 궤적 운동 제어에 사용

YASKAWA

YASKAWA 로봇은 세 가지 주요 운동 방식을 지원합니다: MOVJ(관절 보간), MOVL(직선 보간), MOVC(원호 보간)로, 각 방식마다 전용 매개변수와 속도 단위가 있습니다.

MOVJ

기능

관절 보간 방식으로 티칭 위치로 이동.

부가 항목

위치 데이터, 베이스축 위치 데이터, 공구축 위치 데이터

화면에 표시되지 않음

VJ=(재현 속도)

VJ:0.01~100.00%

PL=(위치결정 등급)

PL:0~8

NWAIT

UNTIL 문

ACC=(가속도 조정 비율)

ACC:20~100%

DEC=(감속도 조정 비율)

DEC:20~100%

사용예

MOVJ  VJ=50.00  PL=2  NWAIT  UNTIL  IN#(16)=ON

MOVL

기능

직선 보간 방식으로 티칭 위치로 이동.

부가 항목

위치 데이터, 베이스축 데이터, 공구축 위치 데이터

화면에 표시되지 않음

V=(재현 속도), VR=(자세의 재현 속도), VE=(외부축의 재현 속도, VMAX=(VMAX 속도)

V:0.1~1500.0 mm/초+1~9000cm/분, VR:0.1~360.0도/초, VE:0.01~100.00%, VMAX:50~100%

PL=(위치결정 등급)

PL:0~8

CR=(코너 반지름)

CR:0.1~6563.5mm

NWAIT

UNTIL 문

ACC=(가속도 조정 비율)

ACC:20~100%

DEC=(감속도 조정 비율)

DEC:20~100%

사용예

MOVL  V=138  PL=0  NWAIT  UNTIL  IN#(16)=ON

MOVC

기능

원호 보간 방식으로 티칭 위치로 이동.

부가 항목

위치 데이터, 베이스축 데이터, 공구축 위치 데이터

화면에 표시되지 않음.

V=(재현 속도), VR=(자세각 재현 속도), VE=(외부축 재현 속도)

MOVL과 동일.

PL=(위치결정 등급)

PL:0~8

NWAIT

ACC=(가속도 조정 비율)

ACC:20~100%

DEC=(감속도 조정 비율)

DEC:20~100%

COORD=(원호 자세 제어 지정)

COORD:0~1

FPT:원호 종점 지정

사용예

MOVC  V=138  PL=0  NWAIT

현재 속도 데이터를 D 변수에 작성했기 때문에 로봇 실행 속도와 아래 표에 표시된 실제 값이 일치하지 않습니다.

KUKA

KUKA 로봇은 세 가지 주요 운동 타입을 지원합니다: PTP(점대점 운동), LIN(직선 운동), CIRC(원호 운동)로, 각 운동 타입마다 해당하는 속도 매개변수 설정 방식이 있습니다.

PTP:

PTP 운동은 관절 공간 운동을 채택하여 각 축의 속도 백분율을 제어함으로써 정밀 위치결정을 실현합니다.

매개변수 타입 매개변수명 설정 범위 설명

속도 제어

$VEL_AXIS[x]

1~100%

각 축의 속도 백분율을 제어
x는 축 번호(1~8)를 나타냄

가속도 제어

$ACC_AXIS[x]

시스템 정의

각 축에 대한 가속도 제어
x는 축 번호(1~8)를 나타냄

LIN/CIRC:

궤적 운동은 직교 좌표계 공간 운동을 채택하며, 속도 매개변수가 더 다양하여 선형 속도와 자세 속도의 독립적인 제어를 지원합니다.

매개변수 타입 매개변수명 단위 설명

속도 제어

$VEL.CP

m/s

궤적 속도, TCP의 공간에서의 선형 운동 속도를 제어

$VEL.ORI1

°/s

회전 속도, A축과 B축 중심의 자세 회전 속도를 제어

$VEL.ORI2

°/s

전속도, C축(툴 X축) 중심의 회전 속도를 제어

가속도 제어

$ACC.CP

m/s²

궤적 가속도, 선형 운동의 가감속을 제어

$ACC.ORI1

°/s²

회전 가속도, 자세 변화의 가감속을 제어

$ACC.ORI2

°/s²

전속도 가속도, 툴축 중심 회전의 가감속을 제어

ROKAE

ROKAE 로봇 시스템은 통일된 speed 명령을 제공하여 로봇의 운동 속도를 제어하며, 이 명령은 로봇과 외부축의 운동 속도를 정의합니다.

speed 명령은 다음 핵심 매개변수를 포함합니다:

매개변수명

데이터 타입

매개변수 설명

설정 범위

per

double

관절 속도 백분율, 관절 운동 시의 운동 속도를 지정하는 데 사용되며, MoveAbsJ와 MoveJ 등 명령에 적용

1% ~ 100%

tcp

double

TCP 선속도, 툴 센터 포인트의 선속도를 정의

0.001 mm/s ~ 7000 mm/s

ori

double

공간 회전 속도, 툴의 회전 속도를 정의

0.001°/s ~ 500°/s

exj_l

double

외부축 선속도, 외부 직선축의 운동 속도를 정의

0 mm/s ~ 2000 mm/s

exj_r

double

외부축 각속도, 외부 회전축의 운동 속도를 정의

0°/s ~ 300°/s

시스템에는 미리 정의된 일반적인 속도 변수가 있으며, 구체적으로 다음과 같습니다:

명칭 관절 속도 백분율 TCP 선속도 공간 회전 속도 외부축 각속도 외부축 선속도

v5

1%

5 mm/s

200°/s

0°/s

0 mm/s

v10

3%

10 mm/s

200°/s

0°/s

0 mm/s

v25

5%

25 mm/s

200°/s

0°/s

0 mm/s

v30

5%

30 mm/s

200°/s

0°/s

0 mm/s

v40

5%

40 mm/s

200°/s

0°/s

0 mm/s

v50

5%

50 mm/s

200°/s

0°/s

0 mm/s

v60

8%

60 mm/s

200°/s

0°/s

0 mm/s

v80

8%

80 mm/s

200°/s

0°/s

0 mm/s

v100

10%

100 mm/s

200°/s

0°/s

0 mm/s

v150

15%

150 mm/s

200°/s

0°/s

0 mm/s

v200

20%

200 mm/s

200°/s

0°/s

0 mm/s

v300

30%

300 mm/s

200°/s

0°/s

0 mm/s

v400

40%

400 mm/s

200°/s

0°/s

0 mm/s

v500

50%

500 mm/s

200°/s

0°/s

0 mm/s

v600

60%

600 mm/s

200°/s

0°/s

0 mm/s

v800

70%

800 mm/s

200°/s

0°/s

0 mm/s

v1000

100%

1000 mm/s

200°/s

0°/s

0 mm/s

v1500

100%

1500 mm/s

200°/s

0°/s

0 mm/s

v2000

100%

2000 mm/s

200°/s

0°/s

0 mm/s

v3000

100%

3000 mm/s

200°/s

0°/s

0 mm/s

v4000

100%

4000 mm/s

200°/s

0°/s

0 mm/s

v5000

100%

5000 mm/s

200°/s

0°/s

0 mm/s

v6000

100%

6000 mm/s

200°/s

0°/s

0 mm/s

v7000

100%

7000 mm/s

200°/s

0°/s

0 mm/s

UR

UR 로봇은 티칭 프로그래밍과 스크립트 프로그래밍에서 서로 다른 속도 데이터 포맷을 채택합니다. 티칭 프로그래밍 시에는 속도 데이터 포맷이 각도, 밀리미터를 단위로 하고, 스크립트 프로그래밍 시에는 라디안, 미터를 단위로 합니다.

UR 시스템은 세 가지 이동 타입을 지원합니다: moveJ(로봇 팔 관절 공간 내에서 계산된 이동을 실행), moveL(툴이 경로점 사이에서 선형 이동), moveP(툴이 일정한 속도로 원형 혼합 구역을 통해 선형 이동).

모서리 영역 데이터

모서리 영역 데이터는 로봇이 경로점 사이에서의 부드러운 전환 방식을 정의하며, 이는 연속적이고 효율적인 로봇 운동을 실현하는 데 매우 중요합니다. 서로 다른 제조업체는 다른 모서리 처리 전략을 채택했습니다.

ABB

ABB 로봇은 zonedata 데이터 타입을 사용하여 모서리 영역 매개변수를 정의하며, 이 데이터 타입은 로봇이 경로점에서의 운동 행동을 결정합니다. 모서리 영역 매개변수는 로봇이 목표 위치에서 완전히 정지하는지(정밀 위치결정), 아니면 플라이바이 포인트 형태로 목표 위치를 부드럽게 통과하는지를 제어할 수 있습니다.

abb zone

ABB의 zonedata 데이터 타입은 다음 구성요소를 포함합니다:

구성요소명

데이터 타입

설명

finep

bool

운동이 정지점으로 끝나는지 플라이바이 포인트로 끝나는지를 규정. TRUE는 운동이 정지점으로 끝나며, 기계팔이 정지점에 도달할 때까지 프로그램 실행이 계속되지 않음을 의미. FALSE는 운동이 플라이바이 포인트로 끝나며, 프로그램 실행이 계속됨을 의미.

pzone_tcp

num

TCP 영역의 반지름(밀리미터), 영역을 영역의 최소 상대 크기로 정의하는 확장 영역

pzone_ori

num

툴 재위치의 영역 반지름(밀리미터), 반지름을 TCP가 프로그래밍된 점으로부터의 거리로 정의

pzone_eax

num

외부축의 영역 반지름(밀리미터), 반지름을 TCP가 프로그래밍된 점으로부터의 거리로 정의

zone_ori

num

툴 재위치의 영역 반지름(도), 기계팔이 워크피스를 잡고 있는 경우 워크피스에 관한 회전각을 의미

zone_leax

num

선형 외부축의 영역 반지름(밀리미터)

zone_reax

num

회전 외부축의 영역 반지름(도)

시스템에는 미리 정의된 일반적인 모서리 영역 구성이 있으며, 구체적으로 다음과 같습니다:

경로 영역

Zone

명칭

TCP경로

방향

외부축

방향

선형축

회전축

fine

0 mm

0 mm

0 mm

0 mm

z0

0.3 mm

0.3 mm

0.3 mm

0.03°

0.3 mm

0.03°

z1

1 mm

1 mm

1 mm

0.1°

1 mm

0.1°

z5

5 mm

8 mm

8 mm

0.8°

8 mm

0.8°

z10

10 mm

15 mm

15 mm

1.5°

15 mm

1.5°

z15

15 mm

23 mm

23 mm

2.3°

23 mm

2.3°

z20

20 mm

30 mm

30 mm

3.0°

30 mm

3.0°

z30

30 mm

45 mm

45 mm

4.5°

45 mm

4.5°

z40

40 mm

60 mm

60 mm

6.0°

60 mm

6.0°

z50

50 mm

75 mm

75 mm

7.5°

75 mm

7.5°

z60

60 mm

90 mm

90 mm

9.0°

90 mm

9.0°

z80

80 mm

120 mm

120 mm

12°

120 mm

12°

z100

100 mm

150 mm

150 mm

15°

150 mm

15°

z150

150 mm

225 mm

225 mm

23°

225 mm

23°

z200

200 mm

300 mm

300 mm

30°

300 mm

30°

모서리 영역 데이터의 데이터 구조는 다음과 같습니다:

< data object of zonedata >
< finep of bool >
< pzone_tcp of num >
< pzone_ori of num >
< pzone_eax of num >
< zone_ori of num >
< zone_leax of num >
< zone_reax of num >

FANUC

FANUC 시스템은 두 가지 주요 위치결정 타입을 제공합니다: FINE(정밀 위치결정)과 CNT(연속 위치결정). FINE 위치결정 타입은 로봇이 목표 위치에서 완전히 정지한 후에야 다음 목표 위치로 이동할 수 있도록 요구합니다. CNT 위치결정 타입은 로봇이 목표 위치에 접근하지만 해당 위치에서 정지하지 않고 다음 위치 운동 작업을 허용합니다.

faunc zone

YASKAWA

YASKAWA는 위치결정 등급 PL과 코너 반지름 CR을 사용하여 모서리 영역을 제어합니다. 시스템은 FINE 위치결정 타입(로봇이 목표 위치에서 완전히 정지한 후 다음 목표 위치로 이동)과 CNT 위치결정 타입(로봇이 목표 위치에 접근하지만 해당 위치에서 정지하지 않고 다음 위치 운동 작업)을 제공합니다.

KUKA

KUKA 로봇은 다양한 궤적 근사 매개변수를 사용하여 모서리 행동을 제어하며, 서로 다른 운동 타입이 다른 근사 전략을 채택합니다. 시스템은 PTP(점대점), LIN(직선), CIRC(원호) 세 가지 운동 방식을 지원하며, 각 운동 방식마다 해당하는 궤적 근사 구성이 있습니다.

운동 방식과 궤적 근사 매개변수:

운동 방식 적용 매개변수 설명

PTP

C_PTP

PTP 운동에만 사용되는 궤적 근사로, 목표점이 궤적에 의해 근사되도록 함. PTP-PTP 궤적 근사에서는 C_PTP 매개변수만 필요

PTP-CP

C_DIS, C_ORI, C_VEL

PTP에서 데카르트 경로로의 궤적 근사, 여러 매개변수를 조합하여 사용 가능

LIN/CIRC

C_DIS, C_ORI, C_VEL

데카르트 경로 운동의 궤적 근사, 거리, 자세, 속도 매개변수 지원

궤적 근사 매개변수 상세 설명:

매개변수명 적용 운동 단위 매개변수 설명

C_PTP

PTP

%

PTP 운동의 궤적 근사 백분율을 정의하여 목표점에 어느 정도까지 근사할지를 제어

C_DIS

LIN/CIRC/PTP-CP

mm

거리 매개변수, 목표점과의 거리가 $APO.CDIS 값보다 낮을 때 궤적 근사가 가장 빨리 시작됨

C_ORI

LIN/CIRC

°

자세 매개변수, 주도 자세각이 $APO.CORI 값보다 낮을 때 궤적 근사가 가장 빨리 시작됨

C_VEL

LIN/CIRC

%

속도 매개변수, 목표점을 향한 감속 단계에서 속도가 $APO.CVEL 값보다 낮을 때 궤적 근사가 가장 빨리 시작됨

운동 조합과 매개변수 사용:

  • PTP 단독 운동: C_PTP 매개변수만 사용하여 $APO.CPTP로 근사 백분율 설정

  • PTP-CP 조합 운동: C_DIS, C_ORI, C_VEL 매개변수를 사용할 수 있으며, 점대점 운동에서 데카르트 경로로의 부드러운 전환을 실현

  • LIN/CIRC 운동: C_DIS, C_ORI, C_VEL 세 매개변수의 조합 사용을 지원하여 정밀한 궤적 제어를 실현

실제 응용에서:

  • 매개변수 우선순위: 여러 매개변수가 동시에 설정될 때, 시스템은 가장 먼저 조건을 만족하는 매개변수를 궤적 근사의 시작점으로 선택

  • 매개변수 조합: LIN과 CIRC 운동은 여러 매개변수를 조합하여 사용할 수 있어 더 정밀한 궤적 제어를 실현

  • 시스템 변수: 이러한 매개변수에 해당하는 시스템 변수는 각각 $APO.CPTP, $APO.CDIS, $APO.CORI, $APO.CVEL

ROKAE

ROKAE 로봇은 다양한 원활한 전환 거리 설정 방식을 제공합니다. zone 변수는 특정 운동 간격이나 변수로 두 운동 궤적 사이의 모서리 영역 크기를 정의하는 데 사용됩니다. 정지 처리 시, 로봇은 목표점으로 운동하며 목표점에 도달하는 속도가 0이 되고, 그 후에야 다음 명령을 계속 실행합니다. 전환 처리 시, 로봇은 목표점으로 운동하지 않고 목표점에서 몇 distance 밀리미터 떨어진 곳에서 다음 목표점으로 향하는 운동을 시작합니다.

rokae zone

ROKAE 시스템에는 미리 정의된 일반적인 모서리 영역 변수가 있으며, 그 중 직교 좌표계 공간 모서리 영역 크기와 모서리 백분율이 직접적인 대응 관계를 가집니다:

명칭

직교 좌표계 공간 모서리 영역 크기

모서리 백분율

fine

0 mm

0%

z1

1 mm

1%

z5

5 mm

3%

z10

10 mm

5%

z15

15 mm

8%

z20

20 mm

10%

z30

30 mm

15%

z40

40 mm

20%

z50

50 mm

25%

z60

60 mm

30%

z80

80 mm

40%

z100

100 mm

50%

z150

150 mm

75%

z200

200 mm

100%

UR

UR 로봇은 경로 계획에서 모서리 영역(Blend Region) 기능을 지원하며, 모서리 반지름 매개변수 r(단위: m)을 설정하여 부드러운 궤적 전환을 실현합니다. 경로점에 모서리 반지름을 설정하면, 로봇은 해당 점에서 완전히 정지하지 않고 원호 궤적으로 다음 경로 구간으로 부드럽게 전환합니다.

로봇이 모서리 반지름을 설정한 후, 궤적은 경로점 근처에서 원호 전환을 형성하여 급정지 급출발 현상을 피합니다. 원호의 반지름 크기는 궤적의 부드러움 정도와 원래 경로에서 벗어나는 거리에 직접적인 영향을 줍니다. 작은 모서리 반지름은 원래 경로점에 더 가깝지만 운동이 충분히 부드럽지 않고, 큰 모서리 반지름은 운동이 더 유창하지만 예상 궤적에서 더 많이 벗어납니다.

인접한 경로점의 모서리 영역이 겹칠 때 상황이 복잡해집니다. 현재 경로점의 모서리 영역이 이전 또는 다음 경로점의 모서리 반지름과 겹치면, 시스템은 중간 경로점을 건너뛰고 다음 유효한 점으로 직접 연결합니다.

모서리 영역 매개변수 설정은 두 운동점 사이의 거리 크기와 직접적인 관계가 있으므로, 로봇 운동의 부드러움과 효율성을 보장하기 위해 합리적으로 설정해야 합니다.

기계팔 구성 데이터

기계팔 구성 데이터는 로봇의 올바른 운동 제어에 매우 중요하며, 로봇 관절의 현재 상태와 운동 제약을 정의합니다. 이 데이터는 설정이 부적절하여 비전 포인트가 도달 불가능한 문제를 자주 야기합니다.

ABB

ABB는 confdata 데이터 타입을 사용하여 로봇의 축 구성을 정의합니다. 직각 좌표계를 사용하여 기계팔의 모든 위치를 정의하고 저장할 수 있습니다. 컴퓨터가 기계팔의 해법을 계산할 때, 일반적으로 두 가지 이상의 해법이 존재할 수 있으며, 이러한 상황은 기계팔이 여러 가지 다른 위치나 구성을 가질 수 있음을 의미합니다. 가능한 구성 중 하나를 명확히 표현하기 위해, 네 축의 값을 사용하여 로봇 구성을 정의합니다.

회전축의 경우, 이 값은 로봇 축의 현재 사분면을 정의합니다. 사분면은 0, 1, 2 등으로 번호가 매겨지며, 음수도 가능하고, 사분면 번호는 축의 현재 관계와 관련이 있습니다. 6축 로봇의 경우, 사분면 0은 영점에서 시작하여 180°까지의 첫 번째 1/4원, 즉 0°에서 90°까지이고, 사분면 1은 두 번째 1/4원, 즉 90°에서 180°까지이며, 이런 식으로 계속됩니다.

abb status 6

7축 로봇의 경우, 사분면 0은 영점을 중심으로 회전하는 1/4원, 즉 -45°에서 45°까지이고, 사분면 1은 정방향 회전의 두 번째 1/4원, 즉 45°에서 135°까지이며, 이런 식으로 계속됩니다.

abb status 7

선형축의 경우, 이 값은 로봇 축의 해당 미터 수를 설명합니다. 각 축에 대해, 값 0은 0에서 1미터 사이의 위치를 의미하고, 값 1은 1에서 2미터 사이의 위치를 의미하며, 음수의 경우 -1은 -1에서 0미터 사이의 위치를 의미하고, 이런 식으로 계속됩니다.

abb status 1

구성 감독:

일부 로봇 종류의 경우, ConfL\On이 설정되어 있으면 구성 데이터(confdata)도 선형 이동의 프로그래밍된 점을 감독하는 데 사용됩니다. ConfL\On을 사용하지 않고 구성 감시를 실행하면, Confl-관절 이동 중에 구성을 제어합니다.

지정된 운동을 시작하기 전에, 프로그래밍된 구성을 실현할 수 있는지 확인합니다. 불가능하면 프로그램을 중지하고, 운동 완료 시(영역이나 정점에서) 로봇이 프로그래밍된 구성에 도달했는지 확인합니다. ConfL\On을 사용한 구성 감독은 로봇마다 다릅니다.

기계팔 타입 구성 감독 내용

6축 기계팔

제1, 4, 6축이 180도 이상 이동하지 않는지 확인하며, 해당 순서 이동이 cfx 변경 없이 가능한지 확인(cfx는 직렬 연결 로봇에만 사용되며, 병렬 링크 로봇에는 적용되지 않음)

4축 기계팔

축1과 6이 180도 이상 이동하지 않는지 확인

병렬팔 로봇(Delta형 로봇)

축4가 180도 이상 이동하지 않는지 확인

SCARA 로봇

축1과 4가 180도 이상 이동하지 않는지 확인하고, 축2의 플래그도 확인

7축 기계팔

축1, 4, 6이 180도 이상 이동하지 않는지 확인하며, 예정된 이동이 cfx 변경 없이 가능한지 확인

도장 기계팔

구성 감독을 실시하지 않음

기계팔 구성 데이터:

  1. 직렬선이 포함된 6축 기계팔

    로봇 작업 범위 내에 세 개의 경계점이 존재하며, 즉 cf1은 축1의 사분면 번호, cf4는 축4의 사분면 번호, cf6은 축6의 사분면 번호입니다.

    cfx는 0에서 7까지 번호가 매겨진 8가지 가능한 로봇 구성 중 하나를 선택하는 데 사용됩니다. 다음 표는 세 경계점을 기준으로 로봇을 배치하는 다양한 구성에 대해 설명합니다.

    cfx

    축1의 뇌 중심 기준

    하완의 뇌 중심 기준

    축5각

    0

    앞면

    앞면

    1

    앞면

    앞면

    2

    앞면

    뒷면

    3

    앞면

    뒷면

    4

    뒷면

    앞면

    5

    뒷면

    앞면

    6

    뒷면

    뒷면

    7

    뒷면

    뒷면

  2. 평행대가 포함된 6축 기계팔: 구성 매개변수 cf1, cf4, cf6만 사용합니다.

  3. 4축 기계팔: 구성 매개변수 cf6만 사용합니다.

  4. 병렬팔 기계팔: 구성 매개변수 cf4만 사용합니다.

  5. SCARA 로봇: 세 구성 매개변수 cf1, cf4, cfx를 사용합니다. cfx 값을 사용하여 축2 각도의 부호를 나타냅니다. 축2 각도가 음수이면 cfx는 1, 그렇지 않으면 cfx는 0입니다.

  6. 7축 로봇: 네 구성 매개변수를 사용하며, cf1, cf4, cf6은 각각 관절 1, 4, 6에 사용되고, cfx는 8가지 가능한 로봇 구성 중 하나를 선택하는 데 사용됩니다. 방법은 다른 로봇에 사용되는 것과 유사합니다.

    cfx

    축2 각도

    하완의 손목 중심 기준

    축5 각도

    0

    앞면

    1

    앞면

    2

    뒷면

    3

    뒷면

    4

    앞면

    5

    앞면

    6

    뒷면

    7

    뒷면

  7. 도장 기계팔: 네 가지 구성 매개변수를 모두 사용합니다. 각각 인터페이스 1, 4, 6에 대해 cf1, cf4, cf6을 사용하고, 인터페이스 5에 대해 cfx를 사용합니다.

  8. IRB 5500: 네 가지 구성 매개변수를 모두 사용합니다. 각각 인터페이스 1, 4, 6에 대해 cf1, cf4, cf6을 사용하고, cfx 매개변수는 인터페이스 5 사분면 번호와 축2, 축3의 네 가지 가능한 구성을 포함합니다.

  9. IRB 5350: 기계팔에는 두 개의 회전축(팔1과 팔2)과 하나의 선형축(팔3)이 있습니다. cf1은 회전축1에 사용되고, cfx는 회전축2에 사용되며, cf4와 cf6은 사용되지 않습니다.

구성요소:

구성요소 데이터 타입 회전축 선형축

cf1

num

축1의 현재 사분면, 양의 정수 또는 음의 정수로 표현

축1의 현재 간격 미터 수, 양의 정수 또는 음의 정수로 표현

cf4

num

축4의 현재 사분면, 양의 정수 또는 음의 정수로 표현

축4의 현재 간격 미터 수, 양의 정수 또는 음의 정수로 표현

cf6

num

축6의 현재 사분면, 양의 정수 또는 음의 정수로 표현

축6의 현재 간격 미터 수, 양의 정수 또는 음의 정수로 표현

cfx

num

직렬선 기계팔과 7축 로봇의 경우, 기계팔 구성이 0에서 7 범위의 정수로 표현됩니다. + SCARA 로봇의 경우, 기계팔 구성이 0에서 1 범위의 정수로 표현됩니다. + 도장 기계팔의 경우, 축5의 현재 사분면이 양의 정수 또는 음의 정수로 표현됩니다. + 기타 기계팔의 경우, 축2의 현재 사분면을 사용하며, 양의 정수 또는 음의 정수로 표현됩니다.

축2의 현재 간격 미터 수, 양의 정수 또는 음의 정수로 표현

FANUC

FANUC 로봇은 구성을 사용하여 로봇 각 관절의 위치 상태를 지정합니다. 구성은 로봇 주체 부분의 자세를 의미하며, 주어진 직각 좌표값(X, Y, Z, W, P, R)에 대해 일반적으로 조건을 만족하는 여러 구성해가 존재합니다. 유일한 로봇 위치를 결정하기 위해서는 각 축의 관절 구성과 회전수를 명확히 지정해야 합니다.

FANUC 시스템은 로봇의 관절 구성을 다음과 같은 기본 타입으로 분류합니다:

주요 구성 상태:

구성 항목

상태값

설명

FLIP/NOFLIP

LEFT/RIGHT

로봇 손목(J5축)의 뒤집기 상태를 나타내며, 툴의 방향을 결정

UP/DOWN

FRONT/BACK

로봇 팔(J3축)의 위아래 구성을 나타내며, 로봇의 작업 공간 활용에 영향

팔꿈치 관절 상태

UPPER/LOWER

로봇 팔꿈치(J2와 J3축 조합)의 구성 상태를 설명

fanuc status

회전수 범위 정의:

FANUC 시스템은 회전수를 사용하여 회전축이 ±180°를 초과하는 상황을 처리합니다:

회전수값

각도 범위

설명

1

180°~539°

정방향으로 한 바퀴를 초과하는 각도 범위

0

-179°~179°

표준 각도 범위, 회전 없음

-1

-539°~-180°

역방향으로 한 바퀴를 초과하는 각도 범위

FANUC 시스템은 전용 시스템 변수를 사용하여 회전축의 상태를 관리하고 추적합니다:

회전축 상태 변수:

시스템 변수

기능

응용 설명

$SSCR_GRP[group].$TURN_AXIS[1]

제1축(베이스 회전축)의 회전 상태 관리

J1축의 회전수 정보 기록, 다중 회전 위치 구별에 사용

$SSCR_GRP[group].$TURN_AXIS[2]

제2축(어깨축)의 회전 상태 관리

J2축의 회전수 정보 기록, 팔의 구성에 영향

$SSCR_GRP[group].$TURN_AXIS[3]

제3축(팔꿈치축)의 회전 상태 관리

J3축의 회전수 정보 기록, 팔꿈치의 위아래 구성 결정

구성 데이터 구조:

데이터 구성요소

데이터 타입

설명

관절 위치

JOINTPOS

모든 관절의 각도값, 도 단위

구성 플래그

CONFIG

로봇의 현재 구성 상태(FLIP, UP 등)를 설명

회전 정보

TURN

각 축의 회전수, 다중 회전 처리에 사용

유효성 플래그

STATUS

해당 구성이 유효하고 도달 가능한지를 나타냄

YASKAWA

YASKAWA 로봇은 [fig_ctrl]을 사용하여 자세 정보의 포인터(출력)를 가리킵니다. 구문은 다음과 같습니다:

typedef unsigned int BITSTRING;

비트

설명

D00

0:Front  1:Back

D01

0:Upper  arm  1:Lower  arm

D02

0:Flip  1:No  flip

D03

0:R<180  1:R>=180

D04

0:T<180  1:T>=180

D05

0:S<180  1:S>=180

D06-D31

제조업체에  의해  예약됨

KUKA

KUKA 로봇은 POSITION, XYZWPR, XYZWPREXT, JOINTPOS, PATH 등의 데이터 타입을 사용하여 위치 데이터를 표현합니다. POSITION 데이터 타입은 밀리미터 단위의 X, Y, Z 위치값을 나타내는 세 개의 REAL값, 도 단위의 W, P, R 방향을 나타내는 세 개의 REAL값, 관절 위치와 회전수의 구성을 나타내는 4개의 부울값과 3개의 정수로 구성된 하나의 CONFIG 데이터 타입을 포함합니다.

KUKA 로봇의 구성 데이터는 STATUS와 TURN 구성요소를 통해 정의됩니다. TCP 위치(X, Y, Z)와 자세(A, B, C)의 수치만으로는 로봇의 위치를 명확히 규정할 수 없습니다. TCP가 동일하더라도 확정된 위치가 여전히 여러 개 존재할 수 있기 때문에, 상태와 회전 방향을 사용하여 여러 가능한 축 위치 중에서 유일한 위치를 결정합니다.

kuka status 1

STATUS

비트0:정점 영역 검출

축1이 0°에 위치할 때, A1 좌표계는 $ROBROOT 좌표계와 동일합니다. 값이 0°와 같지 않을 때, A1 좌표계는 축1과 함께 움직입니다.

위치

정점 영역

비트0=1

기본 영역

비트0=0

축1이 0°에 위치할 때, A1 좌표계는 $ROBROOT 좌표계와 동일하고, 값이 0°와 같지 않을 때 A1 좌표계는 축1과 함께 움직입니다.

kuka status 2

비트1:축3의 위치 제공

비트1 값이 변경될 때 해당하는 각은 로봇 타입에 따라 다릅니다. 축3과 축4가 관련된 로봇의 경우, 다음이 적용됩니다:

위치

A3≥0°

비트1 =1

A3<0°

비트1=0

축3과 축4가 어긋난 로봇의 경우, 비트1이 변경될 때 해당하는 각은 오프셋 크기에 따라 다릅니다.

kuka status 3

비트2:축5의 위치 제공

위치

A5>0

비트2=1

A5≤0

비트2=0

비트3:사용되지 않음, 항상 0.

비트4:구동 타입 식별

절대 정밀한 로봇으로 점을 티칭했는지를 설명합니다.

설명

이 점은 절대 정밀한 로봇으로 티칭되지 않음

비트4=0

이 점은 절대 정밀한 로봇으로 티칭됨

비트4=1

TURN

TURN 매개변수는 6개의 비트로 각각 6개 축(A1-A6)의 회전 상태에 대응되며, 각 비트는 해당 축이 음의 각도 범위에 있는지를 기록합니다. 이렇게 하면 로봇 각 축이 다중 회전 상황에서의 실제 위치를 정확히 구별할 수 있습니다. 각 비트는 다음과 같이 축값의 양음을 결정합니다:

  • 비트=0:각도≥0°

  • 비트=1:각도<0°

비트5

비트4

비트3

비트2

비트1

비트0

0

A6≥0°

A5≥0°

A4≥0°

A3≥0°

A2≥0°

A1≥0°

1

A6<0°

A5<0°

A4<0°

A3<0°

A2<0°

A1<0°