매크로 파일 형식
이 섹션에서는 매크로 파일 형식에 대해 보다 상세하게 개괄적으로 설명합니다. .hrpr 저장됨.
파일을 열 때 .hrpr 기록된 내용을 보면, 일련의 헤더 필드 뒤에 시간 단위별로 정리된 거래 내역 데이터가 표시됩니다.
헤더에는 다음 키들이 포함되어 있습니다:
FORMAT_VERSION: 파일 형식의 버전을 지정하십시오.hrpr.PROGRAM_NAME: 파일이 저장된 전체 경로를 입력하십시오. 구분 기호\et/멜랑제, 그리고//반복되더라도 파일 해석에는 영향을 미치지 않습니다.DATE: 레코드의 생성 날짜를 입력하십시오.SAMPLE_RATE: 녹음 빈도를 지정하십시오. HARP 는 다음 빈도로 녹음합니다. 초당 100개 샘플 (100 Hz).POSITION_LEADER: 기기 식별 Inverse3 녹음 중에 포지션 리더로 활용되었다.ORIENTATION_LEADER: 기기 식별 VerseGrip ou 루코 촬영 중 방향 안내자로 사용되었습니다.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 명령을 명시하는 한 줄은 로봇을 해당 절대 직교 좌표 위치로 이동시킵니다.
- 어떤 좌표가 omise, 로봇은 해당 축에 대해 현재 값을 유지합니다.
- 예를 들어, 명령어에서 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 높이
이 예제는 하나의 명령어로axe 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축.N3etN4~만 업데이트하고axe Z.N5업데이트됨도끼 X 그리고 이송 속도를 조정합니다.N6다음 두 가지를 동시에 업데이트했습니다.Y축 그리고 l'axe 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
}