IFRA-Cranfield / ros2_SimRealRobotControl

This repository provides ready-to-use ROS2 (Humble) packages to execute simple programs and sequences and control different Industrial and Collaborative Robots using ROS 2.
Apache License 2.0
84 stars 10 forks source link

Not able to connect to real robot #5

Closed NilsHeidemann closed 2 months ago

NilsHeidemann commented 1 year ago

I have an ABB IRB2600 robot and a PC on which Ubuntu 22.04 and ROS2 Humble are installed. I am trying to establish a connection between the ROS2 PC and the robot by using the following command:

ros2 launch ros2srrc_irb2600_bringup irb2600_bringup.launch.py

I have adapted the robot description and configuration files and renamed all files to fit my robot model. After I have entered the command I receive the following response:

nihe@ws-autom-03:~$ source /opt/ros/humble/setup.bash
nihe@ws-autom-03:~$ source /var/Airbus/dev_ws/install/setup.bash
nihe@ws-autom-03:~$ ros2 launch ros2srrc_irb2600_bringup irb2600_bringup.launch.py
[INFO] [launch]: All log files can be found below /home/nihe/.ros/log/2023-09-20-15-37-19-339069-ws-autom-03-41673
[INFO] [launch]: Default logging verbosity is set to INFO

===== ABB IRB-2600: Robot Bringup (ros2srrc_irb2600_bringup) =====
Robot configuration:

- IP Address:
  Please input the IP Address of the Robot: 10.83.141.60

- Cell layout:
     + Option N1: ABB IRB-2600 alone.
     + Option N2: Cranfield University: IA Lab enclosure.
     + Option N3: Pick and Place use-case.
  Please select: 1

- End-effector:
     + Option N1: No end-effector.
     + Option N2: Schunk EGP-64 parallel gripper.
  Please select: 1

