UniversalRobots / Universal_Robots_ROS2_Driver

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

Error while running Example Commands for Testing the Driver #583

Closed winminnn closed 2 weeks ago

winminnn commented 1 year ago

Execute the following code to actually connect with the robot.

ros2 launch ur_robot_driver ur_3e.launch.py robot_ip:=<my_ROBOT_IP> launch_rviz:=false headless_mode:=true

and turn on another terminal and run the following code to test the robot.

ros2 launch ur_robot_driver test_scaled_joint_trajectory_controller.launch.py

Then I get an error like below. [ur_ros2_control_node-1] [ERROR] [1674107641.464314633] [tolerances]: Path state tolerances failed: [ur_ros2_control_node-1] [ERROR] [1674107641.464320565] [tolerances]: Position Error: 0.534627, Position Tolerance: 0.200000 [ur_ros2_control_node-1] [ERROR] [1674107641.464328719] [tolerances]: Path state tolerances failed: [ur_ros2_control_node-1] [ERROR] [1674107641.464334827] [tolerances]: Position Error: 0.532808, Position Tolerance: 0.200000 [ur_ros2_control_node-1] [ERROR] [1674107641.466676397] [tolerances]: Path state tolerances failed: [ur_ros2_control_node-1] [ERROR] [1674107641.466735490] [tolerances]: Position Error: 0.537418, Position Tolerance: 0.200000 [ur_ros2_control_node-1] [ERROR] [1674107641.466759511] [tolerances]: Path state tolerances failed: [ur_ros2_control_node-1] [ERROR] [1674107641.466765561] [tolerances]: Position Error: 0.538860, Position Tolerance: 0.200000 [ur_ros2_control_node-1] [ERROR] [1674107641.466772647] [tolerances]: Path state tolerances failed: [ur_ros2_control_node-1] [ERROR] [1674107641.466840133] [tolerances]: Position Error: 1.616921, Position Tolerance: 0.200000 [ur_ros2_control_node-1] [ERROR] [1674107641.466852610] [tolerances]: Path state tolerances failed: [ur_ros2_control_node-1] [ERROR] [1674107641.466858237] [tolerances]: Position Error: 0.535095, Position Tolerance: 0.200000 [ur_ros2_control_node-1] [ERROR] [1674107641.466865344] [tolerances]: Path state tolerances failed: [ur_ros2_control_node-1] [ERROR] [1674107641.466870953] [tolerances]: Position Error: 0.533227, Position Tolerance: 0.200000 [ur_ros2_control_node-1] [ERROR] [1674107641.468588510] [tolerances]: Path state tolerances failed: [ur_ros2_control_node-1] [ERROR] [1674107641.468617300] [tolerances]: Position Error: 0.537799, Position Tolerance: 0.200000 [ur_ros2_control_node-1] [ERROR] [1674107641.468631604] [tolerances]: Path state tolerances failed: [ur_ros2_control_node-1] [ERROR] [1674107641.468638055] [tolerances]: Position Error: 0.539218, Position Tolerance: 0.200000 [ur_ros2_control_node-1] [ERROR] [1674107641.468646334] [tolerances]: Path state tolerances failed: [ur_ros2_control_node-1] [ERROR] [1674107641.468652470] [tolerances]: Position Error: 1.618054, Position Tolerance: 0.200000 [ur_ros2_control_node-1] [ERROR] [1674107641.468660915] [tolerances]: Path state tolerances failed: [ur_ros2_control_node-1] [ERROR] [1674107641.468666941] [tolerances]: Position Error: 0.535474, Position Tolerance: 0.200000

Why is this error occurring? And how can we actually move the robot?

fmauch commented 1 year ago

Hi @winminnn thanks for reporting this. Could you please tell us a little bit about your system?

winminnn commented 1 year ago

Hi @winminnn thanks for reporting this. Could you please tell us a little bit about your system?

  • Which ROS version are you using? I used the humble version and Ubuntu version is 22.04

  • Which branch/version of this driver are you using? I used the humble branch

  • Do you use a physical robot or URSim? I used physical ur3e robot

  • If you use a physical robot: How are you connected to the robot? I used the command below to connect the robot in remote control mode. ros2 launch ur_robot_driver ur_3e.launch.py robot_ip:=<my_ROBOT_IP> launch_rviz:=false headless_mode:=true I thought headless_mode meant remote control mode, but doesn't it??

