Path tools - TCP path length, motion time, arcs
The point table of a VKRC, KRC and Fanuc program has a submenu Path (TCP) in its context menu. It calculates how the TCP really moves between the points of the program - straight lines, circular arcs, PTP motions and the approximation (Überschleifen, CNT, C_DIS) - and uses it for measuring, checking and inserting points.

English DReS - Path Tools: TCP path length, motion time and seam checks (YouTube, English)   |   Deutsch DReS - Path Tools: Bahnlänge, Fahrzeit und Nahtprüfung (YouTube, Deutsch)
VKRC glue program: points P13 and P195 selected, context menu of the point table with the submenu Path (TCP).

▲ Which motions are used

The path follows the motions in the order of the file: every motion fold (VKRC, KRC) or motion line (Fanuc) is one step, from the target point of the previous motion to its own target point. Subprogram calls, loops and jumps are not followed. A point used several times in the program appears several times on the path.

Functions that work on a range (motion time, approximation, long segments, switch points, CSV) use the part of the program from the first to the last use of the selected points. With fewer than two selected points they use the whole program.

▲ Path length of selected motions

Select two or more points that are used one after another in the program (e.g. the points of one glue seam) and choose Path (TCP) » Path length of selected motions. The window shows every motion with If the selection consists of several separate parts of the program, their lengths are summed. Copy puts the table into the clipboard (for Excel), Save CSV... writes it to a file.

Sum of selected rows - in the result windows of the path length, motion time, long segments and CSV export you can select rows with the mouse (click, Shift+click, Ctrl+click). The line above the table shows at once the number of selected rows and their summed length and time, e.g. the length and the time of one part of a seam.
Path length P13 - P195: 205 motions, 4824.9 mm along the path (4837.2 mm without approximation); 7 rows selected - their length 257.3 mm is shown above the table.


▲ Path length from first to last selected point

It is enough to select the first and the last point, e.g. the start and the end of a seam. The whole path between them is measured, including all points that are not selected.

▲ Estimated motion time

For every motion the time is calculated from the path length and the programmed speed: Two values are shown: PTP motions (speed in %), motions with time or angular speed and unknown speeds are not included; their number is shown in the window. The acceleration can be changed in the settings file, group Path_Tools, key CP_Acceleration_mm_s2.
Estimated motion time P13 - P195: 16.35 s at the programmed speed, 16.48 s with acceleration and braking; 8 selected rows: 1.015 s, 304.1 mm.


▲ Arc information

For every circular motion (CIR, KCIR, SCIR, CIRC, C) whose target or auxiliary point is selected: radius, angle, arc length, chord, centre point and the position of the auxiliary point along the arc (50 % = in the middle). Remarks warn about The start point of the arc is the target point of the previous motion. For Fanuc C P[a] : P[b] P[a] is the via point and P[b] the target.
Two KCIR motions of a VKRC glue seam: radius, angle, arc length, chord, position of the auxiliary point and centre.


▲ Point deviation from neighbours

Distance of the selected point from the straight line through the previous and the next point, and the change of direction in the point. A point on a straight seam should have a deviation close to 0 - this helps to find points that "jump out" after touch up.

▲ Check approximation

The controller never starts the approximation earlier than in the middle of the neighbouring motions. If Genau (VKRC), C_DIS (KRC) or CR / CD (Fanuc) is larger than half of the incoming or outgoing motion, it is reduced - silently. The path then passes closer to the point than programmed, and the length and the time change. The window lists all points with the approximation given in mm, and marks the points where the programmed distance cannot be reached. VE % and CNT are not checked.
Genau = 50 mm at motions of 10 - 50 mm: the controller reduces the approximation at 204 points.


▲ Find long segments

Lists the motions longer than the given length (default 50 mm - the usual maximum distance between glue points). The length is the geometric length without approximation.

▲ Check switch points

Switch points with a distance in mm are compared with the length of the motion they lie in: A positive distance lies after the point, in the next motion; a negative distance lies before the point, in the motion to the point. A switch point outside its motion is marked as an error.
All 38 switch points of the seam lie inside their motions.


▲ Insert point on path at distance

Select one point and choose Insert point on path at distance.... The new point is placed on the motion after the selected point, at the given distance from it (the dialog shows the length of the motion; the default is the middle). The position lies exactly on the straight line, the orientation is interpolated between both points (as the robot does it on a LIN motion), the linear axis E1 is interpolated, too. A point can be inserted only in a linear motion. Switch points (Schaltpunkte) of the neighbouring points keep their distances, which now refer to the shorter motion - check them with Check switch points. The function uses the same licence as Add point in the Robot View.
Insert a point 29.2 mm after P119 on the motion P119 - P120 (58.35 mm).
VKRC: the new fold KLIN P229 (line 133) with the data of the seam; its deviation from the path is 0.00 mm.
Fanuc: point editor with the calculated coordinates and the motion L P[33] 200mm/sec CD10 ACC100 RTCP.


▲ Export path to CSV

Table of all motions of the range with the segment lengths, the cumulative length s, speed, approximation and time - for documentation or further analysis in Excel.

▲ How the path is calculated and how accurate it is

MotionModelAccuracy
LIN, KLIN, SLIN, Lstraight lineexact
CIR, KCIR, SCIR, CIRC, Ccircle through the start, auxiliary and target pointexact
PTP, KPTP, SPTP, Jstraight line in joint space (synchronous PTP), TCP path from the forward kinematics every ≤ 0.5°good, requires the kinematics in the robot configuration
Genau [mm], C_DIScorner replaced by a curve from the distance d before to d after the point, d limited to half of the neighbouring motionsapprox. - KUKA does not publish the shape of the curve; the difference to a tangential arc is 0.01 mm at 30°, 0.2 mm at 60° and about 1 mm at a 90° corner (d = 20 mm)
VE %, CNT, CR / CD, C_VEL, C_ORI, PTP approximationsame curve, distance estimated estimate - the real rounding depends on speed and acceleration

The length is calculated in the TOOL / BASE (UT / UF) of the target point of every motion - with a stationary gun (external TCP) this is the path on the part. Motions with a change of TOOL or BASE are calculated without approximation and marked as estimate.

Not modelled: a stop of the advance run (e.g. WAIT FOR, WARTE BIS), which cancels the approximation, spline motions (SPL), CIRC with circle angle CA, Fanuc INC, Offset / Tool_Offset / VOFFSET (estimate), UF:F / UT:F.

For a typical glue seam (KLIN / KCIR, Genau ≈ VB / 5, small changes of direction) the model differs from the programmed geometry only in the approximation curves, so the error of the length is expected to be well below the error of the former point-to-point (chord) measurement. It has not yet been compared with a trace of a real robot.

▲ How accurate is the motion time?

The motion time is an estimate, not a cycle time. The real robot controller plans every motion with acceleration and jerk limits, axis speed limits, reduced speed during reorientation and in the approximation, and a program contains waits, handshakes with the PLC and technology times. The estimate is closest to reality for long CP motions (glue, sealing) at constant speed; for short motions the real time is longer.

The path tools do not calculate a cycle time. They give a fast, transparent estimate directly in the editor - useful to compare variants, to find slow parts of a seam and to check a program before the robot is available.

▲ Licence and demo mode

The path tools use the licence of the editor of the robot: VKRC for VKRC programs, KRC for KRC programs and VFanuc for Fanuc programs. Insert point on path at distance uses the licence of Add point in the Robot View.

Without the licence the path tools work in demo mode: This is enough to try every function on a part of a real program; the full range and the export of the results require the licence.