ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

No known controllers and their joints in MoveIt! when connecting real robot.

asked 2016-12-28 02:33:40 -0600

Craig gravatar image

updated 2016-12-28 03:05:00 -0600

Hi, I was setting up MoveIt! for my robot, which uses ros_canopen as its driver. I used moveit_setup_assistant to generate the moveit_config package and follow this tutorial to configure MoveIt! to talk to the real robot.

Rostopic list shows that the FollowJointTrajectory action on the server side(robot driver) is ready:

/joint_trajectory_controller/command
/joint_trajectory_controller/follow_joint_trajectory/cancel
/joint_trajectory_controller/follow_joint_trajectory/feedback
/joint_trajectory_controller/follow_joint_trajectory/goal
/joint_trajectory_controller/follow_joint_trajectory/result
/joint_trajectory_controller/follow_joint_trajectory/status
/joint_trajectory_controller/state

My controller.yaml for the MoveIt side is

controller_list:  
 - name:  joint_trajectory_controller 
   action_ns: follow_joint_trajectory
   type: FollowJointTrajectory
   default: true
   joints: 
     - I1_Joint
     - T2_Joint
     - T3_Joint
     - i4_Joint
     - t5_Joint

When I clicked the execute button in rviz, errors showed up:

[ERROR]: Unable to identify any set of controllers that can actuate the specified joints: [ I1_Joint T2_Joint T3_Joint i4_Joint t5_Joint ]
[ERROR] : Known controllers and their joints:
[ERROR] : Apparently trajectory initialization failed

The moveit_controller_manager.launch starts the moveit side for the system. I use Indigo and Ubuntu14.04.

Any help will be much appreciated.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
3

answered 2016-12-28 06:24:39 -0600

v4hn gravatar image

You did not follow through with this part of the tutorial: http://docs.ros.org/indigo/api/moveit...

Instead of filling in the Manipulator5d_moveit_controller_manager.launch.xml as it is stated in the tutorial, you created your own manipulator5d_moveit_controller_manager.launch and copy&pasted launch descriptions from the other files.

The concrete problem because of which move_group can't find your controller is that you load the controller.yaml file yourself and do not put it in the right namespace. move_group expects to find the parameter in /move_group/controller_list but your launch file loads it in /controller_list.

edit flag offensive delete link more

Comments

It works. Thanks! I think the tutorial should make this clear.

Craig gravatar image Craig  ( 2016-12-28 07:04:17 -0600 )edit

please provide a patch! :) https://github.com/ros-planning/movei...

v4hn gravatar image v4hn  ( 2016-12-28 09:05:08 -0600 )edit

Question Tools

2 followers

Stats

Asked: 2016-12-28 02:33:40 -0600

Seen: 3,720 times

Last updated: Dec 28 '16