Universal Robots Forum

URCaps Daemon Issues

My experience is in embedded software, C and various assembly languages. I have no prior experience with Linux (except at the user level), Python, Maven, or the frameworks that you are using in your example. I did write some Polyscope scripts for a UR robot here last year, and I have used Eclipse and Java before.

I am trying to write a simple URCaps daemon.

I have been over and over the examples in the SDK. I can build the daemon under Eclipse, make simple changes such as changing the “Welcome to Polyscope” message, deploy them, and see the that the changes took effect under the UR simulator.

What I can’t seem to do is something that seems like it ought to be very simple, such as: This is a daemon, where is the code that actually runs continuously?

I have a device that every 8 ms writes a set of Modbus registers into the UR controller using its Modbus interface.

All I need to do in the daemon is:

  1.   Open a connection to UR RTDE (port 30004). Turn off the Nagle Algorithm.
  2.   Periodically read the UR Controller Modbus registers and write the converted values back to the UR Controller using RTDE:

a. Wait for new data by monitoring a UR Modbus register
b. When new data arrives, read some more UR Modbus registers
c. Do some data conversions on the data
d. Put the data into a UR type VECTOR6D variable.
e. Send the variable to the UR Control Box.

Can you give me some advice on what to do to get this project going?

I was able to use the instructions for the SDK to build and deploy the actual example.

It is not clear to me how to modify the daemon code to do what I want.

For example, where is the part of the SDK daemon that actually runs continuously?