Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Improve KUKA Connector with C3 Bridge Interface

Greetings everyone.
First of all, I would like to thank the RoboDK team for a great product. Even though I had the opportunity to use the trial version, I appreciated the features of your program. I have some thoughts about connecting RoboDK to KUKA robots.

Right now the connection to KUKA is done with KUKAVARPROXY. It's a pretty non-trivial process that involves installing KUKAVARPROXY along with its dependencies (.ocx files require registration in the robot control system with regsvr32), editing robot configuration files to create global variables (COM_ACTION and others), loading a special KRL program, running it on the robot and monitoring its execution with the KUKA smartPAD.
And the result of all this is only the ability to read and write values of KRL variables (which is exactly what RoboDK does).
In this case, in fact, RoboDK controls the robot "blindly". If the KRL program is not running or its contents are different from what you need, RoboDK is left without any control.

[Image: logo.png]

In 2020, after a long reverse engineering of the robot control system, I finally created my own product, the C3 Bridge Interface Server, for remote control of KUKA robots.
I would like to point out that you can use C3 Bridge Interface instead of KUKAVARPROXY right now, because I used the same protocol. RoboDK already works perfectly with C3 Bridge.

But C3 Bridge has several advantages:
  • It's written in C++, it's very fast, requires no dependencies, and runs on any Windows system including Windows 95.
  • Starting, stopping and restarting a KRL program.
  • Selecting and canceling a KRL program.
  • File system functions (create, delete, rename programs, write programs to the control system and read already written programs).
  • Well documented protocol.
  • C3 Bridge Interface Server is an open source product under the MIT license.
  • There are two freeware clients: C3 Control Panel and C3 Easy Control which allow you to control the robot and even convert SVG drawings into KRL programs for later drawing.
  • There is a client API library for C# (though not so relevant for you).
I think you can greatly expand the functionality of the RoboDK KUKA Connector, for example by adding the following functions:
  • Automatic search for the robot's IP address, automatic connection
  • Proxy server detection: KUKAVARPROXY (limited functionality) or C3 Bridge (full functionality).
  • Automatic writing of the KRL-program to the robot's control system, verification of the program content, preparation of the control system to start the program.
  • Control of program execution, operational and emergency stop.
I am ready to help your team with this, if possible. For example, C3 Control Panel and C3 Easy Control are also written in Qt (like RoboDK). I have an established code base. What do you think?

Best regards,
Dmitry Lavygin
PhD, Senior Researcher
S.P. Kapitsa Research Institute of Technology, Ulyanovsk State University, Russian Federation

[1] Project website:
[2] C3 Bundle (all my programs in one archive):
[3] GitHub / C3 Bridge Interface Server:
[4] C3 Application Protocol Specification:
[5] Screenshots / C3 Easy Control:
[6] Screenshots / C3 Control Panel:
[7] C# Client Interface:


Hi Dmitry,

Your KUKA driver looks great, thank you for sharing! I'm sorry we never gave you any feedback but the RoboDK team and I took a look at your project and it looks promising. We have been recommending some customers to take a look at your project.

Would you allow us to integrate your C3 Bridge driver with the default RoboDK Install?

Thank you,

Quote:Would you allow us to integrate your C3 Bridge driver with the default RoboDK Install?

Yes, that would be great!

But please keep the information about me as the author of C3 Bridge. This is especially important to me right now because I'm looking for a new job.

Users browsing this thread:
2 Guest(s)