[INFO] [ros2_control_node-1]: process started with pid [41679]
[INFO] [robot_state_publisher-2]: process started with pid [41681]
[INFO] [static_transform_publisher-3]: process started with pid [41683]
[INFO] [spawner-4]: process started with pid [41685]
[INFO] [spawner-5]: process started with pid [41687]
[INFO] [rws_client-6]: process started with pid [41689]
[static_transform_publisher-3] [WARN] [1695217060.038130787] []: Old-style arguments are deprecated; see --help for new-style arguments
[static_transform_publisher-3] [INFO] [1695217060.044351888] [static_transform_publisher]: Spinning until stopped - publishing transform
[static_transform_publisher-3] translation: ('0.000000', '0.000000', '0.000000')
[static_transform_publisher-3] rotation: ('0.000000', '0.000000', '0.000000', '1.000000')
[static_transform_publisher-3] from 'world' to 'base_link'
[robot_state_publisher-2] [INFO] [1695217060.046552659] [robot_state_publisher]: got segment base
[robot_state_publisher-2] [INFO] [1695217060.046595124] [robot_state_publisher]: got segment base_link
[robot_state_publisher-2] [INFO] [1695217060.046598763] [robot_state_publisher]: got segment flange
[robot_state_publisher-2] [INFO] [1695217060.046601146] [robot_state_publisher]: got segment link_1
[robot_state_publisher-2] [INFO] [1695217060.046602966] [robot_state_publisher]: got segment link_2
[robot_state_publisher-2] [INFO] [1695217060.046604773] [robot_state_publisher]: got segment link_3
[robot_state_publisher-2] [INFO] [1695217060.046606572] [robot_state_publisher]: got segment link_4
[robot_state_publisher-2] [INFO] [1695217060.046608293] [robot_state_publisher]: got segment link_5
[robot_state_publisher-2] [INFO] [1695217060.046610030] [robot_state_publisher]: got segment link_6
[robot_state_publisher-2] [INFO] [1695217060.046611891] [robot_state_publisher]: got segment tool0
[robot_state_publisher-2] [INFO] [1695217060.046613805] [robot_state_publisher]: got segment world
[ros2_control_node-1] [INFO] [1695217060.049850046] [resource_manager]: Loading hardware 'ABBMultiInterfaceHardware' 
[ros2_control_node-1] [INFO] [1695217060.053529694] [resource_manager]: Initialize hardware 'ABBMultiInterfaceHardware' 
[ros2_control_node-1] [INFO] [1695217060.215627067] [ABBSystemHardware]: Robot controller description:
[ros2_control_node-1] ============================================================
[ros2_control_node-1] = Summary of robot controller at '10.83.141.60:80'
[ros2_control_node-1] ============================================================
[ros2_control_node-1] # General Information:
[ros2_control_node-1]   |- RobotWare version: 6.13.01.00
[ros2_control_node-1]   |- System name: 2600-117066
[ros2_control_node-1]   |- System type: Real Controller
[ros2_control_node-1]   |- Options:
[ros2_control_node-1]      |- RobotWare Base
[ros2_control_node-1]      |- 888-2 PROFINET Controller/Device
[ros2_control_node-1]      |- 997-1 PROFIsafe F-Device
[ros2_control_node-1]      |- 996-1 Safety Module
[ros2_control_node-1]      |- 988-1 RW Add-In Prepared
[ros2_control_node-1]      |- 608-1 World Zones
[ros2_control_node-1]      |- 611-1 Path Recovery
[ros2_control_node-1]      |- 613-1 Collision Detection
[ros2_control_node-1]      |- 616-1 PC Interface
[ros2_control_node-1]      |- 617-1 FlexPendant Interface
[ros2_control_node-1]      |- 623-1 Multitasking
[ros2_control_node-1]      |- 689-1 Externally Guided Motion (EGM)
[ros2_control_node-1]      |- UDPUC Driver
[ros2_control_node-1]      |- 1125-2 SafeMove Pro
[ros2_control_node-1]      |- Motor Commutation
[ros2_control_node-1]      |- Service Info System
[ros2_control_node-1]      |- Pendelum Calibration
[ros2_control_node-1]      |- Drive System IRB 2600/390/4400/6400R
[ros2_control_node-1]      |- IRB 2600-20/1.65 Type B
[ros2_control_node-1]      |- Axis Calibration
[ros2_control_node-1] 
[ros2_control_node-1] # Mechanical Units:
[ros2_control_node-1]   |- Unit: ROB_1
[ros2_control_node-1] 
[ros2_control_node-1] # Mechanical Unit Groups:
[ros2_control_node-1]   |- N/A (only for MultiMove systems)
[ros2_control_node-1] ============================================================
[ros2_control_node-1] [INFO] [1695217060.215686877] [ABBSystemHardware]: Configuring EGM interface...
[ros2_control_node-1] [INFO] [1695217060.215868184] [ABBSystemHardware]: Configuring EGM for mechanical unit group  on port 6511
[ros2_control_node-1] [INFO] [1695217060.222640339] [resource_manager]: Successful initialization of hardware 'ABBMultiInterfaceHardware'
[ros2_control_node-1] [INFO] [1695217060.222969956] [resource_manager]: 'configure' hardware 'ABBMultiInterfaceHardware' 
[ros2_control_node-1] [INFO] [1695217060.222985511] [resource_manager]: Successful 'configure' of hardware 'ABBMultiInterfaceHardware'
[ros2_control_node-1] [INFO] [1695217060.223000702] [resource_manager]: 'activate' hardware 'ABBMultiInterfaceHardware' 
[ros2_control_node-1] [INFO] [1695217060.223008084] [ABBSystemHardware]: Connecting to robot...
[rws_client-6] [INFO] [1695217060.224645263] [rws_client]: RWS client services initialized!
[rws_client-6] [INFO] [1695217060.328933511] [rws_client]: RWS state publisher initialized!
[ros2_control_node-1] [INFO] [1695217060.723230666] [ABBSystemHardware]: Not connected to robot...
[ros2_control_node-1] [INFO] [1695217061.723624846] [ABBSystemHardware]: Not connected to robot...
[spawner-5] [INFO] [1695217062.194168494] [spawner_joint_trajectory_controller]: Waiting for '/controller_manager' services to be available
[spawner-4] [INFO] [1695217062.194262892] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' services to be available
[ros2_control_node-1] [INFO] [1695217062.724055181] [ABBSystemHardware]: Not connected to robot...
[ros2_control_node-1] [INFO] [1695217063.724514652] [ABBSystemHardware]: Not connected to robot...
[spawner-5] [INFO] [1695217064.206666214] [spawner_joint_trajectory_controller]: Waiting for '/controller_manager' services to be available
[spawner-4] [INFO] [1695217064.206822352] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' services to be available
[ros2_control_node-1] [INFO] [1695217064.725035900] [ABBSystemHardware]: Not connected to robot...
[ros2_control_node-1] [INFO] [1695217065.725563891] [ABBSystemHardware]: Not connected to robot...
[spawner-4] [INFO] [1695217066.218913375] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' services to be available
[spawner-5] [INFO] [1695217066.218926162] [spawner_joint_trajectory_controller]: Waiting for '/controller_manager' services to be available
[ros2_control_node-1] [INFO] [1695217066.726038631] [ABBSystemHardware]: Not connected to robot...
[ros2_control_node-1] [INFO] [1695217067.726593491] [ABBSystemHardware]: Not connected to robot...
[spawner-4] [INFO] [1695217068.231779535] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' services to be available
[spawner-5] [INFO] [1695217068.231825933] [spawner_joint_trajectory_controller]: Waiting for '/controller_manager' services to be available
[ros2_control_node-1] [INFO] [1695217068.727029265] [ABBSystemHardware]: Not connected to robot...
[ros2_control_node-1] [INFO] [1695217069.727507168] [ABBSystemHardware]: Not connected to robot...
[spawner-4] [ERROR] [1695217070.244324257] [spawner_joint_state_broadcaster]: Controller manager not available
[spawner-5] [ERROR] [1695217070.244537101] [spawner_joint_trajectory_controller]: Controller manager not available
[ERROR] [spawner-4]: process has died [pid 41685, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner joint_state_broadcaster --controller-manager /controller_manager --ros-args'].
[ERROR] [spawner-5]: process has died [pid 41687, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner joint_trajectory_controller -c /controller_manager --ros-args'].
[INFO] [move_group-7]: process started with pid [41770]
[INFO] [move-8]: process started with pid [41772]
[INFO] [sequence-9]: process started with pid [41774]
[INFO] [robmove-10]: process started with pid [41776]
[INFO] [robpose-11]: process started with pid [41778]
[sequence-9] [INFO] [1695217070.499233279] [sequence]: ROB_PARAM received -> irb2600
[move-8] [INFO] [1695217070.499400784] [move]: ROB_PARAM received -> irb2600
[move-8] [WARN] [1695217070.499589772] [rcl.logging_rosout]: Publisher already registered for provided node name. If this is due to multiple nodes with the same name then all logs for that logger name will go out over the existing publisher. As soon as any node with that name is destructed it will unregister the publisher, preventing any further logs for that name from being published on the rosout topic.
[robpose-11] [INFO] [1695217070.499405808] [robpose]: ROB_PARAM received -> irb2600
[robpose-11] [WARN] [1695217070.499682417] [rcl.logging_rosout]: Publisher already registered for provided node name. If this is due to multiple nodes with the same name then all logs for that logger name will go out over the existing publisher. As soon as any node with that name is destructed it will unregister the publisher, preventing any further logs for that name from being published on the rosout topic.
[sequence-9] [WARN] [1695217070.499443391] [rcl.logging_rosout]: Publisher already registered for provided node name. If this is due to multiple nodes with the same name then all logs for that logger name will go out over the existing publisher. As soon as any node with that name is destructed it will unregister the publisher, preventing any further logs for that name from being published on the rosout topic.
[move_group-7] [WARN] [1695217070.499746522] [move_group.move_group]: Falling back to using the the move_group node namespace (deprecated behavior).
[robmove-10] [INFO] [1695217070.500433454] [robmove]: ROB_PARAM received -> irb2600
[robmove-10] [WARN] [1695217070.500611582] [rcl.logging_rosout]: Publisher already registered for provided node name. If this is due to multiple nodes with the same name then all logs for that logger name will go out over the existing publisher. As soon as any node with that name is destructed it will unregister the publisher, preventing any further logs for that name from being published on the rosout topic.
[move_group-7] [INFO] [1695217070.501626790] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 0.00176857 seconds
[move_group-7] [INFO] [1695217070.501652343] [moveit_robot_model.robot_model]: Loading robot model 'irb2600'...
[sequence-9] [INFO] [1695217070.503072551] [sequence]: EE_PARAM received -> none
[sequence-9] [WARN] [1695217070.503192282] [rcl.logging_rosout]: Publisher already registered for provided node name. If this is due to multiple nodes with the same name then all logs for that logger name will go out over the existing publisher. As soon as any node with that name is destructed it will unregister the publisher, preventing any further logs for that name from being published on the rosout topic.
[move-8] [INFO] [1695217070.503990788] [move]: EE_PARAM received -> none
[move-8] [WARN] [1695217070.504094142] [rcl.logging_rosout]: Publisher already registered for provided node name. If this is due to multiple nodes with the same name then all logs for that logger name will go out over the existing publisher. As soon as any node with that name is destructed it will unregister the publisher, preventing any further logs for that name from being published on the rosout topic.
[robpose-11] [INFO] [1695217070.505937438] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 0 seconds
[robpose-11] [INFO] [1695217070.505964069] [moveit_robot_model.robot_model]: Loading robot model 'irb2600'...
[robmove-10] [INFO] [1695217070.506461072] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 0 seconds
[robmove-10] [INFO] [1695217070.506486460] [moveit_robot_model.robot_model]: Loading robot model 'irb2600'...
[sequence-9] [INFO] [1695217070.506683297] [sequence]: ENV_PARAM received -> bringup
[sequence-9] [WARN] [1695217070.506823220] [rcl.logging_rosout]: Publisher already registered for provided node name. If this is due to multiple nodes with the same name then all logs for that logger name will go out over the existing publisher. As soon as any node with that name is destructed it will unregister the publisher, preventing any further logs for that name from being published on the rosout topic.
[move-8] [INFO] [1695217070.507690470] [move]: ENV_PARAM received -> bringup
[move-8] [WARN] [1695217070.507773342] [rcl.logging_rosout]: Publisher already registered for provided node name. If this is due to multiple nodes with the same name then all logs for that logger name will go out over the existing publisher. As soon as any node with that name is destructed it will unregister the publisher, preventing any further logs for that name from being published on the rosout topic.
[move-8] [INFO] [1695217070.511821407] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 0.00138969 seconds
[move-8] [INFO] [1695217070.511838768] [moveit_robot_model.robot_model]: Loading robot model 'irb2600'...
[sequence-9] [INFO] [1695217070.512193414] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 0.00176303 seconds
[sequence-9] [INFO] [1695217070.512212114] [moveit_robot_model.robot_model]: Loading robot model 'irb2600'...
[move_group-7] [INFO] [1695217070.687729770] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Publishing maintained planning scene on 'monitored_planning_scene'
[move_group-7] [INFO] [1695217070.687814758] [moveit.ros_planning_interface.moveit_cpp]: Listening to 'joint_states' for joint states
[move_group-7] [INFO] [1695217070.688206396] [moveit_ros.current_state_monitor]: Listening to joint states on topic 'joint_states'
[move_group-7] [INFO] [1695217070.688388496] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Listening to '/attached_collision_object' for attached collision objects
[move_group-7] [INFO] [1695217070.688396069] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Starting planning scene monitor
[move_group-7] [INFO] [1695217070.688503511] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Listening to '/planning_scene'
[move_group-7] [INFO] [1695217070.688509898] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Starting world geometry update monitor for collision objects, attached objects, octomap updates.
[move_group-7] [INFO] [1695217070.688625503] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Listening to 'collision_object'
[move_group-7] [INFO] [1695217070.688726978] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Listening to 'planning_scene_world' for planning scene world geometry
[move_group-7] [WARN] [1695217070.688881582] [moveit.ros.occupancy_map_monitor.middleware_handle]: Resolution not specified for Octomap. Assuming resolution = 0.1 instead
[move_group-7] [ERROR] [1695217070.688887576] [moveit.ros.occupancy_map_monitor.middleware_handle]: No 3D sensor plugin(s) defined for octomap updates
[ros2_control_node-1] [INFO] [1695217070.727904336] [ABBSystemHardware]: Not connected to robot...
[move_group-7] [INFO] [1695217070.773081596] [moveit.ros_planning_interface.moveit_cpp]: Loading planning pipeline 'move_group'
[move_group-7] [INFO] [1695217070.774265111] [moveit.pilz_industrial_motion_planner.joint_limits_aggregator]: Reading limits from namespace robot_description_planning
[move_group-7] [INFO] [1695217070.775696289] [moveit.pilz_industrial_motion_planner]: Available plugins: pilz_industrial_motion_planner/PlanningContextLoaderCIRC pilz_industrial_motion_planner/PlanningContextLoaderLIN pilz_industrial_motion_planner/PlanningContextLoaderPTP 
[move_group-7] [INFO] [1695217070.775703343] [moveit.pilz_industrial_motion_planner]: About to load: pilz_industrial_motion_planner/PlanningContextLoaderCIRC
[move_group-7] [INFO] [1695217070.776224859] [moveit.pilz_industrial_motion_planner]: Registered Algorithm [CIRC]
[move_group-7] [INFO] [1695217070.776230085] [moveit.pilz_industrial_motion_planner]: About to load: pilz_industrial_motion_planner/PlanningContextLoaderLIN
[move_group-7] [INFO] [1695217070.776575255] [moveit.pilz_industrial_motion_planner]: Registered Algorithm [LIN]
[move_group-7] [INFO] [1695217070.776579205] [moveit.pilz_industrial_motion_planner]: About to load: pilz_industrial_motion_planner/PlanningContextLoaderPTP
[move_group-7] [INFO] [1695217070.776896198] [moveit.pilz_industrial_motion_planner]: Registered Algorithm [PTP]
[move_group-7] [INFO] [1695217070.776901492] [moveit.ros_planning.planning_pipeline]: Using planning interface 'Pilz Industrial Motion Planner'
[move_group-7] [INFO] [1695217070.784506712] [moveit.plugins.moveit_simple_controller_manager]: Added FollowJointTrajectory controller for joint_trajectory_controller
[move_group-7] [INFO] [1695217070.784574007] [moveit.plugins.moveit_simple_controller_manager]: Returned 1 controllers in list
[move_group-7] [INFO] [1695217070.784582499] [moveit.plugins.moveit_simple_controller_manager]: Returned 1 controllers in list
[move_group-7] [INFO] [1695217070.784827856] [moveit_ros.trajectory_execution_manager]: Trajectory execution is not managing controllers
[move_group-7] [INFO] [1695217070.784834905] [move_group.move_group]: MoveGroup debug mode is ON
[robpose-11] [INFO] [1695217070.791335544] [move_group_interface]: Ready to take commands for planning group irb2600_arm.
[robpose-11] [WARN] [1695217070.791378982] [rcl.logging_rosout]: Publisher already registered for provided node name. If this is due to multiple nodes with the same name then all logs for that logger name will go out over the existing publisher. As soon as any node with that name is destructed it will unregister the publisher, preventing any further logs for that name from being published on the rosout topic.
[move-8] [INFO] [1695217070.791692327] [move_group_interface]: Ready to take commands for planning group irb2600_arm.
[sequence-9] [INFO] [1695217070.791950212] [move_group_interface]: Ready to take commands for planning group irb2600_arm.
[move-8] [INFO] [1695217070.792046650] [moveit_ros.current_state_monitor]: Listening to joint states on topic 'joint_states'
[sequence-9] [INFO] [1695217070.792363284] [moveit_ros.current_state_monitor]: Listening to joint states on topic 'joint_states'
[robmove-10] [INFO] [1695217070.792769772] [move_group_interface]: Ready to take commands for planning group irb2600_arm.
[robmove-10] [INFO] [1695217070.792788062] [RobMove_INTERFACE]: MoveGroupInterface object created for ROBOT: @����
[move_group-7] [INFO] [1695217070.793770052] [moveit.pilz_industrial_motion_planner.move_group_sequence_action]: initialize move group sequence action
[move_group-7] [INFO] [1695217070.794847779] [moveit.pilz_industrial_motion_planner.joint_limits_aggregator]: Reading limits from namespace robot_description_planning
[move_group-7] [WARN] [1695217070.794918538] [move_group]: Failed loading deceleration limits
[move_group-7] [WARN] [1695217070.794968069] [move_group]: Failed loading deceleration limits
[move_group-7] [WARN] [1695217070.794980817] [move_group]: Failed loading deceleration limits
[move_group-7] [WARN] [1695217070.794992172] [move_group]: Failed loading deceleration limits
[move_group-7] [WARN] [1695217070.795003607] [move_group]: Failed loading deceleration limits
[move_group-7] [WARN] [1695217070.795014572] [move_group]: Failed loading deceleration limits
[move_group-7] [INFO] [1695217070.795042143] [moveit.pilz_industrial_motion_planner.joint_limits_aggregator]: Reading limits from namespace robot_description_planning
[move_group-7] [WARN] [1695217070.795055896] [move_group]: Failed loading deceleration limits
[move_group-7] [WARN] [1695217070.795071662] [move_group]: Failed loading deceleration limits
[move_group-7] [WARN] [1695217070.795085949] [move_group]: Failed loading deceleration limits
[move_group-7] [WARN] [1695217070.795101377] [move_group]: Failed loading deceleration limits
[move_group-7] [WARN] [1695217070.795116418] [move_group]: Failed loading deceleration limits
[move_group-7] [WARN] [1695217070.795127745] [move_group]: Failed loading deceleration limits
[move_group-7] [INFO] [1695217070.795398476] [move_group.move_group]: 
[move_group-7] 
[move_group-7] ********************************************************
[move_group-7] * MoveGroup using: 
[move_group-7] *     - ApplyPlanningSceneService
[move_group-7] *     - ClearOctomapService
[move_group-7] *     - CartesianPathService
[move_group-7] *     - ExecuteTrajectoryAction
[move_group-7] *     - GetPlanningSceneService
[move_group-7] *     - KinematicsService
[move_group-7] *     - MoveAction
[move_group-7] *     - MotionPlanService
[move_group-7] *     - QueryPlannersService
[move_group-7] *     - StateValidationService
[move_group-7] *     - SequenceAction
[move_group-7] *     - SequenceService
[move_group-7] ********************************************************
[move_group-7] 
[move_group-7] [INFO] [1695217070.795415492] [moveit_move_group_capabilities_base.move_group_context]: MoveGroup context using planning plugin pilz_industrial_motion_planner/CommandPlanner
[move_group-7] [INFO] [1695217070.795419499] [moveit_move_group_capabilities_base.move_group_context]: MoveGroup context initialization complete
[move_group-7] Loading 'move_group/ApplyPlanningSceneService'...
[move_group-7] Loading 'move_group/ClearOctomapService'...
[move_group-7] Loading 'move_group/MoveGroupCartesianPathService'...
[move_group-7] Loading 'move_group/MoveGroupExecuteTrajectoryAction'...
[move_group-7] Loading 'move_group/MoveGroupGetPlanningSceneService'...
[move_group-7] Loading 'move_group/MoveGroupKinematicsService'...
[move_group-7] Loading 'move_group/MoveGroupMoveAction'...
[move_group-7] Loading 'move_group/MoveGroupPlanService'...
[move_group-7] Loading 'move_group/MoveGroupQueryPlannersService'...
[move_group-7] Loading 'move_group/MoveGroupStateValidationService'...
[move_group-7] Loading 'pilz_industrial_motion_planner/MoveGroupSequenceAction'...
[move_group-7] Loading 'pilz_industrial_motion_planner/MoveGroupSequenceService'...
[move_group-7] 
[move_group-7] You can start planning now!
[move_group-7] 
[robmove-10] [WARN] [1695217070.796145198] [rcl.logging_rosout]: Publisher already registered for provided node name. If this is due to multiple nodes with the same name then all logs for that logger name will go out over the existing publisher. As soon as any node with that name is destructed it will unregister the publisher, preventing any further logs for that name from being published on the rosout topic.
[robpose-11] [INFO] [1695217070.845030116] [moveit_ros.current_state_monitor]: Listening to joint states on topic 'joint_states'
[ros2_control_node-1] [INFO] [1695217071.728325846] [ABBSystemHardware]: Not connected to robot...
[move-8] [INFO] [1695217071.792269594] [moveit_ros.current_state_monitor]: Didn't received robot state (joint angles) with recent timestamp within 1.000000 seconds.
[move-8] Check clock synchronization if your are running ROS across multiple machines!
[move-8] [ERROR] [1695217071.792362695] [move_group_interface]: Failed to fetch current robot state
[sequence-9] [INFO] [1695217071.792557733] [moveit_ros.current_state_monitor]: Didn't received robot state (joint angles) with recent timestamp within 1.000000 seconds.
[sequence-9] Check clock synchronization if your are running ROS across multiple machines!
[sequence-9] [ERROR] [1695217071.792613843] [move_group_interface]: Failed to fetch current robot state
[ros2_control_node-1] [INFO] [1695217072.728672612] [ABBSystemHardware]: Not connected to robot...
[ERROR] [sequence-9]: process has died [pid 41774, exit code -11, cmd '/var/Airbus/dev_ws/install/ros2srrc_execution/lib/ros2srrc_execution/sequence --ros-args -r __node:=sequence --params-file /tmp/launch_params_0_ecgr97 --params-file /tmp/launch_params_4yo8qeov --params-file /tmp/launch_params_rmwgzth8 --params-file /tmp/launch_params_rrh7zit6 --params-file /tmp/launch_params_ez0y3h2j --params-file /tmp/launch_params_e5ue26jt'].
[ros2_control_node-1] [INFO] [1695217073.728924436] [ABBSystemHardware]: Not connected to robot...
[ERROR] [move-8]: process has died [pid 41772, exit code -11, cmd '/var/Airbus/dev_ws/install/ros2srrc_execution/lib/ros2srrc_execution/move --ros-args -r __node:=move --params-file /tmp/launch_params_yaks8qyd --params-file /tmp/launch_params_yq3frs3_ --params-file /tmp/launch_params_5iuqws65 --params-file /tmp/launch_params_4sqxulv4 --params-file /tmp/launch_params_9ro7t9v6 --params-file /tmp/launch_params_zvlha160'].
[ros2_control_node-1] [INFO] [1695217074.729262168] [ABBSystemHardware]: Not connected to robot...
[INFO] [rviz2-12]: process started with pid [41891]
[ros2_control_node-1] [INFO] [1695217075.729692568] [ABBSystemHardware]: Not connected to robot...
[rviz2-12] [INFO] [1695217075.827669137] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-12] [INFO] [1695217075.827759230] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
[rviz2-12] [INFO] [1695217075.921944165] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-12] Warning: class_loader.impl: SEVERE WARNING!!! A namespace collision has occurred with plugin factory for class rviz_default_plugins::displays::InteractiveMarkerDisplay. New factory will OVERWRITE existing one. This situation occurs when libraries containing plugins are directly linked against an executable (the one running right now generating this message). Please separate plugins out into their own library or just don't link against the library and use either class_loader::ClassLoader/MultiLibraryClassLoader to open.
[rviz2-12]          at line 253 in /opt/ros/humble/include/class_loader/class_loader/class_loader_core.hpp
[ros2_control_node-1] [INFO] [1695217076.730074176] [ABBSystemHardware]: Not connected to robot...
[ros2_control_node-1] [INFO] [1695217077.730622457] [ABBSystemHardware]: Not connected to robot...
[ros2_control_node-1] [INFO] [1695217078.731136318] [ABBSystemHardware]: Not connected to robot...
[rviz2-12] [ERROR] [1695217078.972356122] [moveit_ros_visualization.motion_planning_frame]: Action server: /recognize_objects not available
[rviz2-12] [INFO] [1695217078.992524504] [moveit_ros_visualization.motion_planning_frame]: MoveGroup namespace changed: / -> . Reloading params.
[rviz2-12] [INFO] [1695217079.047735335] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 0.00130333 seconds
[rviz2-12] [INFO] [1695217079.047761926] [moveit_robot_model.robot_model]: Loading robot model 'irb2600'...
[rviz2-12] [INFO] [1695217079.225942411] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Publishing maintained planning scene on 'monitored_planning_scene'
[rviz2-12] [INFO] [1695217079.247462536] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Starting planning scene monitor
[rviz2-12] [INFO] [1695217079.247856247] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Listening to '/monitored_planning_scene'
[rviz2-12] [INFO] [1695217079.371929239] [interactive_marker_display_94791189675424]: Connected on namespace: /rviz_moveit_motion_planning_display/robot_interaction_interactive_marker_topic
[rviz2-12] [INFO] [1695217079.376729302] [moveit_ros_visualization.motion_planning_frame]: group irb2600_arm
[rviz2-12] [INFO] [1695217079.376740701] [moveit_ros_visualization.motion_planning_frame]: Constructing new MoveGroup connection for group 'irb2600_arm' in namespace ''
[rviz2-12] [INFO] [1695217079.379241416] [move_group_interface]: Ready to take commands for planning group irb2600_arm.
[rviz2-12] [INFO] [1695217079.379697255] [moveit_ros_visualization.motion_planning_frame]: group irb2600_arm
[rviz2-12] [INFO] [1695217079.379718869] [moveit_ros_visualization.motion_planning_frame]: group irb2600_arm
[rviz2-12] [INFO] [1695217079.386548606] [interactive_marker_display_94791189675424]: Sending request for interactive markers
[rviz2-12] [INFO] [1695217079.419267664] [interactive_marker_display_94791189675424]: Service response received for initialization
[ros2_control_node-1] [INFO] [1695217079.731601901] [ABBSystemHardware]: Not connected to robot...
[ros2_control_node-1] [INFO] [1695217080.732042825] [ABBSystemHardware]: Not connected to robot...
[ros2_control_node-1] [INFO] [1695217081.732464611] [ABBSystemHardware]: Not connected to robot...
[ros2_control_node-1] [INFO] [1695217082.732799894] [ABBSystemHardware]: Not connected to robot...
[ros2_control_node-1] [INFO] [1695217083.733229108] [ABBSystemHardware]: Not connected to robot...
[ros2_control_node-1] [INFO] [1695217084.733663053] [ABBSystemHardware]: Not connected to robot...
[ros2_control_node-1] [INFO] [1695217085.734065863] [ABBSystemHardware]: Not connected to robot...
[ros2_control_node-1] [INFO] [1695217086.734539034] [ABBSystemHardware]: Not connected to robot...

