The robot path — in verbs from cell places
The process engineer names the intent: transfer, flip, weld a seam. Points, poses and checks are derived by the platform from the cell twin.
Motion program: the tooling path through cell places
A motion program describes the path of the tooling — gripper, clamp, torch — through the places of a work cell. The author names the path: where to go, what to take, where to weld. The platform derives the blocks, orientation and axis order.
Cell places — vice, turnover unit, pallet, welding table — live in the twin and are measured by teaching. The program names only the place name, it does not hard-code coordinates.
That is why one program moves between cells with the same place names without editing the text. Having to edit a program for a cell means knowledge about the cell has leaked into the intent.
The program is written in the lab in the browser: code on the left, the cell frame on the right — places, the part in hand, tooling. Recalculation happens on every change.
| Program kind | Path | Coordinates | Tool |
|---|---|---|---|
| Cutting | Derived from the part volume | Part: zero is the top of the blank | A slot table, tool change |
| Motion | Named by the author, each axis by its own setpoint | Cell: places by name | No slots: a gripper or a torch never has them |
How to tell which kind describes a task: does changing the tooling change the path itself? Yes — cutting. No — motion. Welding is not a third kind: the author names the seam, so it is motion with a torch.
What a path is built from
Elementary
Orientation, move, jaws, rotation, smoothing, dwell, phase.
Whole techniques
Transfer, flip, orbit, weld seam, ring seam.
Cell facts
Place and part: coordinates live in the twin and are measured by teaching.
One step of the author’s intent is not one line of G-code: closing jaws and rotation expand into several blocks. Whole techniques expand into the same elementary actions — there is no second truth about the path.
| Verb | The process engineer names | The platform derives | Limitation |
|---|---|---|---|
place place | Cell place name | Coordinates — from the twin, measured by teaching | No such name in the twin — a refusal listing what exists |
part part | Size, place, grip side | Grip point, point above the part, top, centre, span along the grip axis | The place is the support under the part: bottom on the support, top higher by the thickness |
orient orientation | Wrist angles, degrees | Gets into the block only when it changes — modal, as in G-code | Not named — pose from the twin’s start point |
moveTo move | Point and feed | Without feed — rapid, with feed — working move | A numeric point is counted from the program base |
jaws jaws | Open or close; span — optional | Default span is the part width; opening — from the head datasheet | Span not named and not seen before — refusal; force is set by drive commissioning |
rotate rotate | By how much to rotate | The absolute wrist pose, always as a working move | Side grip only: a rapid wrist move drops the part |
dwell dwell | Seconds | — | Duration not named — refusal |
phase phase | Phase name in words | Labels and boundaries on the player timeline | A phase without a name — refusal |
smooth smoothing | Mode and rounding arm, mm | A curve through the points or with corners cut | End points and action points do not move |
transfer transfer | Points A and B, gripper port, part width | Approach, opening, grip, lift, placement, release | The gripper port is mandatory and is not guessed |
flip flip | Which face becomes the support | Axis, angle, flip height and the new part height | Below the minimum — a refusal with a number: half-diagonal plus clearance |
orbit orbit | Around what, offset, sector | An arc on which the head faces the surface; the step comes from the chord tolerance | Jaws empty; an arc through the part envelope — refusal |
weld seam | Seam points or a part to weld around, arc output | Torch path, tilt on contour sides, heat input from the mode | The arc output is mandatory: on an arm with a gripper the first port is the jaw valve |
weldRing circular seam | Joint centre, axis, diameter, offset, work angle | Radius, start point — the farthest from the robot, point step from the tolerance | The arc stops where the arm locks; the rest of the ring is reported as an angle |
What the author names and what comes from the twin
Named by the author
Intent: what we flip, where we place, where the seam is. Not named — a refusal in human words, not a guess.
Taken from the twin
Place, support, jaw span, stick-out, valve port, start point and program base. They are not duplicated in the program text.
Fine-tuned
Flip height, speed, grip side. Each parameter has a default, and it is shown in the verb hint.
The program starts and ends at the twin’s start point — only then can it be put into a project procedure in any order.
Where a guess would cost a part
A refusal — where a guess would cost a part or hardware. A warning — where what is written can be a legitimate intent, but silence about it is not allowed.
| Situation | Reaction | Why |
|---|---|---|
| Flip with a top grip | refusal | A part picked from above has nothing to flip it with — a side grip is needed |
| Close the jaws without naming the span | refusal | The span is a part dimension, not a platform constant |
| The path welds but the arc output is not bound | refusal | Substituting the port would mean the jaw valve twitches instead of the arc |
| Arc and jaws on the same output | refusal | Striking the arc would close the gripper |
| The arc is lit and not extinguished | refusal | The torch would travel to the start point while burning |
| A move named a place that is not in the twin | refusal with the place name | “Go roughly where it was before” is exactly the defect places were introduced to remove |
| Park where the jaws work with the part | refusal with numbers | A “home” inside the fixture separates the arm neither from the part nor from the next program |
| Start point not set | warning | The program starts from wherever the arm is now; it cannot be put into a project procedure |
| The path ends with closed jaws | warning | The part will travel to the start point with the arm — legitimate if it is handed on |
| The path contains a flip | warning | The part’s displacement during a flip depends on gripper stick-out — the program does not know this number |
A flip invalidates the part zero. Between a flip and the next cut of the same part, probing the blank on the same machine is mandatory — otherwise the violation shows up not as a refusal but as a scrapped part.
Flipping a part in place with a clamp
A 200 × 100 × 50 mm part lies in the machine vice. The arm approaches above it at rapid and opens the jaws on the move, descends to the grip point, closes the jaws and waits for the clamp. Then it lifts, flips the part by 180° as a working move, puts it back, releases and goes to the start point.
The same flip is written with one verb flip with the support face “opposite”: the platform calculates flip height, axis and angle from the part size.
| Phase | Verbs | What happens |
|---|---|---|
| approach | moveTo, jaws on the move | At rapid above the part; jaws open, the arm does not stop |
| grip | moveTo, jaws, dwell | To the grip point at feed, close on the part span, dwell before lifting |
| flip | moveTo, rotate | Lift to flip height; flipping — always as a working move |
| placement | moveTo, jaws | Down onto the support, open the jaws |
| return | moveTo | Above the part and on — to the park position |
Program header
Carries what cannot be recovered from coordinates: the orientation convention, tool axis direction, grip method and gripper port.
Knobs
Transfer feed, approach height and flip height are exposed as parameters with a range and step — they are tuned without editing the text.
Jaws before start
The program opens the jaws before moving to the start point and returns there with the part released.
The head is a full participant in the configuration
Tooling is not a label on a diagram. The head itself declares what it needs from the machine or robot. Change the gripper model in the catalogue and the configuration changes, with no second place to keep track of.
| The head declares | Details |
|---|---|
| Its own axes | Jaw travel, wire feed, turret rotation, table tilt. They move separately from the kinematics: jaws do not take part in the inverse solution, wire feed does not move the tool point. |
| Its own signals | “Open”, “clamped sensor”, “arc start”, “shutter”, “power setpoint” — with meaning, direction, type and channel. The physical address is assigned by the engineer during commissioning. |
| Its own spindle | A cutter on the robot flange, a grinding head: the spindle arrives with the head and leaves with it. |
| Its own variant | The jaws are driven by pneumatics or a servo drive, the cutter is changed by hand or automatically. The variant is chosen in the card settings, and signals and the change procedure follow from it. |
| What it can do | A milling program requires a head able to mill — no kinematics can outvote that. |
Tooling kinds
Head, torch, gripper, clamp, vice, chuck. A clamp, vice and chuck have the actuator as a variant: manual, pneumo-hydraulic or electric.
Palletizer tooling
A “smart clamp”: servo plates, forks, suction cups — one tooling kind with its own axes and signals.
Numbers are not invented on the manufacturer’s behalf
Until the model datasheet arrives, tooling axis limits are marked as provisional — and the mark is printed into the configuration file itself, where the commissioning engineer reads it.
A breed is kinematics, not a brand
“6-axis arm” is a breed; the manufacturer’s name and “with a positioner” are data of a specific instance. Two arms with the same kinematics are one type, even on drives from different makers: the difference lives in the twin’s datasheet.
| Builder | Axes | What it is | Maturity |
|---|---|---|---|
| 6-axis arm | X Y Z A B C | An articulated industrial robot. Geometry by a DH table: one builder serves any 6R arm. Until drives are assigned, the axes are virtual | experimental |
| Welding robot | X Y Z A B C | The same 6R arm with a MIG/MAG torch; the datasheet has wire feed and travel speed. With a two-axis positioner the table makes a circular seam while the torch stays still | experimental |
| Hexapod | 6 struts → X Y Z A B C | A platform on six linear struts, full pose | experimental |
| Tripod | Z + 2 tilts | Three linear cylinders hold the head: in sync — feed, apart — tilt | experimental |
| Linear delta | 3 carriages → X Y Z | A platform on three rods; the tool always vertical | experimental |
Motion — yes, volume cutting — no
An articulated arm has no straight Cartesian axis: flat G-code on it would not mean what is drawn. Transfer, placement and a welding pass are programmed as motion.
The unsuitable does not disappear
A machine unsuitable for the program kind stays in the list with the reason named: a research run is sometimes needed, and a silent ban explains less.
Where it is verified
Breed kinematics are verified on virtual axes; the 6-axis arm and the welding positioner — also on live test bench servos.
From program to arm motion
- Create“Programs → Motion → New program”, machine chosen once. The list splits machines by suitability: for cutting or with a gripper on the flange.
- WriteLab: verbs on the left, the cell in 3D on the right. Saving shows a counter of check errors, warnings and notes.
- Check before startAir cuts, plunges, collisions and fit are calculated with one set of maths over one mechanism description. A motion run is judged to the end of the program.
- Set up and sendThe test bench and axis profiles are made current, mode — virtual axes or drives, checks listed by name.
- Start and monitorThe configuration is generated from the twin, homing, the program — step by step. The monitor shows coordinates and 3D from actual data; “Stop” is one command in every window.
Virtual axes
No bus, no torque: check the program and block order with no risk.
Drives
Real servos over EtherCAT, torque applied only inside a motion step. The same thing, but the hardware answers.
The hardware’s answer
A button’s reply only proves the request was accepted. The fact — position, following error, drive status word — is taken from another channel and shown on screen.
What works and what is worked out in the implementation
- RunsMotion verbs and pre-start checks in the lab, start on virtual axes, a welding positioner on live test bench servos.
- Experimental level6-axis arm, welding robot, hexapod, tripod, linear delta — kinematics verified on virtual axes; on your cell it is worked out in the implementation.
- No number from you — no numberPart sizes, gripper stick-out and welding modes come from your datasheet and the implementation specification.
Robots, positioners and gripper — per the manufacturer’s datasheet
Geometry, axes and limits of the models are taken from the manufacturer’s datasheet or STEP. Every model is marked “per datasheet”: on the bench their axes run on virtual axes.
| Manufacturer · model | Kind | Axes | Mark |
|---|---|---|---|
| KUKA KR16 | arm | 6 | per datasheet |
| CRP RA18-25 | arm | 6 | per datasheet |
| CRP RH15-15-HP | milling robot | 6 | per datasheet |
| CRP RP32-180 | palletiser | 4 | per datasheet |
| CRP RS04-03 | SCARA | 4 | per datasheet |
| CRP WB1K-500, WB1S-750, WB2S-250, WB3S-500 | welding positioners | 1–3 | per datasheet |
| CRP WD250-6000 | linear track | seventh axis | per datasheet |
| MotoPos D500 | tilt-rotate positioner | 2 | per datasheet |
| Robotiq 2F-85 | two-finger gripper | one actuator | per datasheet |
| KUKA KR16 + CRP WB2S-250 | composite kind: arm and positioner | arm 6 + positioner | per datasheet |
Our control drives the axes
The robot model in the twin moves by the platform’s program; the axes are driven by our control, on the bench — virtual axes.
No post-processors
There are no post-processors into robot languages: the program is not exported to the manufacturer’s robot controller, and we do not claim control of that controller.
Your model
A model that is not in the library is assembled from the manufacturer’s STEP; scope and timing — as agreed during the implementation.
Discuss an implementation
Describe the cell — robot, tooling, places and part. We will build it in the twin and propose an R&D stage with price and timeline.
Request accessDiscuss an implementation
Describe the unit or line — we will tell you what we will verify and in what time. Target indicators are fixed in the implementation specification.
Request access