주요 내용으로 이동

매크로 파일 형식

이 절에서는 이미 녹화된 내용을 더 자세히 살펴보겠습니다. .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/sF0.0010804
F0.0150
파#.#####각속도(이송 속도), 단위는 rad/sFa0.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를생략한 경우, 재생 시 지정된 축(예: 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 명령어를 함께 사용하여 로봇이 이 두 축을 따라만 이동하도록 하는 방법을 보여줍니다.

제 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
}