NiryoRobotics / niryo_one_ros

Niryo One ROS stack
GNU General Public License v3.0
234 stars 160 forks source link

Support for the (Extended) Gripper #47

Open FabianSchuetze opened 3 years ago

FabianSchuetze commented 3 years ago

First of all: thank you for this wonderful repo and your work!

I would like to use moveit with the Niryo One and the extended gripper. I see that the Niryo Ned has a wonderful integration with gripper1 and it can be used with the moveit. I could manually copy most of the descriptions from the Ned to the Niryo (meshes and the extended urdf.xacro file for the robot description, as well as new controllers, joint_limits, planning config and a new srdf file for the moveit config) to use the task constructor in simulation.

I would like to ask two sets of related questions:

  1. As gripper1 differs from the extended gripper and as you can provide a much more authoritative configuration I was wondering if you have any plans integrate the gripper into the Niryo One repo as you did in the Ned repo? Are the meshes and xacro files for the extended gripper as robot description separately available even without the moveit integration?

  2. What do I have to do to get the gripper working in reality, not just in simulation with ros? I see that ned has the argument simu_gripper which is sourced in the bringup file. I do not understand how I could replicate similar functionality with the Niryo One to use the gripper with moveit. Can you kindly illustrate how that would be possible?

mtc-20 commented 2 years ago

Well I'm not Niryo , but here's my two cents

  1. I am not sure which is the extended gripper, but you can find the STL files for all Niryo one tools here. You could use these to create a URDF for the gripper of your choice and then just include it to the base niryo_one urdf that you already have(similar to what you did for gripper1)

  2. Again I dont have the extended gripper, so havent tested it myself, but the existing Niryo One API does in fact support all the tools. So, theoretically to get a tool to work in real life, it is just a matter of assigning the right tool_ID and then calling the corresponding the functions. Refer source for more details.