fmauch commented 1 year ago

Thanks for coming back on this. My last question was related to the physical connection. Do you use a direct cable between the ROS pc and the robot?

winminnn commented 1 year ago

Thanks for the answer Yes, I am using direct connection. But the above problem was a firewall problem and it was solved. thanks

But another problem arose. It runs in remote control mode, but most of it doesn't run normally, the connection is automatically disconnected, and sometimes the ros pc and robot are connected normally. So I looked for logs when I connected normally and when I couldn't connect. When it runs normally, it looks like this

`seungmin@seungmin-Alpha:~$ ros2 launch ur_robot_driver ur3e.launch.py robot_ip:=192.168.20.35 launch_rviz:=false headless_mode:=true [INFO] [launch]: All log files can be found below /home/seungmin/.ros/log/2023-01-30-16-52-35-688724-seungmin-Alpha-11236 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [dashboard_client-2]: process started with pid [11241] [INFO] [controller_stopper_node-3]: process started with pid [11243] [INFO] [ur_ros2_control_node-1]: process started with pid [11239] [INFO] [robot_state_publisher-4]: process started with pid [11245] [INFO] [spawner-5]: process started with pid [11247] [INFO] [spawner-6]: process started with pid [11260] [INFO] [spawner-7]: process started with pid [11279] [INFO] [spawner-8]: process started with pid [11293] [INFO] [spawner-9]: process started with pid [11296] [INFO] [spawner-10]: process started with pid [11299] [ur_ros2_control_node-1] [INFO] [1675065156.598621464] [resource_manager]: Loading hardware 'ur3e' [ur_ros2_control_node-1] [INFO] [1675065156.602745425] [resource_manager]: Initialize hardware 'ur3e' [ur_ros2_control_node-1] [INFO] [1675065156.602874461] [resource_manager]: Successful initialization of hardware 'ur3e' [ur_ros2_control_node-1] [INFO] [1675065156.603187775] [resource_manager]: 'configure' hardware 'ur3e'

[ur_ros2_control_node-1] [INFO] [1675065156.603254350] [resource_manager]: 'activate' hardware 'ur3e' [ur_ros2_control_node-1] [INFO] [1675065156.603272286] [URPositionHardwareInterface]: Starting ...please wait... [ur_ros2_control_node-1] [INFO] [1675065156.603298554] [URPositionHardwareInterface]: Initializing driver... [ur_ros2_control_node-1] [WARN] [1675065156.619932660] [UR_Client_Library]: No realtime capabilities found. Consider using a realtime system for better performance [robot_state_publisher-4] Link base_link had 2 children [robot_state_publisher-4] Link base had 0 children [robot_state_publisher-4] Link base_link_inertia had 1 children [robot_state_publisher-4] Link shoulder_link had 1 children [robot_state_publisher-4] Link upper_arm_link had 1 children [robot_state_publisher-4] Link forearm_link had 1 children [robot_state_publisher-4] Link wrist_1_link had 1 children [robot_state_publisher-4] Link wrist_2_link had 1 children [robot_state_publisher-4] Link wrist_3_link had 2 children [robot_state_publisher-4] Link flange had 1 children [robot_state_publisher-4] Link tool0 had 0 children [robot_state_publisher-4] Link ft_frame had 0 children [robot_state_publisher-4] [INFO] [1675065156.595118313] [robot_state_publisher]: got segment base [robot_state_publisher-4] [INFO] [1675065156.595325204] [robot_state_publisher]: got segment base_link [robot_state_publisher-4] [INFO] [1675065156.595345680] [robot_state_publisher]: got segment base_link_inertia [robot_state_publisher-4] [INFO] [1675065156.595356921] [robot_state_publisher]: got segment flange [robot_state_publisher-4] [INFO] [1675065156.595367195] [robot_state_publisher]: got segment forearm_link [robot_state_publisher-4] [INFO] [1675065156.595378065] [robot_state_publisher]: got segment ft_frame [robot_state_publisher-4] [INFO] [1675065156.595388306] [robot_state_publisher]: got segment shoulder_link [robot_state_publisher-4] [INFO] [1675065156.595398316] [robot_state_publisher]: got segment tool0 [robot_state_publisher-4] [INFO] [1675065156.595408370] [robot_state_publisher]: got segment upper_arm_link [robot_state_publisher-4] [INFO] [1675065156.595418627] [robot_state_publisher]: got segment world [robot_state_publisher-4] [INFO] [1675065156.595428770] [robot_state_publisher]: got segment wrist_1_link [robot_state_publisher-4] [INFO] [1675065156.595438482] [robot_state_publisher]: got segment wrist_2_link [robot_state_publisher-4] [INFO] [1675065156.595448653] [robot_state_publisher]: got segment wrist_3_link [dashboard_client-2] [INFO] [1675065156.550394937] [UR_Client_Library]: Connected: Universal Robots Dashboard Server [dashboard_client-2] [controller_stopper_node-3] [INFO] [1675065156.583047596] [Controller stopper]: Waiting for switch controller service to come up on controller_manager/switch_controller [ur_ros2_control_node-1] [INFO] [1675065156.815830895] [UR_Client_Library]: Negotiated RTDE protocol version to 2. [ur_ros2_control_node-1] [INFO] [1675065156.816169603] [UR_Client_Library]: Setting up RTDE communication with frequency 500.000000 [spawner-9] [INFO] [1675065157.158115354] [spawner_forward_position_controller]: Waiting for '/controller_manager' services to be available [spawner-5] [INFO] [1675065157.308876822] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' services to be available [spawner-8] [INFO] [1675065157.344210994] [spawner_force_torque_sensor_broadcaster]: Waiting for '/controller_manager' services to be available [spawner-7] [INFO] [1675065157.445026558] [spawner_speed_scaling_state_broadcaster]: Waiting for '/controller_manager' services to be available [spawner-10] [INFO] [1675065157.448359611] [spawner_scaled_joint_trajectory_controller]: Waiting for '/controller_manager' node to exist [spawner-6] [INFO] [1675065157.480159830] [spawner_io_and_status_controller]: Waiting for '/controller_manager' node to exist [ur_ros2_control_node-1] [INFO] [1675065157.821607018] [URPositionHardwareInterface]: Calibration checksum: 'calib_16756443741236045476'. [ur_ros2_control_node-1] [WARN] [1675065157.822595008] [UR_Client_Library]: No realtime capabilities found. Consider using a realtime system for better performance [ur_ros2_control_node-1] [INFO] [1675065157.863007536] [UR_Client_Library]: Robot connected to reverse interface. Ready to receive control commands. [ur_ros2_control_node-1] [ERROR] [1675065158.886925284] [URPositionHardwareInterface]: The calibration parameters of the connected robot don't match the ones from the given kinematics config file. Please be aware that this can lead to critical inaccuracies of tcp positions. Use the ur_calibration tool to extract the correct calibration from the robot and pass that into the description. See [https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver/blob/main/ur_calibration/README.md] for details. [ur_ros2_control_node-1] [WARN] [1675065158.887452246] [UR_Client_Library]: No realtime capabilities found. Consider using a realtime system for better performance [ur_ros2_control_node-1] [INFO] [1675065158.887934244] [URPositionHardwareInterface]: System successfully started!

[controller_stopper_node-3] [INFO] [1675065158.926049703] [Controller stopper]: Service available [controller_stopper_node-3] [INFO] [1675065158.926252151] [Controller stopper]: Waiting for list controllers service to come up on controller_manager/list_controllers [controller_stopper_node-3] [INFO] [1675065158.926370364] [Controller stopper]: Service available [ur_ros2_control_node-1] [INFO] [1675065159.010713464] [controller_manager]: Loading controller 'force_torque_sensor_broadcaster' [spawner-8] [INFO] [1675065159.033988019] [spawner_force_torque_sensor_broadcaster]: Loaded force_torque_sensor_broadcaster [ur_ros2_control_node-1] [INFO] [1675065159.038068399] [controller_manager]: Loading controller 'forward_position_controller' [ur_ros2_control_node-1] [INFO] [1675065159.062989860] [controller_manager]: Configuring controller 'force_torque_sensor_broadcaster' [spawner-9] [INFO] [1675065159.064586644] [spawner_forward_position_controller]: Loaded forward_position_controller [ur_ros2_control_node-1] [INFO] [1675065159.076239317] [controller_manager]: Configuring controller 'forward_position_controller' [ur_ros2_control_node-1] [INFO] [1675065159.077806093] [forward_position_controller]: configure successful [spawner-8] [INFO] [1675065159.092579166] [spawner_force_torque_sensor_broadcaster]: Configured and activated force_torque_sensor_broadcaster [ur_ros2_control_node-1] [INFO] [1675065159.111042667] [controller_manager]: Loading controller 'speed_scaling_state_broadcaster' [spawner-7] [INFO] [1675065159.192397457] [spawner_speed_scaling_state_broadcaster]: Loaded speed_scaling_state_broadcaster [ur_ros2_control_node-1] [INFO] [1675065159.192827159] [controller_manager]: Loading controller 'scaled_joint_trajectory_controller' [ur_ros2_control_node-1] [INFO] [1675065159.267415803] [joint_trajectory_controller.interpolation_methods]: No interpolation method parameter was given. Using the default, VARIABLE_DEGREE_SPLINE. [ur_ros2_control_node-1] [INFO] [1675065159.272819584] [controller_manager]: Loading controller 'joint_state_broadcaster' [spawner-10] [INFO] [1675065159.274376137] [spawner_scaled_joint_trajectory_controller]: Loaded scaled_joint_trajectory_controller [ur_ros2_control_node-1] [INFO] [1675065159.296845187] [controller_manager]: Configuring controller 'speed_scaling_state_broadcaster' [ur_ros2_control_node-1] [INFO] [1675065159.296984076] [speed_scaling_state_broadcaster]: Publisher rate set to : 100.0 Hz [spawner-5] [INFO] [1675065159.298433653] [spawner_joint_state_broadcaster]: Loaded joint_state_broadcaster [ur_ros2_control_node-1] [INFO] [1675065159.307921270] [controller_manager]: Configuring controller 'scaled_joint_trajectory_controller' [ur_ros2_control_node-1] [INFO] [1675065159.308145049] [scaled_joint_trajectory_controller]: No specific joint names are used for command interfaces. Using 'joints' parameter. [ur_ros2_control_node-1] [INFO] [1675065159.308236980] [scaled_joint_trajectory_controller]: Command interfaces are [position] and state interfaces are [position velocity]. [ur_ros2_control_node-1] [INFO] [1675065159.308950273] [joint_trajectory_controller.interpolation_methods]: No interpolation method parameter was given. Using the default, VARIABLE_DEGREE_SPLINE. [ur_ros2_control_node-1] [INFO] [1675065159.308967379] [scaled_joint_trajectory_controller]: Using 'splines' interpolation method. [ur_ros2_control_node-1] [INFO] [1675065159.311781639] [scaled_joint_trajectory_controller]: Controller state will be published at 100.00 Hz. [ur_ros2_control_node-1] [INFO] [1675065159.315958221] [scaled_joint_trajectory_controller]: Action status changes will be monitored at 20.00 Hz. [ur_ros2_control_node-1] [INFO] [1675065159.324539911] [controller_manager]: Configuring controller 'joint_state_broadcaster' [ur_ros2_control_node-1] [INFO] [1675065159.324650960] [joint_state_broadcaster]: 'joints' or 'interfaces' parameter is empty. All available state interfaces will be published [spawner-7] [INFO] [1675065159.334406924] [spawner_speed_scaling_state_broadcaster]: Configured and activated speed_scaling_state_broadcaster [spawner-10] [INFO] [1675065159.343709633] [spawner_scaled_joint_trajectory_controller]: Configured and activated scaled_joint_trajectory_controller [spawner-5] [INFO] [1675065159.349654155] [spawner_joint_state_broadcaster]: Configured and activated joint_state_broadcaster [INFO] [spawner-9]: process has finished cleanly [pid 11296] [INFO] [spawner-8]: process has finished cleanly [pid 11293] [spawner-6] [INFO] [1675065159.505061147] [spawner_io_and_status_controller]: Waiting for '/controller_manager' node to exist [INFO] [spawner-7]: process has finished cleanly [pid 11279] [INFO] [spawner-10]: process has finished cleanly [pid 11299] [INFO] [spawner-5]: process has finished cleanly [pid 11247] [ur_ros2_control_node-1] [INFO] [1675065160.354461094] [controller_manager]: Loading controller 'io_and_status_controller' [spawner-6] [INFO] [1675065160.367714353] [spawner_io_and_status_controller]: Loaded io_and_status_controller [ur_ros2_control_node-1] [INFO] [1675065160.369458551] [controller_manager]: Configuring controller 'io_and_status_controller' [spawner-6] [INFO] [1675065160.383597227] [spawner_io_and_status_controller]: Configured and activated io_and_status_controller [INFO] [spawner-6]: process has finished cleanly [pid 11260]

^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)

[ur_ros2_control_node-1] [INFO] [1675066050.835796164] [UR_Client_Library]: Connection to reverse interface dropped. [ur_ros2_control_node-1] terminate called without an active exception [INFO] [controller_stopper_node-3]: process has finished cleanly [pid 3349] [INFO] [robot_state_publisher-4]: process has finished cleanly [pid 3351] [ERROR] [dashboard_client-2]: process has died [pid 3347, exit code -11, cmd '/home/seungmin/seungmin_workspace/install/ur_robot_driver/lib/ur_robot_driver/dashboard_client --ros-args -r node:=dashboard_client --params-file /tmp/launch_params_j45qxtzy']. [ERROR] [ur_ros2_control_node-1]: process has died [pid 3345, exit code -6, cmd '/home/seungmin/seungmin_workspace/install/ur_robot_driver/lib/ur_robot_driver/ur_ros2_control_node --ros-args --params-file /tmp/launch_params_l04g72 --params-file /home/seungmin/seungmin_workspace/install/ur_robot_driver/share/ur_robot_driver/config/ur3e_update_rate.yaml --params-file /home/seungmin/seungmin_workspace/install/ur_robot_driver/share/ur_robot_driver/config/ur_controllers.yaml'].`

