ros_controller not joint given

asked 2021-04-07 04:33:39 -0500

wh366666648 gravatar image

Hi,

When I launched my robot (trying Moveit! + Gazebo co-simulation) the terminal warned me that

No joint given (namespace: /ROBOT_NAMESPACE/arm/arm_controller)

and thus it Failed to initialize the controller. rqt_controller_manager could not initialize it as well with the same error.

I hope I have configured the yaml file (loaded to /ROBOT_NAMESPACE/arm) for the controller correctly:

arm:
arm_controller:
    type: "effort_controllers/JointPositionController"
    joints:
      - joint1
      - joint2
      - joint3

gazebo_ros_control/pid_gains:
  joint1:   {p: 100.0, i: 0.0, d: 0.1, i_clamp: 0.0}
  joint2:   {p: 100.0, i: 0.0, d: 0.1, i_clamp: 0.0}
  joint3:   {p: 100.0, i: 0.0, d: 0.1, i_clamp: 0.0}

 gripper_controller:
    type: "effort_controllers/JointPositionController"
    joints:
      - joint_g1
    gazebo_ros_control/pid_gains:
      joint_g1:  {p: 50.0, d: 1.0, i: 0.01, i_clamp: 1.0}

And I think the configuration for Moveit! is also acceptable:

controller_manager_ns: controller_manager
controller_list:
  - name: arm/arm_controller
    action_ns: follow_joint_trajectory
    type: FollowJointTrajectory
    default: true
    joints:
      - joint1
      - joint2
      - joint3




- name: arm/gripper_controller
    action_ns: follow_joint_trajectory
    type: FollowJointTrajectory
    default: true
    joints:
      - joint_g1

The model has configured the gazebo_ros_control plugin in the namespace /arm while everything about the arm was launched in a namespace of /ROBOT_NAMESPACE/arm. Perhaps that is again the misconfiguration of the ns?

Thank you if you could provide any help.

Env: VMWare WS + Ubuntu 18.04 + ROS Melodic + Gazebo 9.

edit retag flag offensive close merge delete