ros-industrial-attic / robotiq

Robotiq packages (http://wiki.ros.org/robotiq)
BSD 2-Clause "Simplified" License
241 stars 383 forks source link

robotiq_gripper_action package #14

Open UltronDestroyer opened 9 years ago

UltronDestroyer commented 9 years ago

Is this anywhere on the horizon for development? I need it so I can have a functional gripper in MoveIt and Gazebo

shaun-edwards commented 9 years ago

I don't know of anyone doing this. I can see the need but it's not one that we currently have.

On Mon, Dec 29, 2014 at 3:14 PM, Devon Ash notifications@github.com wrote:

Is this anywhere on the horizon for development? I need it so I can have a functional gripper in MoveIt and Gazebo

— Reply to this email directly or view it on GitHub https://github.com/ros-industrial/robotiq/issues/14.

UltronDestroyer commented 9 years ago

What do you use for grabbing objects? Is it a separate grab pipeline from MoveIt's motion planner?

shaun-edwards commented 9 years ago

We developed out own pipeline for picking, before the MoveIt pipeline exists.

On Tue, Dec 30, 2014 at 9:28 AM, Devon Ash notifications@github.com wrote:

What do you use for grabbing objects? Is it a separate grab pipeline from MoveIt's motion planner?

— Reply to this email directly or view it on GitHub https://github.com/ros-industrial/robotiq/issues/14#issuecomment-68365271 .

shaun-edwards commented 9 years ago

@TheDash, Now that I'm thinking of it, I may have the resources (and need) to develop this interface. It wouldn't be done until mid to late February. Does this work for you? Also, our Robotiq grippers are EtherCAT versions. We would make every effort to generalize our action interface to the different protocols, but I'm not sure that will be possible.

UltronDestroyer commented 9 years ago

@shaun-edwards

I've started writing the gripper_action server today. I copied it from the baxter's GripperActionServer. Minimal changes should be required if you wish to start there. https://github.com/RethinkRobotics/baxter_interface/blob/master/scripts/gripper_action_server.py

Mid to late February sounds good, I'll check with the timeline for our projects. Specifically, I think the robotiq's TCP protocol modbus thingy will give proper control, I was going to write a wrapper around it inside the gripper_action. This would expose it to the MoveIt system.

UltronDestroyer commented 9 years ago

http://gazebosim.org/tutorials?tut=drcsim_robotiq_hand&cat=drcsim This has a lot of work done for a controller in simulation.

Jmeyer1292 commented 9 years ago

@TheDash You have not been forgotten! I've developed a gripper action server and will submit a pull request tomorrow morning after I do some testing on the changes I made this weekend. There's also an EtherCAT interface following close on its heels.

arvinasokan commented 8 years ago

The Robotiq C model gripper action server does not seem to work with RTU controller even after I remapped them to the proper controller topics in the launch file, Has the C model gripper action server been tested ?

Jmeyer1292 commented 8 years ago

Hey @arvinasokan, I wrote that action server. Ill find our C model today and we'll try and hunt down the issue.

Sorry for the trouble you are having.

Jmeyer1292 commented 8 years ago

Alright @arvinasokan:

The grippers that I have (and developed/tested with) is the second generation C 85 mm model in Modbus and Ethercat. If you don't have an 85, there is some additional configuration you'll have to set in the launch file for the action server that allows the robot to map from register values to engineering units. Please see here.

I used the test code in the action server to make a first pass, and it seems to function correctly. I am running from the latest version of source off indigo-devel. Please follow these steps and inform me of any errors you encounter, and where you encounter them. Run each command in a new terminal that is sourced to your workspace.

  1. roscore
  2. rosrun robotiq_c_model_control CModelTcpNode.py xxx.xxx.xxx.xxx CModelRobotInput:=/gripper/input CModelRobotOutput:=/gripper/output. You'll need to change CModelTCPNode.py to CModelRtuNode.py and the ip address to whatever your device name is.
  3. roslaunch robotiq_action_server robotiq_c_model_action_server.launch
  4. rosrun robotiq_action_server robotiq_action_server_client_test

Please let me know if/where it fails. Also, curious question, do you know if your gripper and controller box were originally paired?

Jmeyer1292 commented 8 years ago

ping @arvinasokan

arvinasokan commented 8 years ago

Dear Jonathan, Sorry,I was not able to reply before, got a little bit busy. Yes I am using the the second generation gripper, but I didn't actually set the "CModelRobotInput:=/gripper/input CModelRobotOutput:=/gripper/output" when I Rosran the controller. Also I didn't use the controller box as I was just using their USB to RS485 converter to connect to the gripper and the Force/Torque sensor. The last time I ran it, the action server was able to get the action goal but it have any way to communicate with the gripper and I used remap in the launch file and it didn't work the last time.

Jmeyer1292 commented 8 years ago

@arvinasokan Thanks for the feedback. I admit I don't understand the issue: The action server was able to get to the goal, but not the gripper?

The CModelRobotInput:=/gripper/input and CModelRobotOutput:=/gripper/output is just the way remaps get passed to your node on the command line at start-up. It is equivalent to writing <remap from="CModelRobotInput" to="/gripper/input"/> in a launch file bringing up the controller node.

If you could please clarify the issue, I will happily do what I can to support your needs.