Which combination of platform is the ROS driver running on.
Ubuntu Linux with standard kernel
How is the UR ROS2 Driver installed.
Build both the ROS driver and UR Client Library from source
Which robot platform is the driver connected to.
UR E-series robot
Robot SW / URSim version(s)
UR16E
How is the ROS driver used.
Through the robot teach pendant using External Control URCap
Issue details
I installed ROS2 Humble on Ubuntu 22.04 (on Nvidia Jetson Orin Nano using JetsonPack 6.0) as instructed on the official ROS2 webpage. It works fine and I also tried examples. Now, I'm trying to install UR drivers for humble and when I'm trying to colcon build, I'm getting the following error [Please check log output for full error]:
[Processing: controller_manager]
[Processing: controller_manager]
[Processing: controller_manager]
--- stderr: controller_manager
/usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
/home/nyu/workspace/ros_ur_driver/src/ros2_control/controller_manager/src/ros2_control_node.cpp: In function ‘int main(int, char)’:
/home/nyu/workspace/ros_ur_driver/src/ros2_control/controller_manager/src/ros2_control_node.cpp:50:50: error: ‘set_current_thread_affinity’ is not a member of ‘realtime_tools’
50 | const auto affinity_result = realtime_tools::set_current_thread_affinity(cpu_affinity);
| ^~~~~~~
/home/nyu/workspace/ros_ur_driver/src/ros2_control/controller_manager/src/ros2_control_node.cpp:59:39: error: ‘lock_memory’ is not a member of ‘realtime_tools’
59 | if (lock_memory && !realtime_tools::lock_memory(message))
| ^~~
gmake[2]: ** [CMakeFiles/ros2_control_node.dir/build.make:76: CMakeFiles/ros2_control_node.dir/src/ros2_control_node.cpp.o] Error 1
gmake[1]: [CMakeFiles/Makefile2:234: CMakeFiles/ros2_control_node.dir/all] Error 2
gmake[1]: Waiting for unfinished jobs....
gmake: [Makefile:146: all] Error 2
Failed <<< controller_manager [1min 48s, exited with code 2]
nyu@nyu-desktop:~/workspace/ros_ur_driver$ colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
[0.956s] WARNING:colcon.colcon_core.package_selection:Some selected packages are already built in one or more underlay workspaces:
'control_msgs' is in: /opt/ros/humble
'joint_state_broadcaster' is in: /opt/ros/humble
'joint_trajectory_controller' is in: /opt/ros/humble
'gripper_controllers' is in: /opt/ros/humble
If a package in a merged underlay workspace is overridden and it installs headers, then all packages in the overlay must sort their include directories by workspace order. Failure to do so may result in build failures or undefined behavior at run time.
If the overridden package is used by another package in any underlay, then the overriding package in the overlay must be API and ABI compatible or undefined behavior at run time may occur.
If you understand the risks and want to override a package anyways, add the following to the command line:
--allow-overriding control_msgs gripper_controllers joint_state_broadcaster joint_trajectory_controller
This may be promoted to an error in a future release of colcon-override-check.
Starting >>> control_msgs
Starting >>> ros2_control_test_assets
Starting >>> controller_manager_msgs
Starting >>> ur_dashboard_msgs
Starting >>> ur_description
Starting >>> ur_msgs
Finished <<< ros2_control_test_assets [3.60s]
Starting >>> ros2_controllers_test_nodes
Finished <<< ur_description [4.29s]
Starting >>> kinematics_interface
Finished <<< ros2_controllers_test_nodes [3.64s]
Starting >>> ur_client_library
[Processing: control_msgs, controller_manager_msgs, kinematics_interface, ur_client_library, ur_dashboard_msgs, ur_msgs]
[Processing: control_msgs, controller_manager_msgs, kinematics_interface, ur_client_library, ur_dashboard_msgs, ur_msgs]
Finished <<< kinematics_interface [1min 21s]
Starting >>> kinematics_interface_kdl
Finished <<< ur_msgs [1min 30s]
Starting >>> joint_limits
Finished <<< ur_dashboard_msgs [1min 38s]
Starting >>> ur_moveit_config
Finished <<< controller_manager_msgs [1min 39s]
Finished <<< ur_moveit_config [2.86s]
--- stderr: ur_client_library
/home/nyu/workspace/ros_ur_driver/src/Universal_Robots_Client_Library/src/ur/ur_driver.cpp: In member function ‘void urcl::UrDriver::setKeepaliveCount(uint32_t)’:
/home/nyu/workspace/ros_ur_driver/src/Universal_Robots_Client_Library/src/ur/ur_driver.cpp:593:40: warning: ‘virtual void urcl::control::ReverseInterface::setKeepaliveCount(uint32_t)’ is deprecated: Set keepaliveCount is deprecated, instead use the robot receive timeout directly in the write commands. [-Wdeprecated-declarations]
593 | reverse_interface_->setKeepaliveCount(count);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
In file included from /home/nyu/workspace/ros_ur_driver/src/Universal_Robots_Client_Library/include/ur_client_library/ur/ur_driver.h:34,
from /home/nyu/workspace/ros_ur_driver/src/Universal_Robots_Client_Library/src/ur/ur_driver.cpp:34:
/home/nyu/workspace/ros_ur_driver/src/Universal_Robots_Client_Library/include/ur_client_library/control/reverse_interface.h:142:3: note: declared here
142 | setKeepaliveCount(const uint32_t count);
| ^~~~~~~~~~~~~~~~~
---
Finished <<< ur_client_library [1min 52s]
Finished <<< joint_limits [42.8s]
[Processing: control_msgs, kinematics_interface_kdl]
Finished <<< kinematics_interface_kdl [1min 18s]
Finished <<< control_msgs [3min 13s]
Starting >>> hardware_interface
Starting >>> rqt_joint_trajectory_controller
Finished <<< rqt_joint_trajectory_controller [2.08s]
[Processing: hardware_interface]
[Processing: hardware_interface]
Finished <<< hardware_interface [1min 9s]
Starting >>> controller_interface
Starting >>> hardware_interface_testing
Starting >>> transmission_interface
[Processing: controller_interface, hardware_interface_testing, transmission_interface]
[Processing: controller_interface, hardware_interface_testing, transmission_interface]
Finished <<< hardware_interface_testing [1min 10s]
Finished <<< controller_interface [1min 22s]
Starting >>> controller_manager
Finished <<< transmission_interface [1min 34s]
[Processing: controller_manager]
[Processing: controller_manager]
[Processing: controller_manager]
--- stderr: controller_manager
/usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
/home/nyu/workspace/ros_ur_driver/src/ros2_control/controller_manager/src/ros2_control_node.cpp: In function ‘int main(int, char**)’:
/home/nyu/workspace/ros_ur_driver/src/ros2_control/controller_manager/src/ros2_control_node.cpp:50:50: error: ‘set_current_thread_affinity’ is not a member of ‘realtime_tools’
50 | const auto affinity_result = realtime_tools::set_current_thread_affinity(cpu_affinity);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/nyu/workspace/ros_ur_driver/src/ros2_control/controller_manager/src/ros2_control_node.cpp:59:39: error: ‘lock_memory’ is not a member of ‘realtime_tools’
59 | if (lock_memory && !realtime_tools::lock_memory(message))
| ^~~~~~~~~~~
gmake[2]: *** [CMakeFiles/ros2_control_node.dir/build.make:76: CMakeFiles/ros2_control_node.dir/src/ros2_control_node.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:234: CMakeFiles/ros2_control_node.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
gmake: *** [Makefile:146: all] Error 2
---
Failed <<< controller_manager [1min 48s, exited with code 2]
Summary: 17 packages finished [7min 33s]
1 package failed: controller_manager
2 packages had stderr output: controller_manager ur_client_library
28 packages not processed
nyu@nyu-desktop:~/workspace/ros_ur_driver$
Affected ROS2 Driver version(s)
controller_manager
Used ROS distribution.
Humble
Which combination of platform is the ROS driver running on.
Ubuntu Linux with standard kernel
How is the UR ROS2 Driver installed.
Build both the ROS driver and UR Client Library from source
Which robot platform is the driver connected to.
UR E-series robot
Robot SW / URSim version(s)
UR16E
How is the ROS driver used.
Through the robot teach pendant using External Control URCap
Issue details
I installed ROS2 Humble on Ubuntu 22.04 (on Nvidia Jetson Orin Nano using JetsonPack 6.0) as instructed on the official ROS2 webpage. It works fine and I also tried examples. Now, I'm trying to install UR drivers for humble and when I'm trying to colcon build, I'm getting the following error [Please check log output for full error]:
[Processing: controller_manager]
[Processing: controller_manager]
[Processing: controller_manager]
--- stderr: controller_manager
/usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( /home/nyu/workspace/ros_ur_driver/src/ros2_control/controller_manager/src/ros2_control_node.cpp: In function ‘int main(int, char)’: /home/nyu/workspace/ros_ur_driver/src/ros2_control/controller_manager/src/ros2_control_node.cpp:50:50: error: ‘set_current_thread_affinity’ is not a member of ‘realtime_tools’ 50 | const auto affinity_result = realtime_tools::set_current_thread_affinity(cpu_affinity); | ^
~~~~~~ /home/nyu/workspace/ros_ur_driver/src/ros2_control/controller_manager/src/ros2_control_node.cpp:59:39: error: ‘lock_memory’ is not a member of ‘realtime_tools’ 59 | if (lock_memory && !realtime_tools::lock_memory(message)) | ^~~gmake[2]: ** [CMakeFiles/ros2_control_node.dir/build.make:76: CMakeFiles/ros2_control_node.dir/src/ros2_control_node.cpp.o] Error 1 gmake[1]: [CMakeFiles/Makefile2:234: CMakeFiles/ros2_control_node.dir/all] Error 2 gmake[1]: Waiting for unfinished jobs.... gmake: [Makefile:146: all] Error 2Failed <<< controller_manager [1min 48s, exited with code 2]
Summary: 17 packages finished [7min 33s] 1 package failed: controller_manager 2 packages had stderr output: controller_manager ur_client_library 28 packages not processed
Relevant log output
Accept Public visibility