Ask Your Question
0

Error with gripper action server client connection

asked 2015-07-29 05:54:32 -0500

Sphenops gravatar image

updated 2015-08-04 05:19:17 -0500

I am trying to control the gripper of a 6 DOF arm(dynamixel based). The gripper is a 2 finger gripper controlled by a single dynamixel servo. I have generated the moveit config file using moveit setup assistant for the arm along with the gripper. Following are the settings:

Within moveit/config/controllers.yaml

controller_list: 
- name: cool400_trajectory_controller
action_ns: follow_joint_trajectory
type: FollowJointTrajectory
default: true
joints:
  - joint1
  - joint2
  - joint3
  - joint4
  - joint5
  - joint6
 - name: cool400_gripper_controller
action_ns: gripper_action
type: GripperCommand
default: true
joints:
  - left_gripper_joint

I customized the gripper controller code written by 'Dave Coleman' and launched it along with moveit's move_group.launch

https://github.com/davetcoleman/clam/... I get the following error:

[ERROR] [1438173750.465511476]: Unknown controller type: 'Cool1000GripperCommand'

I checked if the action files are available inside the cool1000_msgs and found that Cool1000GripperCommand.action file exists.

Investigated further with the following results: Published static values to check if the gripper moves on sending commands to the corresponding dynamixel servo.

rostopic pub /gripper_controller/command std_msgs/Float64 "data: 0.0"

On doing this gripper is controllable.However, when the gripper is tried to be controlled via action client setup it does not work.

First launched the cool400_gripper_controller server which has the source code in the above mentioned link. Then launched the client which sends the commands to open/close the gripper.

https://github.com/davetcoleman/clam/...

Following are the errors:

[ERROR] [1438682672.723875634]: Unable to control end effector: servo not responding
[ERROR] [1438682672.723906583]: Failed to complete gripper action
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2015-07-29 06:15:21 -0500

mgruhler gravatar image

updated 2015-08-07 05:40:44 -0500

In your controllers.yaml, you have the type set to GripperCommand. I guess this should be Cool1000GripperCommand.


If you check the source code, you see that the message comes from the function endEffectorResponding on Line 203. There, it is checking the status of the dynamixel motor, which it receieves over the topic /gripper_finger_controller/state of type dynamixel_hardware_interface::JointState (see ll. 160 and 70 for this).

Is the output of your driver correct there? I.e. is topic name and content as expected (especially the alive flag)?

edit flag offensive delete link more

Comments

Thanks for your reply mig, that was a good catch, I never noticed that. However, now after changing I get the following error:

Sphenops gravatar image Sphenops  ( 2015-07-29 06:39:38 -0500 )edit

Please send a new question if this is solved (and accept this one ;-) ) Or update your question by using the edit button below your question.

mgruhler gravatar image mgruhler  ( 2015-07-29 08:48:01 -0500 )edit

Thanks for narrowing down the problem Mig. Yes, your answer solved the previous problem. I have edited the question with a new one.

Sphenops gravatar image Sphenops  ( 2015-07-29 11:08:10 -0500 )edit

I'm sorry, but there is no error shown. So everything is good? :-)

mgruhler gravatar image mgruhler  ( 2015-07-30 04:04:57 -0500 )edit

I have edited the question again. For some reason the error was not visible in the question.

Sphenops gravatar image Sphenops  ( 2015-07-30 05:14:29 -0500 )edit

Sorry for getting back to this only now. But I cannot help you with that. I mean the error clearly states what the problem is, however, without the respective hardware there is (almost) no way to debug it... Probably some problem with your action server or dynamixel driver. But that are just guesses

mgruhler gravatar image mgruhler  ( 2015-08-07 01:03:08 -0500 )edit

The drivers does not seem to have problem as the commands can be sent and read from the dynamixel servos. The problem comes when the action client server architecture comes into picture.

Sphenops gravatar image Sphenops  ( 2015-08-07 04:49:22 -0500 )edit

Edited the answer...

mgruhler gravatar image mgruhler  ( 2015-08-07 05:39:44 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2015-07-29 05:54:32 -0500

Seen: 963 times

Last updated: Aug 07 '15