9. Playback
Playback executes motion files (*.hrpr) and is designed around a G‑code‑inspired format. The system reads each line and moves the robot accordingly. Timing information from recordings is preserved as the dynamically recorded feedrates so motions play back on the same time scale as captured. But this can be modified.
9.1 What does it look like?
Below is a small recording snippet with 2 recorded data points - to learn specifics about the data see Appendix B
At a glance:
- X,Y,Z - Meters
- rW,rX,rY,rZ - Vector
- F , Fa - mm / second
- J6 - 6 Joint angles for a 6 axis robot (J7 for 7 axis robot) **
- JV6 - Future use - 6 Joint velocities (currently not used) **
**Currently not used during playback, can be deleted without issue during playback
(FORMAT_VERSION: 1)
(PROGRAM_NAME: C:\Users\<name>\Documents\MyFirstProject\raw//2026-1-1_00-00-01.hrpr)
(DATE: 2026/01/01)
(SAMPLE_RATE: 100)
(POSITION_LEADER: PositionLeader)
(ORIENTATION_LEADER: OrientationLeader)
(FOLLOWERS:
cg_0::Follower(0): Mecademic Industrial Robotics SERIAL (arm);
cg_0::Follower(1): Mecademic Industrial Robotics PARALLEL (end_effector);
)
(DESCRIPTION: a project description)
N1 t1772573522829 {
cg_0::Follower(0): X0.1078963 Y-0.0755224 Z0.2131267 rW0.0235749 rX-0.031 rY0.999 rZ-0.015 F0.0005945 Fa0.2586210 J6[-30.614,8.691,-7.440,0.044,85.576,-34.208] JV6[0.000,0.000,0.000,0.000,0.000,0.000] ,
cg_0::Follower(1): J1[5.520] ,
}
N2 t1772573522839 {
cg_0::Follower(0): X0.1078963 Y-0.0755224 Z0.2131267 rW0.0235749 rX-0.031 rY0.999 rZ-0.015 F0.0005945 Fa0.2586210 J6[-30.614,8.691,-7.440,0.044,85.576,-34.208] JV6[0.000,0.000,0.000,0.000,0.000,0.000] ,
cg_0::Follower(1): J1[5.520] ,
}
9.2 How Lines Are Interpreted
- A line that specifies X, Y, and Z moves the robot to that absolute position.
- If a coordinate is omitted, the robot retains the current value for that axis.
- Example: Removing X from a line means playback will move in Y/Z only, keeping the current X.
- The format is intentionally permissive so you can include only the axes you intend to change.
9.3 Editing for Targeted Moves
- If you're editing an existing *.hrpr file, use the Save As functionality to version your changes. This helps avoid losing a path that had most of your path correct before your changes
- Z‑only moves: Leave Z and remove X/Y.
- XY‑only moves: Leave X/Y and remove Z.
- Keep edits minimal and test at low speed with conservative workspace limits (Section 5.4) before production use.
9.4 Using Playback with Macros
- You can assign a playback file to a Macro (Section 6.5) so it runs at the press of a button.
- A confirmation prompt appears before execution to avoid accidental activations.
9.5 Safety & Troubleshooting
- Be ready to press Stop (or Esc) if the motion isn’t as expected.
- Verify the robot’s pose before playback; omitted axes will not be overridden.
- If a path doesn’t behave as expected, review the edited lines for missing or mistyped axes and compare timestamps with Event Stream (6.3 Event Stream).