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

Revision history [back]

click to hide/show revision 1
initial version

I think two different controllers.yaml files got mixed up (controllers from ros_control and Moveit! controllers - check the example below). I am assuming the controllers.yaml you posted is part of your moveit_config package as the controllers are under the controllers_list ns (please, correct me here if I'm wrong here). If that assumption holds true can you try changing the following things?

   action_ns: follow_joint_trajectory
   type: FollowJointTrajectory

If you haven't already, you can check this tutorial from the moveit guide for controllers.yaml example for moveit: http://docs.ros.org/en/melodic/api/moveit_tutorials/html/doc/controller_configuration/controller_configuration_tutorial.html#yaml-configuration

Also, it would be a good idea to confirm that the controllers from ros_control are running properly as moveit assumes that the robot offers a FollowJointTrajectory action service. You can use service or GUI from the controller_manager to confirm the controller status.

Minimal example from franka_ros:

position_joint_trajectory_controller:
  type: position_controllers/JointTrajectoryController
  joints:
    - panda_joint1
    - panda_joint2
    - panda_joint3
    - panda_joint4
    - panda_joint5
    - panda_joint6
    - panda_joint7
 controller_list:
  - name: position_joint_trajectory_controller
    action_ns: follow_joint_trajectory
    type: FollowJointTrajectory
    default: true
    joints:
      - panda_joint1
      - panda_joint2
      - panda_joint3
      - panda_joint4
      - panda_joint5
      - panda_joint6
      - panda_joint7

I think two different controllers.yaml files got mixed up (controllers from ros_control and Moveit! controllers - check the example below). I am assuming the controllers.yaml you posted is part of your moveit_config package as the controllers are under the controllers_list ns (please, correct me here if I'm wrong here). If that assumption holds true can you try changing the following things?

   action_ns: follow_joint_trajectory
   type: FollowJointTrajectory

If you haven't already, you can check this tutorial from the moveit guide for controllers.yaml example for moveit: http://docs.ros.org/en/melodic/api/moveit_tutorials/html/doc/controller_configuration/controller_configuration_tutorial.html#yaml-configuration

Also, it would be a good idea to confirm that the controllers from ros_control are running properly as moveit assumes that the robot offers a FollowJointTrajectory action service. You can use service or GUI from the controller_manager to confirm the controller status.

Minimal example example from franka_ros:

position_joint_trajectory_controller:
  type: position_controllers/JointTrajectoryController
  joints:
    - panda_joint1
    - panda_joint2
    - panda_joint3
    - panda_joint4
    - panda_joint5
    - panda_joint6
    - panda_joint7
 controller_list:
  - name: position_joint_trajectory_controller
    action_ns: follow_joint_trajectory
    type: FollowJointTrajectory
    default: true
    joints:
      - panda_joint1
      - panda_joint2
      - panda_joint3
      - panda_joint4
      - panda_joint5
      - panda_joint6
      - panda_joint7

I think two different controllers.yaml files got mixed up (controllers from ros_control and Moveit! controllers - check the example below). I am assuming the controllers.yaml you posted is part of your moveit_config package as the controllers are under the controllers_list ns (please, correct me here if I'm wrong here). If that assumption holds true can you try changing the following things?

   action_ns: follow_joint_trajectory
   type: FollowJointTrajectory

If you haven't already, you can check this tutorial from the moveit guide for controllers.yaml example for moveit: http://docs.ros.org/en/melodic/api/moveit_tutorials/html/doc/controller_configuration/controller_configuration_tutorial.html#yaml-configuration

Also, it would be a good idea to confirm that the controllers from ros_control are running properly as moveit assumes that the robot offers a FollowJointTrajectory (or GripperCommand in case of gripper) action service. You can use service or GUI from the controller_manager to confirm the controller status.

Minimal example from franka_ros:

position_joint_trajectory_controller:
  type: position_controllers/JointTrajectoryController
  joints:
    - panda_joint1
    - panda_joint2
    - panda_joint3
    - panda_joint4
    - panda_joint5
    - panda_joint6
    - panda_joint7
 controller_list:
  - name: position_joint_trajectory_controller
    action_ns: follow_joint_trajectory
    type: FollowJointTrajectory
    default: true
    joints:
      - panda_joint1
      - panda_joint2
      - panda_joint3
      - panda_joint4
      - panda_joint5
      - panda_joint6
      - panda_joint7