ros-industrial/universal_robot — pull request #117 by ipa-fxm (2014-09-30 12:51:07+00:00)
Title: [Hydro] Issue106 use rtci to reduce load in prog

This PR is a major change in the ```ur_driver``` package.

It solves issue #106!
(The problem that caused #106 was a "Possible CPU-overload due to structure of user program")

This PR now uses the UR controller socket connections on port 30002 (10Hz) and port 30003 (125Hz) with the respective UniversalRobot protocol (see ```deserialize.py``` and ```deserializeRT.py```) in order to get rid of **all** the ```socket_send_int``` calls in ```prog```.

- ```/joint_states``` and ```/wrench``` are still published at 125 Hz using the same types as before, i.e. ```sensor_msgs/JointState``` and ```geometry_msgs/WrenchStamped```

- DigitalInput and DigitalOutput are published on ```/io_states``` at 10 Hz.

- Unfortunately, (UR-Script/Software-)Flags are not present in neither port 30002 nor 30003. However, as the Flags are only used in UR-Scripts but in ```prog``` they are **not** used, I decided to remove support for flags!

The PR thus restores a *usable* version of the ```ur_driver.py```

As already mentioned in #106, the IO-Support needs a significant revision in order to reflect e.g. analog_input/output_range/domain as can be seen in the MasterboardData structure of ```deserialize.py```