[ERROR]: Unable to identify any set of controllers that can actuate the specified joints: [ elbow_joint shoulder_lift_joint shoulder_pan_joint wrist_1_joint wrist_2_joint wrist_3_joint ]

asked 2019-07-23 09:11:44 -0600

mkb_10062949 gravatar image

updated 2020-01-03 15:10:26 -0600

jayess gravatar image

Hello,

I am working with universal_robots package which is available on github https://github.com/ros-industrial/universal_robot.git.

I was following a video tutorial for controlling the ur5 robot with MOVEIT and also connecting the MOVEIT simulation with GAZEBO to control the real robot.

Following the tutorial, I made this controllers.yaml file

controller list:
  - name: arm_controller/joint_trajectory_controller
    action_ns: follow_joint_trajectory
    type: FollowJointTrajectory
    joints: [shoulder_pan_joint, shoulder_lift_joint, elbow_joint, wrist_1_joint, wrist_2_joint, wrist_3_joint]

then the, joint_names.yaml file.

controller_joint_names: [shoulder_pan_joint, shoulder_lift_joint, elbow_joint, wrist_1_joint, wrist_2_joint, wrist_3_joint]

then I altered the ur5_moveit_controller_manager.launch.xml (which was automatically created by moveit after 'generating the package') which is,

<launch>
  <rosparam file="$(find demo_moveit_config)/config/controllers.yaml" />
  <param name="use_controller_manager" value="false" />
  <param name="trajectory_execution/execution_duration_monitoring" value="false" />
  <param name="moveit_controller_manager" value="moveit_simple_controller_manager/MoveItSimpleControllerManager"/>
</launch>

the I made the final demo_planning_execution.launch i.e.,

<launch>

  <rosparam command="load" file="$(find demo_moveit_config)/config/joint_names.yaml" />

  <include file="$(find demo_moveit_config)/launch/planning_context.launch">
    <arg name="load_robot_description" value="true"/>
  </include>

  <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher">
    <param name="/use_gui" value="false"/>
    <rosparam param="/source_list">[/joint_states]</rosparam>
  </node>

  <include file="$(find demo_moveit_config)/launch/move_group.launch">
    <arg name="publish_monitored_planning_scene" value="true"/>
  </include>

  <include file="$(find demo_moveit_config)/launch/moveit_rviz.launch">
    <arg name="config" value="true"/>
  </include>

</launch>

Steps taken: 1) I launch the ur5 model in gazebo by roslaunch (works fine) 2) I launch the demo_moveit_config package which I created using moveit and with my controllers configuration (works fine rviz opens) 3) I plan the movement it simulates perfectly in the RVIZ window 4) But, when I press "Execute" it gets executed in the RVIZ window but it doesnt simulate in gazebo, it throws me the following error in the terminal,

[ERROR]: Unable to identify any set of controllers that can actuate the specified joints: [ elbow_joint shoulder_lift_joint shoulder_pan_joint wrist_1_joint wrist_2_joint wrist_3_joint ]

It works perfectly fine in the video but doesn't work for me

please help!!!

edit retag flag offensive close merge delete

Comments

I was following a video tutorial

What video?

jayess gravatar imagejayess ( 2019-07-23 13:28:06 -0600 )edit

Hi, I am having the same issue, have u already found a solution ?, if yes, could u please post the solution, thank u.

mr254 gravatar imagemr254 ( 2020-01-03 09:01:57 -0600 )edit

it might be that you need to install ros controllers check this out sudo apt-get install ros-melodic-ros-control ros-melodic-ros-controllers

mkb_10062949 gravatar imagemkb_10062949 ( 2020-01-05 07:07:48 -0600 )edit