UniversalRobots / Universal_Robots_ROS2_Driver

Universal Robots ROS2 driver supporting CB3 and e-Series
BSD 3-Clause "New" or "Revised" License
389 stars 207 forks source link

Failed to activate controller #1046

Closed domenigoni closed 3 weeks ago

domenigoni commented 1 month ago

Affected ROS2 Driver version(s)

e

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.

From binary packets

Which robot platform is the driver connected to.

UR E-series robot

Robot SW / URSim version(s)

5.17.0

How is the ROS driver used.

Headless without using the teach pendant

Issue details

Summary

i would like to execute this command : ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur10e robot_ip:=xxx.xxx.xxx.xxx

Issue details

[INFO] [launch]: All log files can be found below /home/teleop/.ros/log/2024-07-03-15-02-44-298722-teleop-ubuntu-113856
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [dashboard_client-2]: process started with pid [113863]
[INFO] [controller_stopper_node-3]: process started with pid [113865]
[INFO] [ur_ros2_control_node-1]: process started with pid [113861]
[INFO] [urscript_interface-4]: process started with pid [113867]
[INFO] [robot_state_publisher-5]: process started with pid [113869]
[INFO] [rviz2-6]: process started with pid [113871]
[INFO] [spawner-7]: process started with pid [113873]
[INFO] [spawner-8]: process started with pid [113875]
[INFO] [spawner-9]: process started with pid [113877]
[rviz2-6] Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
[controller_stopper_node-3] [INFO] [1720011767.808275043] [Controller stopper]: Waiting for switch controller service to come up on controller_manager/switch_controller
[dashboard_client-2] [INFO] [1720011767.873650370] [UR_Client_Library:]: Connected: Universal Robots Dashboard Server
[dashboard_client-2] 
[robot_state_publisher-5] [INFO] [1720011767.911343108] [robot_state_publisher]: got segment base
[robot_state_publisher-5] [INFO] [1720011767.911685930] [robot_state_publisher]: got segment base_link
[robot_state_publisher-5] [INFO] [1720011767.911713587] [robot_state_publisher]: got segment base_link_inertia
[robot_state_publisher-5] [INFO] [1720011767.911735057] [robot_state_publisher]: got segment flange
[robot_state_publisher-5] [INFO] [1720011767.911755491] [robot_state_publisher]: got segment forearm_link
[robot_state_publisher-5] [INFO] [1720011767.911775720] [robot_state_publisher]: got segment ft_frame
[robot_state_publisher-5] [INFO] [1720011767.911796408] [robot_state_publisher]: got segment shoulder_link
[robot_state_publisher-5] [INFO] [1720011767.911816797] [robot_state_publisher]: got segment tool0
[robot_state_publisher-5] [INFO] [1720011767.911837098] [robot_state_publisher]: got segment upper_arm_link
[robot_state_publisher-5] [INFO] [1720011767.911857398] [robot_state_publisher]: got segment world
[robot_state_publisher-5] [INFO] [1720011767.911877595] [robot_state_publisher]: got segment wrist_1_link
[robot_state_publisher-5] [INFO] [1720011767.911897793] [robot_state_publisher]: got segment wrist_2_link
[robot_state_publisher-5] [INFO] [1720011767.911918036] [robot_state_publisher]: got segment wrist_3_link
[ur_ros2_control_node-1] [WARN] [1720011767.976651447] [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] [1720011767.987264594] [resource_manager]: Loading hardware 'ur10e' 
[ur_ros2_control_node-1] [INFO] [1720011768.016645381] [resource_manager]: Initialize hardware 'ur10e' 
[ur_ros2_control_node-1] [INFO] [1720011768.016854780] [resource_manager]: Successful initialization of hardware 'ur10e'
[ur_ros2_control_node-1] [INFO] [1720011768.017196623] [resource_manager]: 'configure' hardware 'ur10e' 
[ur_ros2_control_node-1] [INFO] [1720011768.017231152] [URPositionHardwareInterface]: Starting ...please wait...
[ur_ros2_control_node-1] [INFO] [1720011768.017265702] [URPositionHardwareInterface]: Initializing driver...
[ur_ros2_control_node-1] [WARN] [1720011768.038007301] [UR_Client_Library:]: Your system/user seems not to be setup for FIFO scheduling. We recommend using a lowlatency kernel with FIFO scheduling. See https://github.com/UniversalRobots/Universal_Robots_ROS_Driver/blob/master/ur_robot_driver/doc/real_time.md for details.
[ur_ros2_control_node-1] [INFO] [1720011768.101383310] [UR_Client_Library:]: Negotiated RTDE protocol version to 2.
[ur_ros2_control_node-1] [INFO] [1720011768.101714549] [UR_Client_Library:]: Setting up RTDE communication with frequency 500.000000
[ur_ros2_control_node-1] [FATAL] [1720011769.120030745] [URPositionHardwareInterface]: Variable 'speed_slider_mask' is currently controlled by another RTDE client. The input recipe can't be used as configured
[ur_ros2_control_node-1] [INFO] [1720011769.120125572] [resource_manager]: Failed to 'configure' hardware 'ur10e'
[controller_stopper_node-3] [INFO] [1720011769.188242129] [Controller stopper]: Service available
[controller_stopper_node-3] [INFO] [1720011769.188341156] [Controller stopper]: Waiting for list controllers service to come up on controller_manager/list_controllers
[controller_stopper_node-3] [INFO] [1720011769.188386173] [Controller stopper]: Service available
[ur_ros2_control_node-1] [WARN] [1720011769.250766711] [controller_manager]: Could not enable FIFO RT scheduling policy
[ur_ros2_control_node-1] [INFO] [1720011771.014475144] [controller_manager]: Loading controller 'joint_state_broadcaster'
[rviz2-6] [INFO] [1720011771.131960929] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-6] [INFO] [1720011771.132368484] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
[ur_ros2_control_node-1] [INFO] [1720011771.188053284] [controller_manager]: Loading controller 'scaled_joint_trajectory_controller'
[spawner-8] [INFO] [1720011771.291777933] [spawner_joint_state_broadcaster]: Loaded joint_state_broadcaster
[rviz2-6] [INFO] [1720011771.315059785] [rviz2]: Stereo is NOT SUPPORTED
[ur_ros2_control_node-1] [WARN] [1720011771.477491699] [scaled_joint_trajectory_controller]: [Deprecated]: "allow_nonzero_velocity_at_trajectory_end" is set to true. The default behavior will change to false.
[ur_ros2_control_node-1] [INFO] [1720011771.491057392] [controller_manager]: Loading controller 'forward_position_controller'
[ur_ros2_control_node-1] [INFO] [1720011771.644232979] [controller_manager]: Configuring controller 'joint_state_broadcaster'
[ur_ros2_control_node-1] [INFO] [1720011771.644448620] [joint_state_broadcaster]: 'joints' or 'interfaces' parameter is empty. All available state interfaces will be published
[ur_ros2_control_node-1] [ERROR] [1720011771.720058695] [joint_state_broadcaster]: None of requested interfaces exist. Controller will not run.
[ur_ros2_control_node-1] [WARN] [1720011771.720167150] [joint_state_broadcaster]: Error occurred while doing error handling.
[ur_ros2_control_node-1] [ERROR] [1720011771.720223001] [controller_manager]: After activation, controller 'joint_state_broadcaster' is in state 'unconfigured' (1), expected 'active' (3).
[spawner-8] [INFO] [1720011771.744130221] [spawner_joint_state_broadcaster]: Configured and activated joint_state_broadcaster
[spawner-7] [INFO] [1720011771.792234013] [spawner_scaled_joint_trajectory_controller]: Loaded scaled_joint_trajectory_controller
[ur_ros2_control_node-1] [INFO] [1720011771.799450763] [controller_manager]: Configuring controller 'scaled_joint_trajectory_controller'
[ur_ros2_control_node-1] [INFO] [1720011771.804437876] [scaled_joint_trajectory_controller]: No specific joint names are used for command interfaces. Using 'joints' parameter.
[ur_ros2_control_node-1] [INFO] [1720011771.811725294] [scaled_joint_trajectory_controller]: Command interfaces are [position] and state interfaces are [position velocity].
[ur_ros2_control_node-1] [INFO] [1720011771.813533285] [scaled_joint_trajectory_controller]: Using 'splines' interpolation method.
[ur_ros2_control_node-1] [INFO] [1720011771.828910476] [scaled_joint_trajectory_controller]: Controller state will be published at 100.00 Hz.
[ur_ros2_control_node-1] [INFO] [1720011771.856575810] [scaled_joint_trajectory_controller]: Action status changes will be monitored at 20.00 Hz.
[spawner-9] [INFO] [1720011771.891747543] [spawner_forward_position_controller]: Loaded forward_position_controller
[ur_ros2_control_node-1] [INFO] [1720011771.938779817] [controller_manager]: Configuring controller 'forward_position_controller'
[ur_ros2_control_node-1] [INFO] [1720011771.948812620] [forward_position_controller]: configure successful
[ur_ros2_control_node-1] [INFO] [1720011771.980547256] [controller_manager]: Loading controller 'io_and_status_controller'
[ur_ros2_control_node-1] [ERROR] [1720011772.140778266] [resource_manager]: Not acceptable command interfaces combination: 
[ur_ros2_control_node-1] Start interfaces: 
[ur_ros2_control_node-1] [
[ur_ros2_control_node-1]   shoulder_pan_joint/position
[ur_ros2_control_node-1]   shoulder_lift_joint/position
[ur_ros2_control_node-1]   elbow_joint/position
[ur_ros2_control_node-1]   wrist_1_joint/position
[ur_ros2_control_node-1]   wrist_2_joint/position
[ur_ros2_control_node-1]   wrist_3_joint/position
[ur_ros2_control_node-1] ]
[ur_ros2_control_node-1] Stop interfaces: 
[ur_ros2_control_node-1] [
[ur_ros2_control_node-1] ]
[ur_ros2_control_node-1] Not available: 
[ur_ros2_control_node-1] [
[ur_ros2_control_node-1]  shoulder_pan_joint/position
[ur_ros2_control_node-1]  shoulder_lift_joint/position
[ur_ros2_control_node-1]  elbow_joint/position
[ur_ros2_control_node-1]  wrist_1_joint/position
[ur_ros2_control_node-1]  wrist_2_joint/position
[ur_ros2_control_node-1]  wrist_3_joint/position
[ur_ros2_control_node-1] ]
[ur_ros2_control_node-1] 
[ur_ros2_control_node-1] [ERROR] [1720011772.140933599] [controller_manager]: Could not switch controllers since prepare command mode switch was rejected.
[spawner-7] [ERROR] [1720011772.145212616] [spawner_scaled_joint_trajectory_controller]: Failed to activate controller
[spawner-8] [INFO] [1720011772.146294493] [spawner_joint_state_broadcaster]: Loaded io_and_status_controller
[ur_ros2_control_node-1] [INFO] [1720011772.178240757] [controller_manager]: Configuring controller 'io_and_status_controller'
[ur_ros2_control_node-1] [ERROR] [1720011772.269392718] [resource_manager]: Not acceptable command interfaces combination: 
[ur_ros2_control_node-1] Start interfaces: 
[ur_ros2_control_node-1] [
[ur_ros2_control_node-1]   gpio/standard_digital_output_cmd_0
[ur_ros2_control_node-1]   gpio/standard_digital_output_cmd_1
[ur_ros2_control_node-1]   gpio/standard_digital_output_cmd_2
[ur_ros2_control_node-1]   gpio/standard_digital_output_cmd_3
[ur_ros2_control_node-1]   gpio/standard_digital_output_cmd_4
[ur_ros2_control_node-1]   gpio/standard_digital_output_cmd_5
[ur_ros2_control_node-1]   gpio/standard_digital_output_cmd_6
[ur_ros2_control_node-1]   gpio/standard_digital_output_cmd_7
[ur_ros2_control_node-1]   gpio/standard_digital_output_cmd_8
[ur_ros2_control_node-1]   gpio/standard_digital_output_cmd_9
[ur_ros2_control_node-1]   gpio/standard_digital_output_cmd_10
[ur_ros2_control_node-1]   gpio/standard_digital_output_cmd_11
[ur_ros2_control_node-1]   gpio/standard_digital_output_cmd_12
[ur_ros2_control_node-1]   gpio/standard_digital_output_cmd_13
[ur_ros2_control_node-1]   gpio/standard_digital_output_cmd_14
[ur_ros2_control_node-1]   gpio/standard_digital_output_cmd_15
[ur_ros2_control_node-1]   gpio/standard_digital_output_cmd_16
[ur_ros2_control_node-1]   gpio/standard_digital_output_cmd_17
[ur_ros2_control_node-1]   gpio/standard_analog_output_cmd_0
[ur_ros2_control_node-1]   gpio/standard_analog_output_cmd_1
[ur_ros2_control_node-1]   gpio/tool_voltage_cmd
[ur_ros2_control_node-1]   gpio/io_async_success
[ur_ros2_control_node-1]   speed_scaling/target_speed_fraction_cmd
[ur_ros2_control_node-1]   speed_scaling/target_speed_fraction_async_success
[ur_ros2_control_node-1]   resend_robot_program/resend_robot_program_cmd
[ur_ros2_control_node-1]   resend_robot_program/resend_robot_program_async_success
[ur_ros2_control_node-1]   payload/mass
[ur_ros2_control_node-1]   payload/cog.x
[ur_ros2_control_node-1]   payload/cog.y
[ur_ros2_control_node-1]   payload/cog.z
[ur_ros2_control_node-1]   payload/payload_async_success
[ur_ros2_control_node-1]   zero_ftsensor/zero_ftsensor_cmd
[ur_ros2_control_node-1]   zero_ftsensor/zero_ftsensor_async_success
[ur_ros2_control_node-1]   hand_back_control/hand_back_control_cmd
[ur_ros2_control_node-1]   hand_back_control/hand_back_control_async_success
[ur_ros2_control_node-1] ]
[ur_ros2_control_node-1] Stop interfaces: 
[ur_ros2_control_node-1] [
[ur_ros2_control_node-1] ]
[ur_ros2_control_node-1] Not available: 
[ur_ros2_control_node-1] [
[ur_ros2_control_node-1]  gpio/standard_digital_output_cmd_0
[ur_ros2_control_node-1]  gpio/standard_digital_output_cmd_1
[ur_ros2_control_node-1]  gpio/standard_digital_output_cmd_2
[ur_ros2_control_node-1]  gpio/standard_digital_output_cmd_3
[ur_ros2_control_node-1]  gpio/standard_digital_output_cmd_4
[ur_ros2_control_node-1]  gpio/standard_digital_output_cmd_5
[ur_ros2_control_node-1]  gpio/standard_digital_output_cmd_6
[ur_ros2_control_node-1]  gpio/standard_digital_output_cmd_7
[ur_ros2_control_node-1]  gpio/standard_digital_output_cmd_8
[ur_ros2_control_node-1]  gpio/standard_digital_output_cmd_9
[ur_ros2_control_node-1]  gpio/standard_digital_output_cmd_10
[ur_ros2_control_node-1]  gpio/standard_digital_output_cmd_11
[ur_ros2_control_node-1]  gpio/standard_digital_output_cmd_12
[ur_ros2_control_node-1]  gpio/standard_digital_output_cmd_13
[ur_ros2_control_node-1]  gpio/standard_digital_output_cmd_14
[ur_ros2_control_node-1]  gpio/standard_digital_output_cmd_15
[ur_ros2_control_node-1]  gpio/standard_digital_output_cmd_16
[ur_ros2_control_node-1]  gpio/standard_digital_output_cmd_17
[ur_ros2_control_node-1]  gpio/standard_analog_output_cmd_0
[ur_ros2_control_node-1]  gpio/standard_analog_output_cmd_1
[ur_ros2_control_node-1]  gpio/tool_voltage_cmd
[ur_ros2_control_node-1]  gpio/io_async_success
[ur_ros2_control_node-1]  speed_scaling/target_speed_fraction_cmd
[ur_ros2_control_node-1]  speed_scaling/target_speed_fraction_async_success
[ur_ros2_control_node-1]  resend_robot_program/resend_robot_program_cmd
[ur_ros2_control_node-1]  resend_robot_program/resend_robot_program_async_success
[ur_ros2_control_node-1]  payload/mass
[ur_ros2_control_node-1]  payload/cog.x
[ur_ros2_control_node-1]  payload/cog.y
[ur_ros2_control_node-1]  payload/cog.z
[ur_ros2_control_node-1]  payload/payload_async_success
[ur_ros2_control_node-1]  zero_ftsensor/zero_ftsensor_cmd
[ur_ros2_control_node-1]  zero_ftsensor/zero_ftsensor_async_success
[ur_ros2_control_node-1]  hand_back_control/hand_back_control_cmd
[ur_ros2_control_node-1]  hand_back_control/hand_back_control_async_success
[ur_ros2_control_node-1] ]
[ur_ros2_control_node-1] 
[ur_ros2_control_node-1] [ERROR] [1720011772.279921155] [controller_manager]: Could not switch controllers since prepare command mode switch was rejected.
[spawner-8] [ERROR] [1720011772.325658609] [spawner_joint_state_broadcaster]: Failed to activate controller
[INFO] [spawner-9]: process has finished cleanly [pid 113877]
[ERROR] [spawner-8]: process has died [pid 113875, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner --controller-manager /controller_manager --controller-manager-timeout 10 joint_state_broadcaster io_and_status_controller speed_scaling_state_broadcaster force_torque_sensor_broadcaster --ros-args'].
[ERROR] [spawner-7]: process has died [pid 113873, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner scaled_joint_trajectory_controller -c /controller_manager --controller-manager-timeout 10 --ros-args'].
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[robot_state_publisher-5] [INFO] [1720011794.770441463] [rclcpp]: signal_handler(signum=2)
[urscript_interface-4] [INFO] [1720011794.770562226] [rclcpp]: signal_handler(signum=2)
[dashboard_client-2] [INFO] [1720011794.770728680] [rclcpp]: signal_handler(signum=2)
[controller_stopper_node-3] [INFO] [1720011794.773974647] [rclcpp]: signal_handler(signum=2)
[rviz2-6] [INFO] [1720011794.787552826] [rclcpp]: signal_handler(signum=2)
[ur_ros2_control_node-1] [INFO] [1720011794.804830573] [rclcpp]: signal_handler(signum=2)
[ur_ros2_control_node-1] [ERROR] [1720011794.934430850] [scaled_joint_trajectory_controller]: Unable to start transition 6 from current state shuttingdown: Could not publish transition: publisher's context is invalid, at ./src/rcl/publisher.c:389, at ./src/rcl_lifecycle.c:368
fmauch commented 1 month ago

Thank you for reaching out! The important line from your log output seems to be

[ur_ros2_control_node-1] [FATAL] [1720011769.120030745] [URPositionHardwareInterface]: Variable 'speed_slider_mask' is currently controlled by another RTDE client. The input recipe can't be used as configured

This looks like there might be a field bus active. In the ROS1 driver we have a sticky issue about that: https://github.com/UniversalRobots/Universal_Robots_ROS_Driver/issues/204

The solution would be the same for ROS 2.

VinDp commented 3 weeks ago

Since a solution has been proposed and the issue is quite old, I will close it. Feel free to re-open, if still relevant.