Universal Robots+

C4A1: Communication with controller lost on CB3.0 robot


We are experiencing the C4A1 error frequently on a CB3.0 robot with Polyscope 3.13 when using our URCap.
The service manual mentions overloading the communication between the Safety Control Board and Motherboard as a possible reason, but what does it mean exactly, and which software versions are affected?
Our URCap contains a daemon process with some functions written in pure C++ that run quickly and requires very little cpu and memory, so I would exclude this module from the possible reasons. On the other side, the main robot program performs a lot of calculations, written in pure URScript, but URScript is running inside the URControl process, so that should not overload the communication either.

So my question: in what cicrumstances can the communication be overloaded and how can we locate the problem?

Additional info: in older Polyscope versions, we experienced often the runtime error β€œThe program used too much time without instructing the robot what to do.” This error seems to be removed from recent Polyscope versions, but is it possible that C4A1 is a side-effect of this improvement?

1 Like

Hi @csaba,

I think there are several issue that can cause C4A1. If the issue is caused be high load on the URController due to your calculations, I will recommend you to insert some "sync()"s if you do not need the answer immediately.


1 Like

Thanks for your answer @Ebbe, are there any simulation tools available for reproducing such communication overloads without a real robot? URSim does not include the simulation of the communication with the safety subsystem, as far as I know.

No, the embedded safety part is not a part of the simulation. I am not aware if anyone have tried to make a guest system that is targeting to deliver processing power equal to the robot(s). But since the also OS differs I will assume it to be a challenge to make identical.