Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Unable to configure custom 1DOF gripper to TIAGo robot arm.

I am trying to integrate a new custom gripper to the tiago robot from pal robotics in ros indigo environment. I am using the gripper_action_controller (link text) from ros_controllers to make the gripper work. The transmission of the gripper is set as:

<joint name="${name}_joint" >
    <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>

which is same in the hardware_interface _adapter.h of gripper_action_controller pkg. The {name} above is ¨gripper¨ , and i used the same to replace the joint name in the gripper-action-controller.h , wherever needed. Below are the configurations for gazebo and moveit.

   // controller_configuration_gazebo/controllers.yaml
    gripper_controller:
      type: "position_controllers/GripperActionController"
      check_mode: True
      joints: 
        - gripper_joint


  //moveit
    - name: gripper_controller
        action_ns: "gripper_cmd"
        type: GripperCommand
        default: true
        joints:
           - gripper_joint

I have finished adding the gripper to the robot urdf, configure it to moveit and used kinematics test to confirm that the right gripper joint is configured and can be moved manually. when i launched the robot in gazebo, i encounter an error but the robot is launched with the new gripper.

[INFO] [WallTime: 1524051958.505068] [0.094000] Loading controller: mobile_base_controller
[FATAL] [1524051958.505654471, 0.095000000]: Failed to start controller in realtime loop. This should never happen.
[INFO] [WallTime: 1524051958.506842] [0.096000] Started controllers: gripper_controller

And when run rosservice call /controller_manager/list-controllers, i can observe that the gripper_controller is stopped and there is no hardware interface and resources allocated to the controller.

 name: gripper_controller
    state: stopped
    type: position_controllers/GripperActionController
    claimed_resources: []

I need help in finding why the hardware interface and resources are not connected and how they can be connected.