PickNikRobotics / abb_ros2

Apache License 2.0
82 stars 34 forks source link

Action client not connected to action server: joint_traj_compliance_controller/follow_joint_trajectory #27

Closed Michelangelo-Y closed 2 years ago

Michelangelo-Y commented 2 years ago

Simulating a robot in ROS2: For this simulation, ROS2 simulates the robot controllers. RobotStudio or a physical robot are not needed. ros2 launch abb_bringup abb_control.launch.py description_package:=abb_irb1200_support description_file:=irb1200_5_90.xacro launch_rviz:=false moveit_config_package:=abb_irb1200_5_90_moveit_config use_fake_hardware:=true

After launching the controllers, launch MoveIt: ros2 launch abb_bringup abb_moveit.launch.py robot_xacro_file:=irb1200_5_90.xacro support_package:=abb_irb1200_support moveit_config_package:=abb_irb1200_5_90_moveit_config moveit_config_file:=abb_irb1200_5_90.srdf.xacro

i launch MoveIt with the guide above,when i plan&execute the robot to move,get an error like this: [move_group-1] [ERROR] [1657782273.093466545] [moveit.simple_controller_manager.follow_joint_trajectory_controller_handle]: Action client not connected to action server: joint_traj_compliance_controller/follow_joint_trajectory [move_group-1] [ERROR] [1657782273.093486026] [moveit_ros.trajectory_execution_manager]: Failed to send trajectory part 1 of 1 to controller joint_traj_compliance_controller

Yadunund commented 2 years ago

I have the same issue.

Setup

The problem seems to be with the process launched in the first terminal. The controller_manager dies

[ros2_control_node-1] [INFO] [1658224312.478690646] [controller_manager]: Loading controller 'joint_traj_compliance_controller'
[ros2_control_node-1] [ERROR] [1658224312.478727455] [controller_manager]: Loader for controller 'joint_traj_compliance_controller' (type 'joint_traj_compliance_controller/JointTrajComplianceController') not found.
[ros2_control_node-1] [INFO] [1658224312.478737043] [controller_manager]: Available classes:
[ros2_control_node-1] [INFO] [1658224312.478747663] [controller_manager]:   controller_manager/test_controller
[ros2_control_node-1] [INFO] [1658224312.478754957] [controller_manager]:   controller_manager/test_controller_failed_init
[ros2_control_node-1] [INFO] [1658224312.478762091] [controller_manager]:   controller_manager/test_controller_with_interfaces
[ros2_control_node-1] [INFO] [1658224312.478769274] [controller_manager]:   diff_drive_controller/DiffDriveController
[ros2_control_node-1] [INFO] [1658224312.478776287] [controller_manager]:   effort_controllers/GripperActionController
[ros2_control_node-1] [INFO] [1658224312.478783030] [controller_manager]:   effort_controllers/JointGroupEffortController
[ros2_control_node-1] [INFO] [1658224312.478790013] [controller_manager]:   force_torque_sensor_broadcaster/ForceTorqueSensorBroadcaster
[ros2_control_node-1] [INFO] [1658224312.478796936] [controller_manager]:   forward_command_controller/ForwardCommandController
[ros2_control_node-1] [INFO] [1658224312.478805482] [controller_manager]:   forward_command_controller/MultiInterfaceForwardCommandController
[ros2_control_node-1] [INFO] [1658224312.478812476] [controller_manager]:   imu_sensor_broadcaster/IMUSensorBroadcaster
[ros2_control_node-1] [INFO] [1658224312.478819339] [controller_manager]:   joint_state_broadcaster/JointStateBroadcaster
[ros2_control_node-1] [INFO] [1658224312.478826442] [controller_manager]:   joint_trajectory_controller/JointTrajectoryController
[ros2_control_node-1] [INFO] [1658224312.478833525] [controller_manager]:   position_controllers/GripperActionController
[ros2_control_node-1] [INFO] [1658224312.478840358] [controller_manager]:   position_controllers/JointGroupPositionController
[ros2_control_node-1] [INFO] [1658224312.478847171] [controller_manager]:   velocity_controllers/JointGroupVelocityController
[ros2_control_node-1] [INFO] [1658224312.478854886] [controller_manager]:   controller_manager/test_chainable_controller
[ERROR] [spawner-4]: process has died [pid 570065, exit code 1, cmd '/opt/ros/rolling/lib/controller_manager/spawner joint_traj_compliance_controller -c /controller_manager --ros-args'].
Yadunund commented 2 years ago

As a temporary workaround, I revert to using the joint_trajectory_controller instead of the default joint_traj_compliance_controller. I guess the joint_traj_compliance_controller is implemented in some external package and the README/.repos file has not been updated to include this in the workspace.

Here's my diff that works

diff --git a/abb_bringup/launch/abb_control.launch.py b/abb_bringup/launch/abb_control.launch.py
index 1f7a108..e192122 100644
--- a/abb_bringup/launch/abb_control.launch.py
+++ b/abb_bringup/launch/abb_control.launch.py
@@ -94,7 +94,7 @@ def generate_launch_description():
     declared_arguments.append(
         DeclareLaunchArgument(
             "initial_joint_controller",
-            default_value="joint_traj_compliance_controller",
+            default_value="joint_trajectory_controller",
             description="Robot controller to start.",
         )
     )
diff --git a/robot_specific_config/abb_irb1200_5_90_moveit_config/config/moveit_controllers.yaml b/robot_specific_config/abb_irb1200_5_90_moveit_config/config/moveit_controllers.yaml
index c7c2c1e..b3e02d8 100644
--- a/robot_specific_config/abb_irb1200_5_90_moveit_config/config/moveit_controllers.yaml
+++ b/robot_specific_config/abb_irb1200_5_90_moveit_config/config/moveit_controllers.yaml
@@ -7,7 +7,7 @@ moveit_controller_manager: moveit_simple_controller_manager/MoveItSimpleControll

 controller_names:
   - joint_trajectory_controller
-  - joint_traj_compliance_controller
+  # - joint_traj_compliance_controller

 joint_trajectory_controller:
   action_ns: follow_joint_trajectory
jbeck28 commented 2 years ago

Just wanted to provide a little update here, I've just pushed a commit which undoes my previous, erroneous commit (which caused the issues mentioned here). My apologies... that was meant for my fork.