Which kind of robustness test finds which collisions? A comparison on a real body-shop station (anonymized: robots R1..R5, subprograms U1..U4).
Find all possible collisions of the open station: baseline run, work zones, check interlocks, then write and run a robustness test plan with Live 3D. Give me the report.This replaces the manual steps:
- send all robots to HOME (Folge 125),
- baseline run of the Folge (times, waiting, request races),
- calculate the work zones,
- Check interlocks,
- export the anonymized study, give it to an AI assistant and copy its answer,
- write or import the robustness test plan,
- run the robustness test with Live 3D and wait,
- open the report and sort out the collision cases.
Data: with the anonymous mode (
/anonymous on) the chat sends
identifiers (R1, R2 …, <file N>, <name>) instead of the real names to the model – like the
anonymized study – and the whole study still runs by itself. Without it the chat asks before the first real data are
sent.Station A
5 robots: R1, R4, R5 spot welding, R2, R3 brushing. One Folge on all robots, started by the station SPS, 5 pairs of interlock zones, cycle time about 72 s. Dummy tools (sphere in the TCP and body from the flange to the TCP). Work zones from the triangles of the 3D models, Live 3D collision check with 20 mm cells, warning below 50 mm.
Known collision places (reference)
| Motion without interlock | Partner | When it collides | |
|---|---|---|---|
| A | R5 U2/P47..P49 (weld point P49) | R3 U4/P18..P24 | R5 stays in P49 (weld error) |
| B | R1 U1/P7..P8 | R2 U4/P11..P12 | already in the normal cycle, dummy tool on dummy tool 5..13 mm (no collision on the line – approximation of the dummy tools) |
| C | R1 U1/P36 | R3 U4/P7..P12 | R3 waits 7.5 s or more in U4/P7 |
| D | R5 U2/P45..P64 (zone released too early) | R3 U4/P19..P24 | R5 waits 7.5 s or more before P45 |
| E | R5 U2/P91..P111 (back in the corner, zone not requested again) | R2 U4/P19..P24 (second brushing) | R2 is about 20 s late |
| N | R1 U1/P9..P10 (near B) | R2 U4/P12 | new place predicted by the AI agent: R2 releases zone 1 too early (U4/P10) |

