ELIKO // SYS
X 000  Y 000 OP_MODE AUTO

LIVE

DobotWeld

A full external toolkit for a welding cobot. Hundreds of parameters changed from a browser, a simulation of every move, and welder features the official plugin never had.

2026 · Welding cell integration · Industrial robotics, Business automation

About

A welding cell with a collaborative robot and a MIG welder, welding rectangular frames in several models and any size within limits. Enter the model, size and profile and the program computes every pose, probes the real part before each weld area and shows every move on screen before the robot makes it. Settings live in one file the operator edits from the browser.

Why I built it

This is one of the most demanding things I have built, and for a long time the one I explained worst. The welding itself was never the problem. The problem was a robot program with hundreds of parameters that could only be changed by editing code on the controller and running it blind, and a vendor plugin that drew a hard line around what the welder was allowed to do. So I built around it. A complete external toolkit that reads the program's own parameter file, lets me change any value from a browser, plays every move as a simulation before the robot makes it, and talks to the welder directly, which is how the cell gained touch sensing the plugin never offered. Debugging a tangled program became a matter of looking at a screen and editing the number where it is shown.

What it does

Hundreds of parameters, one screen
Welding data, offsets and geometry edited in the browser and written back to the program's own file.
Simulation before motion
Every probe and every weld played on the fixture table, in execution order.
Features the plugin did not have
The welder is driven directly over the fieldbus, which made touch sensing possible.
Debug at the programmer's level
Every coordinate shown as the sum of its terms, each term editable where it appears.
No teaching
Model, size and profile in, every pose out. The wire touches the part first, so the weld lands where the frame really is.
Two passes when needed
Seams out of reach in one setup wait for the flip.

How it works

The operator enters a product in the browser. The robot program computes a frame per corner and every pose, probes each area, welds it, and waits for the flip before the remaining seams.
The operator enters a product in the browser. The robot program computes a frame per corner and every pose, probes each area, welds it, and waits for the flip before the remaining seams.

Built with

Lua 5.4 · Dobot CR20A · Lorch MIG over Modbus TCP · Dobot welding plugin (patched) · JavaScript · SVG 3D preview · Node.js test suites

At a glance

ROBOT
Dobot CR20A cobot, Lorch MIG welder over Modbus TCP
PARTS
Rectangular frames of L or O profile, 5 models, any size within limits
CALIBRATION
The welding wire touches the part before every weld area
HMI
Browser page that reads and writes the robot program's own settings
TESTS
About 1,000 checks hold the preview to the robot's real geometry
STACK
Lua 5.4 on the controller, JavaScript, SVG, Node.js, PowerShell

My role. Wrote the robot program, the operator HMI and the test tooling as sole developer.

Screens

Welding data as one matrix, edited without touching code.
Welding data as one matrix, edited without touching code.
Every coordinate shown as the sum of its terms, each one editable where it is shown.
Every coordinate shown as the sum of its terms, each one editable where it is shown.
The exact run in execution order, each probe before the weld it serves.
The exact run in execution order, each probe before the weld it serves.
One form drives the whole job, and the preview plays every move on the fixture table.
One form drives the whole job, and the preview plays every move on the fixture table.
Touch sensing planned before it runs. Expected contact points and how far the wire will search.
Touch sensing planned before it runs. Expected contact points and how far the wire will search.
The second pass after the flip. The robot probes the corner again before welding the seams it could not reach.
The second pass after the flip. The robot probes the corner again before welding the seams it could not reach.