매크로 데이터 형식
이 섹션에서는 녹화된 파일의 형식에 대해 보다 상세하게 설명합니다. .hrpr-매크로 파일.
녹화된 .hrpr-파일을 열면 일련의 헤더 필드가 표시되고, 그 뒤에는 시간 단위별로 분류된 기록된 이동 데이터가 나열됩니다.
헤더에는 다음과 같은 키가 포함되어 있습니다:
FORMAT_VERSION: 다음의 버전이 있나요?.hrpr- 파일 형식 an.PROGRAM_NAME: 파일이 저장된 전체 경로를 지정합니다. 혼합 구분 기호\그리고/그리고 반복된//파일의 해석에 영향을 미치지 않습니다.DATE: 녹화물이 생성된 날짜를 나타냅니다.SAMPLE_RATE: 기록 주파수를 나타냅니다. HARP 는 초당 100개의 샘플링 값 (100 Hz) auf.POSITION_LEADER: 해당 장치를 표시합니다 Inverse3, 녹화 중에 위치 리더로 사용된 것입니다.ORIENTATION_LEADER: 해당 장치를 표시합니다 VerseGrip 또는 루코, 녹화 중에 방향 안내용으로 사용된 것입니다.FOLLOWERS: 녹화본에 포함된 팔로워 기기를 나열합니다. 예를 들어,cg_0auf 대조군 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[#,#,#,#,#,#] | Radiant의 관절 각도 | 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를 생략하면, 재생은 지정된 축(예: Y 및 Z)만 업데이트하고 현재 X 위치는 그대로 유지합니다.
- 이 파일 형식은 의도적으로 유연하게 설계되었습니다. 각 행에는 변경이 필요한 축이나 값만 포함되어야 합니다.
- 기존의
.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 높이
이 예제는 몇 번째 줄에서 어떻게 하는지 보여줍니다. N4 한 명의 Z축-명령을 추가하면, 나머지 축의 위치를 변경하지 않고 로봇을 지정된 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 명령을 함께 사용하여 로봇을 이 두 축을 따라만 이동시키는 방법을 보여줍니다.
Zeile에서 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
}