[robot]_algo.json 파일의 파라미터 설명
[robot]_algo.json은 로봇 구성 파일입니다. 로봇의 다양한 파라미터의 정보를 기록하고 로봇의 분류, 각 연결봉의 DH 파라미터, 각 관절 운동의 상한 및 하한, 각 관절의 시작 위치 및 회전 방향 등 내용을 결정합니다.
다음은 [robot]_algo.json 파일의 일부 코드입니다.
{
"algo_type": "SphericalWrist_SixAxis",
#DH parameters [meter]
"dh": [ A, B, C, D, E, F ],
"dhPassive": [ A1X, A1Z, B0X, B0Z, B2X, B2Z ],
#joint limits [degree]
"min_limits": [ J1 min, J2 min, J3 min, J4 min, J5 min, J6 min ],
"max_limits": [ J1 max, J2 max, J3 max, J4 max, J5 max, J6 max ],
"link3_dynamic_limits": [Min, Max],
#joint positions at standard pose [degree]
"mastering_joints": [ J1, J2, J3, J4, J5, J6 ],
#joint orientations [0/1]
"axis_flip": "J1J2J3J4J5J6",
#robot base location [meter,meter,meter,degree,degree,degree]. If robot has not been moved, robot base frame equals to World frame.
"robot_frame_in_robot_base_frame": [ x, y, z, rx, ry, rz ],
#robot flange frame orientation [x/y/z]
"flange_frame_orientation": "z"
}
[robot]_algo.json 파일 내용
로봇 구성
파라미터 |
algo_type |
예시 |
"algo_type": "SphericalWrist_SixAxis" |
설명 |
로봇 구성.
|
로봇 DH 파라미터
파라미터 |
dh |
예시 |
"dh": [ 0.465, 0.2, 0.88, 0.21, 1.100, 0.225 ] |
설명 |
로봇의 능동관절의 DH 파라미터.
|
파라미터 |
dhPassive |
설명 |
로봇의 피동관절의 DH 파라미터. 정의와 계산 방식은 로봇 구성 내용을 참조하십시오.
|
로봇 관절 범위
파라미터 |
minlimits |
예시 |
"min_limits": [ -160, -65, -77, -360, -125, -360 ] |
설명 |
이 파라미터는 로봇 각 축의 동작 범위의 최솟값을 정의합니다. |
파라미터 |
maxlimits |
예시 |
"max_limits": [ 160, 120, 90 , 360, 125, 360 ] |
설명 |
이 파라미터는 로봇 각 축의 동작 범위의 최댓값을 정의합니다. |
|
파라미터 |
link3_dynamic_limits |
예시 |
"link3_dynamic_limits": [-204,80] |
설명 |
동적 리미트 파라미터. |
파라미터 |
link4_dynamic_limits |
설명 |
동적 리미트 파라미터. |
로봇의 각 축은 0°일 때의 포즈
파라미터 |
mastering_joints |
예시 |
"mastering_joints": [ -90, 0, 0, 0, 0, 90 ] |
설명 |
이 파라미터는 로봇의 각 축은 0°일 때의 포즈를 정의합니다.
|
KUKA와 같은 일부 로봇의 경우, J2 및 J3의 값이 0일 때 Mech-Viz 소프트웨어의 기본적인 포즈가 아니므로 mastering_joints 중의 J2 및 J3 파라미터를 조정해야 합니다. |
로봇 각 축의 회전 방향
파라미터 |
axis_flip |
예시 |
"axis_flip": "101010" |
설명 |
이 파라미터는 로봇 각 축의 회전 방향을 정의합니다. |
|
로봇 좌표계 파라미터
파라미터 |
robot_frame_in_robot_base_frame |
설명 |
이 파라미터는 로봇 베이스를 기준으로 로봇 기준 좌표계의 위치를 정의합니다. |
|
로봇 플랜지 좌표계 방향
파라미터 |
"robot_flange_orientation": "x/y/z" |
예시 |
"robot_flange_orientation": "x" |
설명 |
TURIN과 같은 일부 브랜드의 로봇의 경우, 플랜지 좌표계는 일반적인 상황에서 Z축의 바깥쪽 방향 대신 X축의 바깥쪽 방향을 향합니다. 파라미터 "robot_flange_orientation": "x"를 구성함으로써 로봇 플랜지 좌표계의 방향을 x방향으로 수정할 수 있습니다. 이 파라미터가 설정되지 않은 경우, 기본적으로 로봇 플랜지 좌표계의 방향은 Z축의 바깥쪽 방향입니다. |
새로 만든 로봇을 사용할 때의 주의사항
새로 만든 로봇 모델을 사용하는 경우 실제 로봇에서 다음 파라미터를 확인해야 합니다:
-
axis_flip
Mech-Viz에서 로봇 축의 회전 방향이 실제 로봇과 일치하는지를 확인합니다.
-
dh
다음 두 가지 방법을 사용하여 Mech-Viz에서 시뮬레이션된 로봇과 실제 로봇의 포즈 데이터가 일치하는지 비교합니다.
-
관절 각도를 동기화하여 말단장치 포즈와 비교합니다.
-
말단장치 포즈를 동기화하여 관절 각도와 비교합니다.
실제 로봇의 dh 파라미터가 파라미터 파일 속의 이론값에 가까울수록 로봇의 정밀도가 높아집니다. 일반적으로 ≤1mm의 오류가 허용됩니다.
-
-
mastering_joints
Mech-Viz에서 시뮬레이션된 로봇의 포즈 데이터가 실제 로봇의 포즈 데이터와 일치하는지 비교하고 확인합니다.
검사하는 동안 축 1, 4, 6에 특별한 주의를 기울여야 합니다.
-
min_limits/max_limit
Mech-Viz에서 시뮬레이션된 로봇의 포즈 데이터가 실제 로봇의 포즈 데이터와 일치하는지 확인해야 합니다.
소프트 리미트는 실제 로봇의 하드 리미트보다 크면 안됩니다.