This is the log when it doesn't run normally

`seungmin@seungmin-Alpha:~$ ros2 launch ur_robot_driver ur3e.launch.py robot_ip:=192.168.20.35 launch_rviz:=false headless_mode:=true [INFO] [launch]: All log files can be found below /home/seungmin/.ros/log/2023-01-30-17-13-43-535263-seungmin-Alpha-4293 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [dashboard_client-2]: process started with pid [4298] [INFO] [controller_stopper_node-3]: process started with pid [4300] [INFO] [ur_ros2_control_node-1]: process started with pid [4296] [INFO] [robot_state_publisher-4]: process started with pid [4302] [INFO] [spawner-5]: process started with pid [4304] [INFO] [spawner-6]: process started with pid [4310] [INFO] [spawner-7]: process started with pid [4334] [INFO] [spawner-8]: process started with pid [4342] [INFO] [spawner-9]: process started with pid [4352] [INFO] [spawner-10]: process started with pid [4355] [robot_state_publisher-4] Link base_link had 2 children [robot_state_publisher-4] Link base had 0 children [robot_state_publisher-4] Link base_link_inertia had 1 children [robot_state_publisher-4] Link shoulder_link had 1 children [robot_state_publisher-4] Link upper_arm_link had 1 children [robot_state_publisher-4] Link forearm_link had 1 children [robot_state_publisher-4] Link wrist_1_link had 1 children [robot_state_publisher-4] Link wrist_2_link had 1 children [robot_state_publisher-4] Link wrist_3_link had 2 children [robot_state_publisher-4] Link flange had 1 children [robot_state_publisher-4] Link tool0 had 0 children [robot_state_publisher-4] Link ft_frame had 0 children [robot_state_publisher-4] [INFO] [1675066424.454965612] [robot_state_publisher]: got segment base [robot_state_publisher-4] [INFO] [1675066424.455205115] [robot_state_publisher]: got segment base_link [robot_state_publisher-4] [INFO] [1675066424.455232194] [robot_state_publisher]: got segment base_link_inertia [robot_state_publisher-4] [INFO] [1675066424.455245276] [robot_state_publisher]: got segment flange [robot_state_publisher-4] [INFO] [1675066424.455255554] [robot_state_publisher]: got segment forearm_link [robot_state_publisher-4] [INFO] [1675066424.455265590] [robot_state_publisher]: got segment ft_frame [robot_state_publisher-4] [INFO] [1675066424.455276377] [robot_state_publisher]: got segment shoulder_link [robot_state_publisher-4] [INFO] [1675066424.455290453] [robot_state_publisher]: got segment tool0 [robot_state_publisher-4] [INFO] [1675066424.455301094] [robot_state_publisher]: got segment upper_arm_link [robot_state_publisher-4] [INFO] [1675066424.455310806] [robot_state_publisher]: got segment world [robot_state_publisher-4] [INFO] [1675066424.455321888] [robot_state_publisher]: got segment wrist_1_link [robot_state_publisher-4] [INFO] [1675066424.456552170] [robot_state_publisher]: got segment wrist_2_link [robot_state_publisher-4] [INFO] [1675066424.456626626] [robot_state_publisher]: got segment wrist_3_link [dashboard_client-2] [INFO] [1675066424.444794327] [UR_Client_Library]: Connected: Universal Robots Dashboard Server [dashboard_client-2] [controller_stopper_node-3] [INFO] [1675066424.405751779] [Controller stopper]: Waiting for switch controller service to come up on controller_manager/switch_controller [ur_ros2_control_node-1] [INFO] [1675066424.498070578] [resource_manager]: Loading hardware 'ur3e' [ur_ros2_control_node-1] [INFO] [1675066424.533137416] [resource_manager]: Initialize hardware 'ur3e' [ur_ros2_control_node-1] [INFO] [1675066424.533312940] [resource_manager]: Successful initialization of hardware 'ur3e' [ur_ros2_control_node-1] [INFO] [1675066424.533609762] [resource_manager]: 'configure' hardware 'ur3e'

[ur_ros2_control_node-1] [INFO] [1675066424.533682119] [resource_manager]: 'activate' hardware 'ur3e' [ur_ros2_control_node-1] [INFO] [1675066424.533699467] [URPositionHardwareInterface]: Starting ...please wait... [ur_ros2_control_node-1] [INFO] [1675066424.533726467] [URPositionHardwareInterface]: Initializing driver... [ur_ros2_control_node-1] [WARN] [1675066424.543011973] [UR_Client_Library]: No realtime capabilities found. Consider using a realtime system for better performance [ur_ros2_control_node-1] [INFO] [1675066424.755123170] [UR_Client_Library]: Negotiated RTDE protocol version to 2. [ur_ros2_control_node-1] [INFO] [1675066424.755471391] [UR_Client_Library]: Setting up RTDE communication with frequency 500.000000 [spawner-10] [INFO] [1675066425.129552087] [spawner_scaled_joint_trajectory_controller]: Waiting for '/controller_manager' services to be available [spawner-7] [INFO] [1675066425.157089733] [spawner_speed_scaling_state_broadcaster]: Waiting for '/controller_manager' services to be available [spawner-5] [INFO] [1675066425.177334624] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' services to be available [spawner-9] [INFO] [1675066425.184897270] [spawner_forward_position_controller]: Waiting for '/controller_manager' services to be available [spawner-8] [INFO] [1675066425.274140117] [spawner_force_torque_sensor_broadcaster]: Waiting for '/controller_manager' node to exist [spawner-6] [INFO] [1675066425.275193914] [spawner_io_and_status_controller]: Waiting for '/controller_manager' node to exist [ur_ros2_control_node-1] [INFO] [1675066425.768602250] [URPositionHardwareInterface]: Calibration checksum: 'calib_16756443741236045476'. [ur_ros2_control_node-1] [WARN] [1675066425.769729763] [UR_Client_Library]: No realtime capabilities found. Consider using a realtime system for better performance [ur_ros2_control_node-1] [INFO] [1675066425.791171146] [UR_Client_Library]: Robot connected to reverse interface. Ready to receive control commands. [ur_ros2_control_node-1] [ERROR] [1675066426.779016158] [URPositionHardwareInterface]: The calibration parameters of the connected robot don't match the ones from the given kinematics config file. Please be aware that this can lead to critical inaccuracies of tcp positions. Use the ur_calibration tool to extract the correct calibration from the robot and pass that into the description. See [https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver/blob/main/ur_calibration/README.md] for details. [ur_ros2_control_node-1] [WARN] [1675066426.779477108] [UR_Client_Library]: No realtime capabilities found. Consider using a realtime system for better performance [ur_ros2_control_node-1] [INFO] [1675066426.779836825] [URPositionHardwareInterface]: System successfully started!

[controller_stopper_node-3] [INFO] [1675066426.793731228] [Controller stopper]: Service available [controller_stopper_node-3] [INFO] [1675066426.793827904] [Controller stopper]: Waiting for list controllers service to come up on controller_manager/list_controllers [controller_stopper_node-3] [INFO] [1675066426.793932943] [Controller stopper]: Service available [ur_ros2_control_node-1] [INFO] [1675066426.908421608] [controller_manager]: Loading controller 'forward_position_controller' [ur_ros2_control_node-1] [INFO] [1675066426.972609501] [UR_Client_Library]: Connection to reverse interface dropped. [spawner-9] [INFO] [1675066426.978402537] [spawner_forward_position_controller]: Loaded forward_position_controller [ur_ros2_control_node-1] [INFO] [1675066426.988231896] [controller_manager]: Configuring controller 'forward_position_controller' [ur_ros2_control_node-1] [INFO] [1675066426.993092261] [forward_position_controller]: configure successful [ur_ros2_control_node-1] [INFO] [1675066427.012958500] [controller_manager]: Loading controller 'force_torque_sensor_broadcaster' [spawner-8] [INFO] [1675066427.047082953] [spawner_force_torque_sensor_broadcaster]: Loaded force_torque_sensor_broadcaster [ur_ros2_control_node-1] [INFO] [1675066427.061768613] [controller_manager]: Loading controller 'speed_scaling_state_broadcaster' [ur_ros2_control_node-1] [INFO] [1675066427.103070643] [controller_manager]: Loading controller 'joint_state_broadcaster' [spawner-7] [INFO] [1675066427.105081919] [spawner_speed_scaling_state_broadcaster]: Loaded speed_scaling_state_broadcaster [spawner-5] [INFO] [1675066427.138050707] [spawner_joint_state_broadcaster]: Loaded joint_state_broadcaster [ur_ros2_control_node-1] [INFO] [1675066427.143189023] [controller_manager]: Configuring controller 'force_torque_sensor_broadcaster' [ur_ros2_control_node-1] [INFO] [1675066427.148288716] [controller_manager]: Loading controller 'scaled_joint_trajectory_controller' [ur_ros2_control_node-1] [INFO] [1675066427.178475464] [joint_trajectory_controller.interpolation_methods]: No interpolation method parameter was given. Using the default, VARIABLE_DEGREE_SPLINE. [ur_ros2_control_node-1] [INFO] [1675066427.182091342] [controller_manager]: Configuring controller 'speed_scaling_state_broadcaster' [ur_ros2_control_node-1] [INFO] [1675066427.182204310] [speed_scaling_state_broadcaster]: Publisher rate set to : 100.0 Hz [spawner-10] [INFO] [1675066427.182456237] [spawner_scaled_joint_trajectory_controller]: Loaded scaled_joint_trajectory_controller [ur_ros2_control_node-1] [INFO] [1675066427.185310386] [controller_manager]: Configuring controller 'joint_state_broadcaster' [ur_ros2_control_node-1] [INFO] [1675066427.186531822] [joint_state_broadcaster]: 'joints' or 'interfaces' parameter is empty. All available state interfaces will be published [ur_ros2_control_node-1] [INFO] [1675066427.201263399] [controller_manager]: Configuring controller 'scaled_joint_trajectory_controller' [ur_ros2_control_node-1] [INFO] [1675066427.201434778] [scaled_joint_trajectory_controller]: No specific joint names are used for command interfaces. Using 'joints' parameter. [ur_ros2_control_node-1] [INFO] [1675066427.201485537] [scaled_joint_trajectory_controller]: Command interfaces are [position] and state interfaces are [position velocity]. [ur_ros2_control_node-1] [INFO] [1675066427.201594577] [joint_trajectory_controller.interpolation_methods]: No interpolation method parameter was given. Using the default, VARIABLE_DEGREE_SPLINE. [ur_ros2_control_node-1] [INFO] [1675066427.201603755] [scaled_joint_trajectory_controller]: Using 'splines' interpolation method. [ur_ros2_control_node-1] [INFO] [1675066427.203733060] [scaled_joint_trajectory_controller]: Controller state will be published at 100.00 Hz. [ur_ros2_control_node-1] [INFO] [1675066427.206764958] [scaled_joint_trajectory_controller]: Action status changes will be monitored at 20.00 Hz. [spawner-8] [INFO] [1675066427.221293103] [spawner_force_torque_sensor_broadcaster]: Configured and activated force_torque_sensor_broadcaster [spawner-7] [INFO] [1675066427.230529761] [spawner_speed_scaling_state_broadcaster]: Configured and activated speed_scaling_state_broadcaster [spawner-5] [INFO] [1675066427.235165550] [spawner_joint_state_broadcaster]: Configured and activated joint_state_broadcaster [INFO] [spawner-9]: process has finished cleanly [pid 4352] [spawner-10] [INFO] [1675066427.243567596] [spawner_scaled_joint_trajectory_controller]: Configured and activated scaled_joint_trajectory_controller [spawner-6] [INFO] [1675066427.300192643] [spawner_io_and_status_controller]: Waiting for '/controller_manager' node to exist [INFO] [spawner-7]: process has finished cleanly [pid 4334] [INFO] [spawner-8]: process has finished cleanly [pid 4342] [INFO] [spawner-5]: process has finished cleanly [pid 4304] [INFO] [spawner-10]: process has finished cleanly [pid 4355] [ur_ros2_control_node-1] [INFO] [1675066428.239940839] [controller_manager]: Loading controller 'io_and_status_controller' [spawner-6] [INFO] [1675066428.285961884] [spawner_io_and_status_controller]: Loaded io_and_status_controller [ur_ros2_control_node-1] [INFO] [1675066428.291142206] [controller_manager]: Configuring controller 'io_and_status_controller' [spawner-6] [INFO] [1675066428.334238083] [spawner_io_and_status_controller]: Configured and activated io_and_status_controller [INFO] [spawner-6]: process has finished cleanly [pid 4310]

^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)

[ur_ros2_control_node-1] terminate called without an active exception [INFO] [controller_stopper_node-3]: process has finished cleanly [pid 4300] [INFO] [robot_state_publisher-4]: process has finished cleanly [pid 4302] [ERROR] [dashboard_client-2]: process has died [pid 4298, exit code -11, cmd '/home/seungmin/seungmin_workspace/install/ur_robot_driver/lib/ur_robot_driver/dashboard_client --ros-args -r __node:=dashboard_client --params-file /tmp/launch_params_m13akwui']. [ERROR] [ur_ros2_control_node-1]: process has died [pid 4296, exit code -6, cmd '/home/seungmin/seungmin_workspace/install/ur_robot_driver/lib/ur_robot_driver/ur_ros2_control_node --ros-args --params-file /tmp/launch_params_x94azlxp --params-file /home/seungmin/seungmin_workspace/install/ur_robot_driver/share/ur_robot_driver/config/ur3e_update_rate.yaml --params-file /home/seungmin/seungmin_workspace/install/ur_robot_driver/share/ur_robot_driver/config/ur_controllers.yaml'].`

