Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Moveit Custom Controller

I'm trying to use Moveit and Gazebo with a custom controller provided by my robot's manufacturer. When I launch both moveit(+ rviz) and gazebo and try to plan, I get the following error:

[ERROR] [1586291253.875844268, 5322.770000000]: Unable to identify any set of controllers that can actuate the specified joints: [ right_gripper_l_finger_joint right_j0 right_j1 right_j2 right_j3 right_j4 right_j5 right_j6 ]
[ERROR] [1586291253.875874497, 5322.770000000]: Known controllers and their joints:
controller '/robot/limb/right' controls joints:
  right_j0
  right_j1
  right_j2
  right_j3
  right_j4
  right_j5
  right_j6

Note, that this works when I disable the gripper, meaning that moveit doesn't know what to do with the right_gripper_l_finger_joint. However, I specify the contoller for this joint in my controller manager yaml file like so:

controller_list:
# ... 
  - name: /io/end_effector
    action_ns: right_gripper
    type: sawyer_sim_controllers/ElectricGripperController
    default: true
    joints:
      - right_gripper_l_finger_joint

And if I inspect the running controllers with rosservice call /robot/controller_manager/list_controllers I see my controller running:

controller: 
  - name: "electric_gripper_controller"
    state: "running"
    type: "sawyer_sim_controllers/ElectricGripperController"
    claimed_resources: 
      -  hardware_interface: "sawyer_hardware_interface::SharedJointInterface"
         resources: [right_gripper_l_finger_joint/MAIN_SETPOINT_COMMAND, right_gripper_r_finger_joint/MAIN_SETPOINT_COMMAND]

So, is there a piece here that I'm missing?

Moveit Custom Controller

I'm trying to use Moveit and Gazebo with a custom controller provided by my robot's manufacturer. When I launch both moveit(+ rviz) and gazebo and try to plan, I get the following error:

[ERROR] [1586291253.875844268, 5322.770000000]: Unable to identify any set of controllers that can actuate the specified joints: [ right_gripper_l_finger_joint right_j0 right_j1 right_j2 right_j3 right_j4 right_j5 right_j6 ]
[ERROR] [1586291253.875874497, 5322.770000000]: Known controllers and their joints:
controller '/robot/limb/right' controls joints:
  right_j0
  right_j1
  right_j2
  right_j3
  right_j4
  right_j5
  right_j6

Note, that this works when I disable the gripper, meaning that moveit doesn't know what to do with the right_gripper_l_finger_joint. However, I specify the contoller for this joint in my controller manager yaml file like so:

controller_list:
# ... 
  - name: /io/end_effector
    action_ns: right_gripper
    type: sawyer_sim_controllers/ElectricGripperController
    default: true
    joints:
      - right_gripper_l_finger_joint

I've verified that the name and action namespace listed are correct:

>>># rostopic list | grep right_gripper
    /io/end_effector/right_gripper/command
    /io/end_effector/right_gripper/config
    /io/end_effector/right_gripper/state

And if I inspect the running controllers with rosservice call /robot/controller_manager/list_controllers I see my controller running:

controller: 
  - name: "electric_gripper_controller"
    state: "running"
    type: "sawyer_sim_controllers/ElectricGripperController"
    claimed_resources: 
      -  hardware_interface: "sawyer_hardware_interface::SharedJointInterface"
         resources: [right_gripper_l_finger_joint/MAIN_SETPOINT_COMMAND, right_gripper_r_finger_joint/MAIN_SETPOINT_COMMAND]

So, is there a piece here that I'm missing?

Moveit Custom Controller

I'm trying to use Moveit and Gazebo with a custom controller provided by my robot's manufacturer. When I launch both moveit(+ rviz) and gazebo and try to plan, I get the following error:

