매크로 파일 형식
이 섹션에서는 기록된 내용에 대해 보다 심층적인 개요를 제공합니다. .hrpr 매크로 파일 형식.
녹화된 파일을 열면 .hrpr 파일을 열면 일련의 헤더 필드가 표시되고, 그 뒤에는 시간 단계별로 정리된 기록된 모션 데이터가 나열되어 있습니다.
헤더에는 다음과 같은 키들이 포함되어 있습니다:
FORMAT_VERSION: 의 버전을 지정합니다..hrpr파일 형식.PROGRAM_NAME: 파일이 저장된 전체 경로를 지정합니다. 혼합\그리고/구분 기호뿐만 아니라 반복되는//, 파일 해석에는 영향을 미치지 않습니다.DATE: 녹화 파일이 생성된 날짜를 나타냅니다.SAMPLE_RATE: 녹음 주파수를 지정합니다. ‘ HARP ’는 다음 주파수로 녹음합니다. 초당 100개 샘플 (100 Hz).POSITION_LEADER: 다음을 식별합니다. Inverse3 녹화 중 위치 리더로 사용된 장치.ORIENTATION_LEADER: 다음을 식별합니다. VerseGrip 또는 루코 녹화 중에 방향 안내 역할을 하는 장치.FOLLOWERS: 녹화에 포함된 연결된 기기를 나열합니다. 예를 들어,cg_0~을 가리킴 대조군 0, 그리고 괄호 안의 값은 해당 제어 그룹 내의 팔로워 슬롯을 나타냅니다.DESCRIPTION: 녹음과 관련된 선택 사항인 자유 형식 설명을 저장합니다.
헤더에 이어, 기록된 동작 데이터는 아래 표에 설명된 형식을 사용하여 저장됩니다.
| 필드 | 뜻 | 예 |
|---|---|---|
| N# | 프레임 번호 | N1 N169 |
| 티# | 밀리초 단위의 유닉스 타임스탬프로 표시된 시간 | t1788878409547 |
| {...} | 한 프레임을 포함합니다. 각 팔로워 라인은 ,로 끝납니다. 파일을 재생하려면 최소한 하나의 완전한 블록이 필요합니다. | {cg_0::Follower(0): ... cg_0::Follower(1): ...} |
| X Y Z | 미터 단위의 공구 위치 좌표 | X 0.1183887, Y -0.0375092, Z 0.1076392 |
| rW rX rY rZ | 쿼터니언으로 표현된 공구의 방향 | rW 0.1575889 rX -0.160 rY 0.973 rZ -0.051 |
| 에프#.##### | 선속도(이송 속도), m/s | F0.0010804 F0.0150 |
| 파#.##### | 각속도(이송 속도), 단위: rad/s | Fa0.2586200 Fa1.0053328 |
| J6[#,#,#,#,#,#] | 라디안 단위의 관절 각도 | J6[0.403, 0.157, 1.000, -0.936, 0.214, 0.977] |
| JV6[#,#,#,#,#,#] | 관절 속도 | JV6[0.000 0.000 0.000 0.000 0.000 0.000] |
선의 해석 방법
- X, Y, Z 명령을 지정하는 줄은 로봇을 해당 절대 직교 좌표 위치로 이동시킵니다.
- 좌표가 다음과 같으면 생략됨, 로봇은 해당 축에 대해 현재 값을 유지합니다.
- 예를 들어, 명령어에서 X가 생략된 경우, 재생 시 현재 X 위치를 유지한 채 Y, Z와 같이 지정된 축만 업데이트됩니다.
- 이 파일 형식은 의도적으로 유연하게 설계되어, 각 행에 변경이 필요한 축이나 값만 포함할 수 있도록 되어 있습니다.
- 기존 항목을 편집할 때
.hrpr파일, 다음을 사용하십시오 다른 이름으로 저장 원본 파일을 보존하고, 수정한 매크로의 별도 버전을 생성하기 위해.
예시
서식
다음 예시는 기록된 내용의 일부를 보여줍니다. .hrpr 헤더 정보와 기록된 동작 샘플을 포함하는 매크로 파일:
(FORMAT_VERSION: 1)
(PROGRAM_NAME: C:\Users\demo\Documents\user\projects\demo\raw//2026-8-14_12-13-19.hrpr)
(DATE: 2026/09/14)
(SAMPLE_RATE: 100)
(POSITION_LEADER: 051D)
(ORIENTATION_LEADER: 1451)
(FOLLOWERS:
cg_0::Follower(0): Mecademic Industrial Robotics SERIAL (arm);
cg_0::Follower(1): Mecademic Industrial Robotics PARALLEL (end_effector);
)
(DESCRIPTION: a story of two machines)
N1 t1789402399210 {
cg_0::Follower(0): X0.1183887 Y0.0375092 Z0.1076392 rW0.1575889 rX-0.160 rY0.973 rZ-0.051 F0.0008606 Fa0.9414008 J6[0.403,0.157,1.000,-0.936,0.214,0.977] JV6[0.000,0.000,0.000,0.000,0.000,0.000] ,
cg_0::Follower(1): J1[4.800] ,
}
...
안전한 Z축 높이
이 예제는 하나의 Z축 명령어는 다음 줄에 추가할 수 있습니다. N4 다른 축의 위치를 변경하지 않고 로봇을 지정된 Z 위치로 이동시키기 위해.
생략된 축 값은 그대로 유지되므로, 이 단계에서는 Z축만 업데이트됩니다.
N1 t1 {
0: X0.184 Y0.004 Z0.141 rW0.0498 rX-0.032 rY0.998 rZ-0.024 F0.00200 Fa0.005
}
N2 t10 {
0: X0.184 Y0.022 Z0.141 rW0.0498 rX-0.032 rY0.998 rZ-0.024
}
N3 t20 {
0: X0.184 Y0.022 Z-0.052 rW0.049 rX-0.032 rY0.998 rZ-0.024
}
N4 t31 {
0: Z0.600
}
N5 t41 {
0: X-0.005 Y0.022 Z-0.6 rW0.049 rX-0.032 rY0.998 rZ-0.024 F0.00010 Fa0.400
}
N6 t51 {
0: X-0.005 Y-0.054 Z0.000 rW0.049 rX-0.032 rY0.998 rZ-0.024
}
XY 이동
이 예제는 X 및 Y 명령을 함께 사용하여 로봇을 해당 두 축을 따라만 이동시키는 방법을 보여줍니다.
행에서 N5, X축과 Y축의 값만 업데이트됩니다. 생략된 나머지 축들은 모두 현재 값을 유지합니다.
N1 t1 {
0: X0.184 Y0.004 Z0.141 rW0.0498 rX-0.032 rY0.998 rZ-0.024 F0.00200 Fa0.005
}
N2 t10 {
0: X0.184 Y0.022 Z0.141 rW0.0498 rX-0.032 rY0.998 rZ-0.024
}
N3 t20 {
0: X0.184 Y0.022 Z-0.052 rW0.049 rX-0.032 rY0.998 rZ-0.024
}
N4 t31 {
0: X0.184 Y0.022 Z-0.600 rW0.049 rX-0.032 rY0.998 rZ-0.024 F0.00010 Fa0.400
}
N5 t41 {
0: X-0.005 Y0.022
}
N6 t51 {
0: X-0.005 Y-0.054 Z0.000 rW0.049 rX-0.032 rY0.998 rZ-0.024
}
매크로 최적화
다음 예제는 변경이 필요한 값만 각 명령에 포함되도록 최적화된 매크로를 보여줍니다.
- 로봇의 방향은 시퀀스 전체에 걸쳐 변하지 않습니다.
- 첫 번째 명령은 지정된 이송 속도를 사용하여 로봇을 목표 자세까지 이동시킵니다.
N2다음 항목만 업데이트합니다. Y축.N3그리고N4다음 항목만 업데이트합니다. Z축.N5다음 내용을 업데이트합니다. X축 그리고 이송 속도를 변경합니다.N6다음 두 가지를 모두 업데이트합니다. Y축 그리고 Z축.
변경되지 않는 값을 생략함으로써 매크로는 더 간결해지고, 읽거나 수정하기가 더 쉬워집니다.
N1 t1 {
0: X0.184 Y0.004 Z0.141 rW0.0498 rX-0.032 rY0.998 rZ-0.024 F0.00200 Fa0.005
}
N2 t10 {
0: Y0.022
}
N3 t20 {
0: Z-0.052
}
N4 t31 {
0: Z-0.600
}
N5 t41 {
0: X-0.005 F0.00010 Fa0.400
}
N6 t51 {
0: Y-0.054 Z0.000
}