As you can see the general information of the robot is displayed but the ros2_control_node cannot connect to the robot. Some things I tried or believe are important:

CallbackReturn ABBSystemHardware::on_activate(const rclcpp_lifecycle::State& /* previous_state */)
{
  size_t counter = 0;
  RCLCPP_INFO(LOGGER, "Connecting to robot...");
  while (rclcpp::ok() && ++counter < NUM_CONNECTION_TRIES)
  {
    // Wait for a message on any of the configured EGM channels.
    if (egm_manager_->waitForMessage(500))
    {
      RCLCPP_INFO(LOGGER, "Connected to robot");
      break;
    }

    RCLCPP_INFO(LOGGER, "Not connected to robot...");
    if (counter == NUM_CONNECTION_TRIES)
    {
      RCLCPP_ERROR(LOGGER, "Failed to connect to robot");
      return CallbackReturn::ERROR;
    }
    rclcpp::sleep_for(500ms);
  }

It seems that the egmmanager has to send a message in order to get a "Connected to robot" line. So maybe theres somethiong wrong with the EGM-connection? I also looked into the egm_manager.cpp file but I was not able to find something that helped me.

RobotStudioSetup

There are 2 other lines in my example which might cause the connection issues but I am not sure of that. The "spawner_joint_trajectory_controller" and the "spawner_joint_state_broadcaster" are waiting for '/controller_manager' services to be available. I don't know if the controller manager issue and the connection problem are related to each other but if one problem is solved the other might be too. I searched for some other people who had the same problems and I also contacted the people who developed the ABB Driver but until now I wasn't able to solve my issue.

Maybe I can find help here :)

NilsHeidemann commented 1 year ago

I was able to solve the issue by myself. I forgot to add the code from the TRob1Main.mod file to the robots RAPID module.

Huangruopeng commented 3 months ago

When you added .mod file, how did you load the module to the controller? I still keep getting the same error

NilsHeidemann commented 3 months ago

Put the TRob1Main on an USB stick, plug it into your robot (useually theres a usb slot on the control panel) and use it as your program. When you start this program you will see it searches for a device (your ROS PC)