[ERROR] [1586291253.875844268, 5322.770000000]: Unable to identify any set of controllers that can actuate the specified joints: [ right_gripper_l_finger_joint right_j0 right_j1 right_j2 right_j3 right_j4 right_j5 right_j6 ]
[ERROR] [1586291253.875874497, 5322.770000000]: Known controllers and their joints:
controller '/robot/limb/right' controls joints:
  right_j0
  right_j1
  right_j2
  right_j3
  right_j4
  right_j5
  right_j6

Note, that this works when I disable the gripper, meaning that moveit doesn't know what to do with the right_gripper_l_finger_joint. However, I specify the contoller for this joint in my controller manager yaml file like so:

controller_list:
# ... 
  - name: /io/end_effector
    action_ns: right_gripper
    type: sawyer_sim_controllers/ElectricGripperController
    default: true
    joints:
      - right_gripper_l_finger_joint

I've verified that the name and action namespace listed are correct:

>>># rostopic list | grep right_gripper
    /io/end_effector/right_gripper/command
    /io/end_effector/right_gripper/config
    /io/end_effector/right_gripper/state

And if I inspect the running controllers with rosservice call /robot/controller_manager/list_controllers I see my controller running:

controller: 
  - name: "electric_gripper_controller"
    state: "running"
    type: "sawyer_sim_controllers/ElectricGripperController"
    claimed_resources: 
      -  hardware_interface: "sawyer_hardware_interface::SharedJointInterface"
         resources: [right_gripper_l_finger_joint/MAIN_SETPOINT_COMMAND, right_gripper_r_finger_joint/MAIN_SETPOINT_COMMAND]

So, is there a piece here that I'm missing?

Edit:

Somehow I missed this before, but when starting RViz and moveit, it logs the following error:

[ERROR] [1586294845.676943431, 116.035000000]: Unknown controller type: sawyer_sim_controllers/ElectricGripperController

Moveit Custom Controller

I'm trying to use Moveit and Gazebo with a custom controller provided by my robot's manufacturer. When I launch both moveit(+ rviz) and gazebo and try to plan, I get the following error:

[ERROR] [1586291253.875844268, 5322.770000000]: Unable to identify any set of controllers that can actuate the specified joints: [ right_gripper_l_finger_joint right_j0 right_j1 right_j2 right_j3 right_j4 right_j5 right_j6 ]
[ERROR] [1586291253.875874497, 5322.770000000]: Known controllers and their joints:
controller '/robot/limb/right' controls joints:
  right_j0
  right_j1
  right_j2
  right_j3
  right_j4
  right_j5
  right_j6

Note, that this works when I disable the gripper, meaning that moveit doesn't know what to do with the right_gripper_l_finger_joint. However, I specify the contoller for this joint in my controller manager yaml file like so:

controller_list:
# ... 
  - name: /io/end_effector
    action_ns: right_gripper
    type: sawyer_sim_controllers/ElectricGripperController
    default: true
    joints:
      - right_gripper_l_finger_joint

I've verified that the name and action namespace listed are correct:

>>># rostopic list | grep right_gripper
    /io/end_effector/right_gripper/command
    /io/end_effector/right_gripper/config
    /io/end_effector/right_gripper/state

And if I inspect the running controllers with rosservice call /robot/controller_manager/list_controllers I see my controller running:

controller: 
  - name: "electric_gripper_controller"
    state: "running"
    type: "sawyer_sim_controllers/ElectricGripperController"
    claimed_resources: 
      -  hardware_interface: "sawyer_hardware_interface::SharedJointInterface"
         resources: [right_gripper_l_finger_joint/MAIN_SETPOINT_COMMAND, right_gripper_r_finger_joint/MAIN_SETPOINT_COMMAND]

So, is there a piece here that I'm missing?

Edit:

Somehow I missed this before, but when starting RViz and moveit, it logs the following error:

[ERROR] [1586294845.676943431, 116.035000000]: Unknown controller type: sawyer_sim_controllers/ElectricGripperController

Still not sure what causes this as my ros params seem to be set up correctly and the controller manager knows about this type.