Test kinds and results
| Test | How | Time | Speed | Cases (3D contact / zone risk / close) | A | B | C | D | E |
|---|---|---|---|---|---|---|---|---|---|
| Fixed plan | stop in a weld point, one robot slow in the shared areas | 18 min | 100 % | 13 (7 / 4 / 2) | yes | yes | no | yes | no |
| Random generator | no knowledge of the station: override 20..100 %, random stops 5..40 s, start jitter | 45 min | 100 % | 57 (25 / 25 / 7) | no | yes | no | no | yes |
| AI agent plan | the agent got the anonymized study with the result of the baseline run (its collision cases, among them B and contacts of A) and wrote 7 targeted steps | 10 min | 400 % | 44 (18 / 21 / 5) | yes | yes | yes | yes | yes |
| Delay test (MISSING) | every motion without interlock separately, the partner or the robot waits 5..60 s, halving to 2 s | about 5 h for all 20 motions (100 %) | 100 % | shortest delay per motion | C and D: 7.5 s (first 4 motions tested) | ||||
Conclusions
- The random generator finds real places, but only the ones that chance hits.
- The plan of an AI agent from anonymized data (motions without interlock, shared areas, times and the collision cases of the baseline run) found all five places in 10 minutes and a new one it had predicted. The agent knew some of the places already from the baseline run – the plan deepens known places (more points, the disturbance that makes them certain). It is therefore no proof that an agent finds unknown places better than the other kinds; a comparison with a study without the results of the simulation (only work zones and Check interlocks): see Request races and variant B.
- The delay test is the most exact (from how many seconds of delay it collides) – a test for the night; it can be interrupted and continued later.
- 400 % with the Live 3D collision check finds the same places as 100 % in a quarter of the time.
- A contact already in the normal cycle that does not happen on the line points to the approximation of the dummy tools – load the 3D models of the real tools.
Request races and variant B
Same station, same zones (triangles), Live 3D with 20 mm cells, 400 %, before every test all robots to HOME with Folge 125. The list of the known places above was not given to the AI agent. A and D are counted together (same pair R5 U2/P45..P64 – R3 U4/P18..P24, other cause of the delay).
| Test | Input | Time | Cases (3D / close / zones) | A/D | B | C | E | N |
|---|---|---|---|---|---|---|---|---|
| Random generator, 30 min limit | no knowledge of the station | 44 min | 33 (14 / 4 / 15) | yes | yes | no | yes | no |
| AI agent without results – round 1 | study without results of the simulation, Check interlocks without COLLISION | 64 min | 51 (25 / 8 / 18) | yes | yes | no | yes | yes |
| AI agent – round 2 | anonymized results of round 1 (disturbances, cycle times, cases) | 46 min | 60 (35 / 8 / 17) | yes | yes | no | yes | no |
| AI agent – round 2B | the steps of round 2, each with variant B of the race at zone 4 | 43 min | 120 (54 / 17 / 49) | yes | yes | no | yes | no |
In round 2 the agent found that R2 and R5 request zone 4 at almost the same moment (about 1 s): whichever comes first changes the order of the whole station, and a plan of stops cannot rule this out. Since 2026-10-17 the simulation detects such request races, and the robustness test can run variant B (the other robot first) with raceOrder.
A/B race test (baseline 2 cycles, then 2 cycles per step, no disturbances). Races found in every step:
| Zone | Robots (points) | Smallest difference | Winner in the simulation |
|---|---|---|---|
| 4 | R2 U4/P5 – R5 U2/P5 | 0.40 s | R2 |
| 1 | R3 U4/P3 – R5 U2/P5 | 0.66 s | R3 |
| 5 | R1 U2/P2 – R2 U4/P2 | 0.86 s | R2 |
| Step | Station cycle time | Remarks |
|---|---|---|
| baseline, A (no rule) | 72.1 s | order of the simulation: R2 before R5 at zone 4 |
| B1 (zone 4: R2 first) | 72.1 s | = A, R2 wins anyway |
| B2 (zone 4: R5 first) | 84.3 s (+12.2 s, +17 %); later with the rule per cycle 82.3 s | R2 waits in U4/P5 for R5; no new collisions without disturbances |
| B3 (zone 4: order R2 → R5) | 72.1 s | = A |
Round 2 and round 2B (the same 8 steps; in round 2B every step with zone 4: R5 before R2, mode order):
| Step | Cycle round 2 | Cycle round 2B | Cases round 2 | Cases round 2B |
|---|---|---|---|---|
| baseline | 72.1 s | 72.1 s | 4 | 4 |
| R5 stop U2/P44 6 s | 78.3 s | 82.4 s | 4 | 25 |
| R5 stop U2/P44 12 s | 84.2 s | 84.3 s | 27 | 47 |
| R5 slow in the shared areas | 139.3 s | 139.3 s | 18 | 19 |
| R5 stops in U2/P55 | 112.3 s | 112.3 s | 13 | 13 |
| R5 stops in U2/P61 | 112.3 s | 112.3 s | 13 | 13 |
| R4 weld stop U2/P18 | 96.6 s | 94.9 s | 4 | 15 |
| R2 process stop U4/P20 | 350.7 s | 373.7 s | 18 | 18 |
| random stops, 2 cycles | 75.6–108.1 s | 82.3–84.4 s | 4 | 40 |
| sum of the cases | 60 | 120 (3D 54 / close 17 / zones 49) |
Known places found in both rounds: A/D, B, E. C and N not (N was found only in round 1).
Conclusions
- The order at the race for zone 4 decides about 10 s of the station cycle time (72 s or 82..84 s). Fix the order in the cell: request the zone one exact point earlier in the robot that should get it first, or give a priority in the SPS (simulate it with the same Interlock priority block).
- Variant B shows twice as many collision cases – mainly at the same places at other moments, not new places.
- C was not found by any method without knowing the results of the simulation (only the delay test (MISSING) and the plan of the agent with the baseline results found it); N was found without results only in round 1, not in rounds 2 and 2B.
- Open point: the order protection at a race (Keep the order of the robots at a request race) adds Interlock priority blocks in the baseline step of the robustness test (here zone 5: R2 before R1, zone 1: R3 before R5) and keeps this order in all following steps. The robustness test is meant to change the order of the robots – the kept order can hide cases (round 2 still ran without this protection, so round 2B differs by variant B and by the kept order of zones 1 and 5). Until this is decided: test variant B on purpose with raceOrder and switch the protection off for robustness tests (Plugin settings > Simulation > Keep the order of the robots at a request race).