# Problem in building workspace with last ROS 2 updates

**URL:** <https://forum.universal-robots.com/t/problem-in-building-workspace-with-last-ros-2-updates/32029>\
**Category:** ROS\
**Created:** [January 8, 2024, 7:01pm UTC](https://forum.universal-robots.com/t/problem-in-building-workspace-with-last-ros-2-updates/32029 "2024-01-08T19:01:51Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![francesco.semeraro](https://avatars.discourse-cdn.com/v4/letter/f/da6949/32.png) [@francesco.semeraro](https://forum.universal-robots.com/u/francesco.semeraro)\
**Post date:** [January 8, 2024, 7:01pm UTC](https://forum.universal-robots.com/t/problem-in-building-workspace-with-last-ros-2-updates/32029/1 "2024-01-08T19:01:51Z")

</div>

Hi,

I have been using the UR driver with ROS 2 Humble. After some updates of ROS2 libraries, I am not able to run the “ros2 launch ur\_robot\_driver ur\_control.launch.py” to connect to the robot via URCap which has been working over the past 10 months with no issue.  
This manifests in two different ways. With the humble branch of the driver the ur\_controllers package build fails.

## ‘’’ Starting \>\>\> ur\_dashboard\_msgs Starting \>\>\> ur\_description Starting \>\>\> ur\_msgs Starting \>\>\> ur\_client\_library Finished \<\<\< ur\_description [0.86s] Starting \>\>\> ur\_moveit\_config Finished \<\<\< ur\_client\_library [1.13s] Finished \<\<\< ur\_moveit\_config [1.35s] Finished \<\<\< ur\_msgs [2.33s] Finished \<\<\< ur\_dashboard\_msgs [4.75s] Starting \>\>\> ur\_controllers — stderr: ur\_controllers /home/francesco/workspace/ros\_ur\_driver/src/Universal\_Robots\_ROS2\_Driver/ur\_controllers/src/scaled\_joint\_trajectory\_controller.cpp: In lambda function: /home/francesco/workspace/ros\_ur\_driver/src/Universal\_Robots\_ROS2\_Driver/ur\_controllers/src/scaled\_joint\_trajectory\_controller.cpp:98:9: error: ‘joints\_angle\_wraparound\_’ was not declared in this scope 98 | if (joints\_angle\_wraparound\_[index]) { | ^~~~~~~~~~~~~~~~~~~~~~~~/home/francesco/workspace/ros\_ur\_driver/src/Universal\_Robots\_ROS2\_Driver/ur\_controllers/src/scaled\_joint\_trajectory\_controller.cpp: In member function ‘virtual controller\_interface::return\_type ur\_controllers::ScaledJointTrajectoryController::update(const rclcpp::Time&, const rclcpp::Duration&)’: /home/francesco/workspace/ros\_ur\_driver/src/Universal\_Robots\_ROS2\_Driver/ur\_controllers/src/scaled\_joint\_trajectory\_controller.cpp:120:55: error: ‘rt\_has\_pending\_goal\_’ was not declared in this scope 120 | if (current\_external\_msg != _new\_external\_msg && (_(rt\_has\_pending\_goal\_.readFromRT()) && !active\_goal) == false) { | ^~~~~~~~~~~~~~~~~~~~ /home/francesco/workspace/ros\_ur\_driver/src/Universal\_Robots\_ROS2\_Driver/ur\_controllers/src/scaled\_joint\_trajectory\_controller.cpp:137:3: error: ‘read\_state\_from\_state\_interfaces’ was not declared in this scope; did you mean ‘read\_state\_from\_command\_interfaces’? 137 | read\_state\_from\_state\_interfaces(state\_current\_); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| read\_state\_from\_command\_interfaces /home/francesco/workspace/ros\_ur\_driver/src/Universal\_Robots\_ROS2\_Driver/ur\_controllers/src/scaled\_joint\_trajectory\_controller.cpp:140:7: error: ‘has\_active\_trajectory’ was not declared in this scope 140 | if (has\_active\_trajectory()) { | ^~~~~~~~~~~~~~~~~~~~~ /home/francesco/workspace/ros\_ur\_driver/src/Universal\_Robots\_ROS2\_Driver/ur\_controllers/src/scaled\_joint\_trajectory\_controller.cpp:184:35: error: ‘rt\_is\_holding\_’ was not declared in this scope 184 | if (!before\_last\_point && \*(rt\_is\_holding\_.readFromRT()) == false && cmd\_timeout\_ \> 0.0 && | ^~~~~~~~~~~~~~/home/francesco/workspace/ros\_ur\_driver/src/Universal\_Robots\_ROS2\_Driver/ur\_controllers/src/scaled\_joint\_trajectory\_controller.cpp:184:76: error: ‘cmd\_timeout\_’ was not declared in this scope 184 | if (!before\_last\_point && \*(rt\_is\_holding\_.readFromRT()) == false && cmd\_timeout\_ \> 0.0 && | ^~~~~~~~~~~~ /home/francesco/workspace/ros\_ur\_driver/src/Universal\_Robots\_ROS2\_Driver/ur\_controllers/src/scaled\_joint\_trajectory\_controller.cpp:189:62: error: invalid use of void expression 189 | traj\_msg\_external\_point\_ptr\_.initRT(set\_hold\_position()); | ~~~^~ /home/francesco/workspace/ros\_ur\_driver/src/Universal\_Robots\_ROS2\_Driver/ur\_controllers/src/scaled\_joint\_trajectory\_controller.cpp:200:15: error: ‘rt\_is\_holding\_’ was not declared in this scope 200 | \*(rt\_is\_holding\_.readFromRT()) == false) { | ^~ /home/francesco/workspace/ros\_ur\_driver/src/Universal\_Robots\_ROS2\_Driver/ur\_controllers/src/scaled\_joint\_trajectory\_controller.cpp:207:15: error: ‘rt\_is\_holding\_’ was not declared in this scope 207 | \*(rt\_is\_holding\_.readFromRT()) == false) { | ^~~~~~~~~~~~ /home/francesco/workspace/ros\_ur\_driver/src/Universal\_Robots\_ROS2\_Driver/ur\_controllers/src/scaled\_joint\_trajectory\_controller.cpp:270:11: error: ‘rt\_has\_pending\_goal\_’ was not declared in this scope 270 | rt\_has\_pending\_goal\_.writeFromNonRT(false); | ^~~~~~~~~~~~~~~~~~~~/home/francesco/workspace/ros\_ur\_driver/src/Universal\_Robots\_ROS2\_Driver/ur\_controllers/src/scaled\_joint\_trajectory\_controller.cpp:275:64: error: invalid use of void expression 275 | traj\_msg\_external\_point\_ptr\_.initRT(set\_hold\_position()); |~~~^~ /home/francesco/workspace/ros\_ur\_driver/src/Universal\_Robots\_ROS2\_Driver/ur\_controllers/src/scaled\_joint\_trajectory\_controller.cpp:284:13: error: ‘rt\_has\_pending\_goal\_’ was not declared in this scope 284 | rt\_has\_pending\_goal\_.writeFromNonRT(false); | ^~~~~~/home/francesco/workspace/ros\_ur\_driver/src/Universal\_Robots\_ROS2\_Driver/ur\_controllers/src/scaled\_joint\_trajectory\_controller.cpp:289:49: error: ‘set\_success\_trajectory\_point’ was not declared in this scope 289 | traj\_msg\_external\_point\_ptr\_.initRT(set\_success\_trajectory\_point()); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/francesco/workspace/ros\_ur\_driver/src/Universal\_Robots\_ROS2\_Driver/ur\_controllers/src/scaled\_joint\_trajectory\_controller.cpp:297:13: error: ‘rt\_has\_pending\_goal\_’ was not declared in this scope 297 | rt\_has\_pending\_goal\_.writeFromNonRT(false); | ^~~~~~~~~~~~~~~~~~~~/home/francesco/workspace/ros\_ur\_driver/src/Universal\_Robots\_ROS2\_Driver/ur\_controllers/src/scaled\_joint\_trajectory\_controller.cpp:303:66: error: invalid use of void expression 303 | traj\_msg\_external\_point\_ptr\_.initRT(set\_hold\_position()); |~~~^~ /home/francesco/workspace/ros\_ur\_driver/src/Universal\_Robots\_ROS2\_Driver/ur\_controllers/src/scaled\_joint\_trajectory\_controller.cpp:306:55: error: ‘rt\_has\_pending\_goal\_’ was not declared in this scope 306 | } else if (tolerance\_violated\_while\_moving && \*(rt\_has\_pending\_goal\_.readFromRT()) == false) { | ^~~~~~/home/francesco/workspace/ros\_ur\_driver/src/Universal\_Robots\_ROS2\_Driver/ur\_controllers/src/scaled\_joint\_trajectory\_controller.cpp:311:62: error: invalid use of void expression 311 | traj\_msg\_external\_point\_ptr\_.initRT(set\_hold\_position()); |~~~~~~~~~~~~~~~~~^~ /home/francesco/workspace/ros\_ur\_driver/src/Universal\_Robots\_ROS2\_Driver/ur\_controllers/src/scaled\_joint\_trajectory\_controller.cpp:316:62: error: invalid use of void expression 316 | traj\_msg\_external\_point\_ptr\_.initRT(set\_hold\_position()); | ~~~~~~~~~~~~~~~~~ ^~ gmake[2]: \*\*\* [CMakeFiles/ur\_controllers.dir/build.make:76: CMakeFiles/ur\_controllers.dir/src/scaled\_joint\_trajectory\_controller.cpp.o] Error 1 gmake[2]: \*\*\* Waiting for unfinished jobs… gmake[1]: \*\*\* [CMakeFiles/Makefile2:223: CMakeFiles/ur\_controllers.dir/all] Error 2 gmake: \*\*\* [Makefile:146: all] Error 2

Failed \<\<\< ur\_controllers [13.2s, exited with code 2]

Summary: 5 packages finished [19.5s]  
1 package failed: ur\_controllers  
1 package had stderr output: ur\_controllers  
4 packages not processed  
‘’’  
If I roll back to branch 657c035, the build is successful. However, when I try to run the launch file mentioned before, this error is returned.

‘’’  
[INFO] [launch]: All log files can be found below /home/francesco/.ros/log/2024-01-08-18-57-54-705269-francesco-ThinkPad-P53-63192  
[INFO] [launch]: Default logging verbosity is set to INFO  
[INFO] [dashboard\_client-2]: process started with pid [63197]  
[INFO] [controller\_stopper\_node-3]: process started with pid [63199]  
[INFO] [ur\_ros2\_control\_node-1]: process started with pid [63195]  
[INFO] [robot\_state\_publisher-4]: process started with pid [63201]  
[INFO] [spawner-5]: process started with pid [63203]  
[INFO] [spawner-6]: process started with pid [63205]  
[INFO] [spawner-7]: process started with pid [63207]  
[INFO] [spawner-8]: process started with pid [63209]  
[INFO] [spawner-9]: process started with pid [63211]  
[INFO] [spawner-10]: process started with pid [63213]  
[controller\_stopper\_node-3] [INFO] [1704740275.460835212] [Controller stopper]: Waiting for switch controller service to come up on controller\_manager/switch\_controller  
[ur\_ros2\_control\_node-1] [WARN] [1704740275.476935181] [controller\_manager]: [Deprecated] Passing the robot description parameter directly to the control\_manager node is deprecated. Use ‘~/robot\_description’ topic from ‘robot\_state\_publisher’ instead.  
[ur\_ros2\_control\_node-1] text not specified in the tf\_prefix tag  
[ur\_ros2\_control\_node-1] [INFO] [1704740275.477944664] [resource\_manager]: Loading hardware ‘ur5e’  
[ur\_ros2\_control\_node-1] [INFO] [1704740275.481917416] [resource\_manager]: Initialize hardware ‘ur5e’  
[ur\_ros2\_control\_node-1] [INFO] [1704740275.482800448] [resource\_manager]: Successful initialization of hardware ‘ur5e’  
[ur\_ros2\_control\_node-1] terminate called after throwing an instance of ‘std::runtime\_error’  
[ur\_ros2\_control\_node-1] what(): Wrong state or command interface configuration.  
[ur\_ros2\_control\_node-1] missing state interfaces:  
[ur\_ros2\_control\_node-1]  
[ur\_ros2\_control\_node-1] missing command interfaces:  
[ur\_ros2\_control\_node-1] ’ hand\_back\_control/hand\_back\_control\_cmd ’ ’ hand\_back\_control/hand\_back\_control\_async\_success ’ ’ force\_mode/task\_frame\_x ’ ’ force\_mode/task\_frame\_y ’ ’ force\_mode/task\_frame\_z ’ ’ force\_mode/task\_frame\_rx ’ ’ force\_mode/task\_frame\_ry ’ ’ force\_mode/task\_frame\_rz ’ ’ force\_mode/selection\_vector\_x ’ ’ force\_mode/selection\_vector\_y ’ ’ force\_mode/selection\_vector\_z ’ ’ force\_mode/selection\_vector\_rx ’ ’ force\_mode/selection\_vector\_ry ’ ’ force\_mode/selection\_vector\_rz ’ ’ force\_mode/wrench\_x ’ ’ force\_mode/wrench\_y ’ ’ force\_mode/wrench\_z ’ ’ force\_mode/wrench\_rx ’ ’ force\_mode/wrench\_ry ’ ’ force\_mode/wrench\_rz ’ ’ force\_mode/limits\_x ’ ’ force\_mode/limits\_y ’ ’ force\_mode/limits\_z ’ ’ force\_mode/limits\_rx ’ ’ force\_mode/limits\_ry ’ ’ force\_mode/limits\_rz ’ ’ force\_mode/type ’ ’ force\_mode/disable\_cmd ’ ’ force\_mode/force\_mode\_async\_success ’ ’ force\_mode/damping ’ ’ force\_mode/gain\_scaling ’   
[robot\_state\_publisher-4] [INFO] [1704740275.484414143] [robot\_state\_publisher]: got segment base  
[robot\_state\_publisher-4] [INFO] [1704740275.484555236] [robot\_state\_publisher]: got segment base\_link  
[robot\_state\_publisher-4] [INFO] [1704740275.484569697] [robot\_state\_publisher]: got segment base\_link\_inertia  
[robot\_state\_publisher-4] [INFO] [1704740275.484577632] [robot\_state\_publisher]: got segment flange  
[robot\_state\_publisher-4] [INFO] [1704740275.484584711] [robot\_state\_publisher]: got segment forearm\_link  
[robot\_state\_publisher-4] [INFO] [1704740275.484592052] [robot\_state\_publisher]: got segment ft\_frame  
[robot\_state\_publisher-4] [INFO] [1704740275.484599170] [robot\_state\_publisher]: got segment shoulder\_link  
[robot\_state\_publisher-4] [INFO] [1704740275.484606129] [robot\_state\_publisher]: got segment tool0  
[robot\_state\_publisher-4] [INFO] [1704740275.484613201] [robot\_state\_publisher]: got segment upper\_arm\_link  
[robot\_state\_publisher-4] [INFO] [1704740275.484620159] [robot\_state\_publisher]: got segment world  
[robot\_state\_publisher-4] [INFO] [1704740275.484627078] [robot\_state\_publisher]: got segment wrist\_1\_link  
[robot\_state\_publisher-4] [INFO] [1704740275.484633995] [robot\_state\_publisher]: got segment wrist\_2\_link  
[robot\_state\_publisher-4] [INFO] [1704740275.484640825] [robot\_state\_publisher]: got segment wrist\_3\_link  
[ERROR] [ur\_ros2\_control\_node-1]: process has died [pid 63195, exit code -6, cmd ‘/home/francesco/workspace/ros\_ur\_driver/install/ur\_robot\_driver/lib/ur\_robot\_driver/ur\_ros2\_control\_node --ros-args --params-file /tmp/launch\_params\_989deozy --params-file /home/francesco/workspace/ros\_ur\_driver/install/ur\_robot\_driver/share/ur\_robot\_driver/config/ur5e\_update\_rate.yaml --params-file /home/francesco/workspace/ros\_ur\_driver/install/ur\_robot\_driver/share/ur\_robot\_driver/config/ur\_controllers.yaml’].  
[spawner-5] [INFO] [1704740277.964862287] [spawner\_scaled\_joint\_trajectory\_controller]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-7] [INFO] [1704740277.981028540] [spawner\_io\_and\_status\_controller]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-10] [INFO] [1704740277.985997715] [spawner\_forward\_position\_controller]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-6] [INFO] [1704740278.062972622] [spawner\_joint\_state\_broadcaster]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-8] [INFO] [1704740278.063045355] [spawner\_speed\_scaling\_state\_broadcaster]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-9] [INFO] [1704740278.065889394] [spawner\_force\_torque\_sensor\_broadcaster]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-5] [INFO] [1704740279.985584566] [spawner\_scaled\_joint\_trajectory\_controller]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-7] [INFO] [1704740280.002898424] [spawner\_io\_and\_status\_controller]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-10] [INFO] [1704740280.007053207] [spawner\_forward\_position\_controller]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-6] [INFO] [1704740280.082569786] [spawner\_joint\_state\_broadcaster]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-8] [INFO] [1704740280.082573025] [spawner\_speed\_scaling\_state\_broadcaster]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-9] [INFO] [1704740280.088028493] [spawner\_force\_torque\_sensor\_broadcaster]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-5] [INFO] [1704740282.004371136] [spawner\_scaled\_joint\_trajectory\_controller]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-7] [INFO] [1704740282.022285576] [spawner\_io\_and\_status\_controller]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-10] [INFO] [1704740282.027363568] [spawner\_forward\_position\_controller]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-8] [INFO] [1704740282.099723179] [spawner\_speed\_scaling\_state\_broadcaster]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-6] [INFO] [1704740282.099724503] [spawner\_joint\_state\_broadcaster]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-9] [INFO] [1704740282.105578621] [spawner\_force\_torque\_sensor\_broadcaster]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-5] [INFO] [1704740284.024549298] [spawner\_scaled\_joint\_trajectory\_controller]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-7] [INFO] [1704740284.041840919] [spawner\_io\_and\_status\_controller]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-10] [INFO] [1704740284.047064358] [spawner\_forward\_position\_controller]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-8] [INFO] [1704740284.119854287] [spawner\_speed\_scaling\_state\_broadcaster]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-6] [INFO] [1704740284.119856117] [spawner\_joint\_state\_broadcaster]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-9] [INFO] [1704740284.125656940] [spawner\_force\_torque\_sensor\_broadcaster]: Waiting for ‘/controller\_manager’ node to exist  
[spawner-5] [ERROR] [1704740286.045951135] [spawner\_scaled\_joint\_trajectory\_controller]: Controller manager not available  
[spawner-7] [ERROR] [1704740286.062008806] [spawner\_io\_and\_status\_controller]: Controller manager not available  
[spawner-10] [ERROR] [1704740286.066526495] [spawner\_forward\_position\_controller]: Controller manager not available  
[spawner-6] [ERROR] [1704740286.139648207] [spawner\_joint\_state\_broadcaster]: Controller manager not available  
[spawner-8] [ERROR] [1704740286.139653220] [spawner\_speed\_scaling\_state\_broadcaster]: Controller manager not available  
[spawner-9] [ERROR] [1704740286.145425836] [spawner\_force\_torque\_sensor\_broadcaster]: Controller manager not available  
[ERROR] [spawner-5]: process has died [pid 63203, exit code 1, cmd ‘/opt/ros/humble/lib/controller\_manager/spawner scaled\_joint\_trajectory\_controller -c /controller\_manager --controller-manager-timeout 10 --ros-args’].  
[ERROR] [spawner-7]: process has died [pid 63207, exit code 1, cmd ‘/opt/ros/humble/lib/controller\_manager/spawner io\_and\_status\_controller --controller-manager /controller\_manager --controller-manager-timeout 10 --ros-args’].  
[ERROR] [spawner-10]: process has died [pid 63213, exit code 1, cmd ‘/opt/ros/humble/lib/controller\_manager/spawner forward\_position\_controller --controller-manager /controller\_manager --controller-manager-timeout 10 --inactive --ros-args’].  
[ERROR] [spawner-8]: process has died [pid 63209, exit code 1, cmd ‘/opt/ros/humble/lib/controller\_manager/spawner speed\_scaling\_state\_broadcaster --controller-manager /controller\_manager --controller-manager-timeout 10 --ros-args’].  
[ERROR] [spawner-6]: process has died [pid 63205, exit code 1, cmd ‘/opt/ros/humble/lib/controller\_manager/spawner joint\_state\_broadcaster --controller-manager /controller\_manager --controller-manager-timeout 10 --ros-args’].  
[ERROR] [spawner-9]: process has died [pid 63211, exit code 1, cmd ‘/opt/ros/humble/lib/controller\_manager/spawner force\_torque\_sensor\_broadcaster --controller-manager /controller\_manager --controller-manager-timeout 10 --ros-args’].  
‘’’  
I have found a similar post from last May [here](https://forum.universal-robots.com/t/ros2-humble-ur5-connection-throws-an-error/28268/4). I have reproduced thee suggesteed workarounds, but nothing changed.

I would be very grateful if anyone could provide any suggestions to make this work back. This has happened in the most inconvenient of times for me, as we are about to run a user study with the UR5e very soon. Any help is appreciated.

Francesco
