I launched “pick_and_place.launch” file and I am repeatedly getting this message on a terminal.
Where could it be wrong?
I think my robot doesn’t have controllers for the gripper, but I am not sure where to edit.
Any help would be really appreciated!
I finally managed to fix this issue.
It turned out this one was caused by absence of gripper controller in “ros_controllers.yaml” in “config” directory in “fetch_moveit_config” package.
I couldn’t find out a way to add controllers for gripper that has “GripperCommand” type, so I manually changed the context in “ros_controllers.yaml”
e.g.)
After the change, I was also encountering another issue with gripper’s behavior that width of its fingers became too narrow right before it attempted to grasp the detected object(i.e., a cube)
Therefore, I had to investigate and change the code in order to prevent this behavior.
I modified a line of code in “shape_grasp_planner.cpp” in “simple_grasping” package.
e.g.

Then, the issue had been resolved and the Fetch robot successfully performed the pick and place task.
Hope it will help someone will meet the same issues as I did.
4 Likes
Good job! Hope the maintainer could fix this problem in the main tutorial content, would save a lot of time.
Just listed what tjdkadn added in the ros_controller.yaml:
- name: gripper_controller
action_ns: gripper_action
type: GripperCommand
default: True
joints:
- l_gripper_finger_joint
- r_gripper_finger_joint
How to check the relative info? By searching the rostopic like the following:

FInally, with regards to the width of the gripper, remember to add the " ; " at the line end, and then build it with catkin_make since it is a cpp instead of python.
Hello @tjdtkadn and @yijionglin.bourne,
I’ll review all this and update the notebooks accordingly. Thanks for the feedback and patience!
1 Like