When I searched for the difference, when I press ctrl-c when connected normally [ur_ros2_control_node-1] [INFO] [1675066050.835796164] [UR_Client_Library]: Connection to reverse interface dropped. While the connection is disconnected with the code, when the connection is not established, the connection is automatically disconnected with the code even without pressing ctrl-c.

In local control mode, it connects without any problems. What is the problem??

fmauch commented 1 year ago

Connection to reverse interface dropped. basically means that the program running on the robot (which is interpreting the commands sent from ROS through the reverse interface) stopped. This could be to multiple reasons:

I am a bit surprised that you use headless_mode=True on local control mode, from my understanding this should not work. I assume, that you still manually start a program on the TP? (Which is not what headless_mode is for).

If that's what you do, then I think this is what happens:

When using headless_mode the interpreting script is sent to the robot for execution right after the driver has been started. If the robot is running in local control mode, this script will simply be ignored by the robot controller. When the robot is in remote control mode, the scripts starts and connects to the reverse interface (In your output that happens at timestamp 1675066425.791171146). Now, when you start the program on the TP as you did before, the running script gets stopped as explained above, hence the Connection to reverse interface dropped. With the following statement I am not 100% sure, but I think when you interrupt our program with another program, the other program doesn't start rightaway (at least that's what I experienced when manually moving the robot while the program was running), hence you end up with no program running.

I hope this all makes sense. As the main takeaway: When using headless_mode in combination with remote control mode, don't manually start a program on the robot. When you are not in remote control mode, don't use headless_mode.

VinDp commented 2 weeks ago

Since the issue is pretty old, I will close it. Feel free to reopen if still relevant.