-
Notifications
You must be signed in to change notification settings - Fork 58
Gripper open/close mismatch #55
Comments
The plugin is the same for robot grippers and the target pose is applied here, which its correct. I guess the issue is the URDF. Also gazebo's lower and upper limits should match, makes no sense to start from -0.8 lower if we cant even reach it. |
We will also have to set properly the limits in simulation.
@ahcorde correct me if i am wrong, please. |
Few comments about the current state of the plugin: #1 #2
This angle is the maximum physical limit of the #3 <plugin filename="librobotiq_gripper_gazebo_plugin.so" name="robotiq_140_gripper">
<joint>left_inner_finger_joint</joint>
<joint>right_inner_finger_joint</joint>
</plugin> Instead of the current: <plugin filename="librobotiq_gripper_gazebo_plugin.so" name="robotiq_140_gripper">
<joint>left_inner_knuckle_joint</joint>
<joint>left_outer_knuckle_joint</joint>
<joint>right_inner_knuckle_joint</joint>
<joint>joint_finger</joint>
</plugin> However, even with this changes, the angle limit is the upper physical limit of the @ahcorde @carlossvg please share your knowledge here. |
Regarding #1 We are using Yes, We need to reconsider if we should use percentages. Because not all grippers have the same distance between grippers Maybe @ibaiape can answer this question better. But we are including more joints to improve the behaviour of the gripper. Some of the joints are mimic of others |
Wouldn't it be better to use Open and Close functions? We would need to add a OpenClose service to HRIM if this was the case. Also the Close function would be more complex as simple pose movement and would include a proper gazebo gripping. This could be achieved attaching links to the gripper once contact with the fingers occurs. Check gazebo's gripper abstraction. If this is not a good option, the percentage usage you mention would be better than the current raw value IMHO. We would still be lacking a proper object gripping. |
I like the percentage idea a lot, using percentages will help us generalize the messaging system for all grippers. Open/Close can have it downfalls since sometimes in some applications we do not need full close, it can be an add on still have the option to use Open/Close commands but I would not leave it only to that. |
+1, the DH 3 finger gripper kind of broke the way we control the grippers overall, the gripper model should be reviewed. Maybe a hand with rotating fingers shouldn't be the same as a more simple 2 finger gripper... How are the grippers controlled normally? I assume you'd usually go with passing it radians, and not what opening you want between fingers, but I'd also see passing an opening useful in more specific cases...
I am apprehensive of passing the gripper a percentage value. You can easily do this on the user interface knowing min-max values, and I'd rather pass "real" data to components. I guess we could do it the other way around, keep the max opening data in specs as it is and pass percentages, so you could calculate it later if needed. But you can argue the same for all other values: the speed/effort/acceleration of the gripper closing, or a servo's position. You can know the real values through specs and work with percentages. I can see the percentage approach working, but I'd say this affects how we make use of this type of thing across HRIM as a whole (open for discussion, of course). I'm not against reviewing this, I'd just like to keep homogeneity on this kind of thing as much as possible. Having the gripper receive percentages while all other components receive "real" data feels quite counter-intuitive. Maybe being able to do both? Control it by radians and having a percentage service, we could do this across other components. On which are the proper values, we can always rethink how we apply the force across joints. The gripper plugin also provides the functionality of the mimic joints, as it's not supported in gazebo AFAIK, at least not in ROS2. The current gripper plugin is pretty minimal and that should be kept in mind, there's huge room for improvement. A possible alternative would be to take one of the joints with the "proper" max opening as the "base" and apply a lower multiplier to other joints. Also, I keep getting the feeling the gripper URDF's (at least the robotiq ones) aren't entirely OK; inertias were an issue that had to be solved for the AI team using them on the full arm if I remember correctly and I'm sure there's more issues. |
hrim_actuator_gripper_srvs/srv/GoalGripper.srv is exactly that, it's just not supported by the plugin (not hard to implement TBH) |
What is your impression here @ibaiape ? Is that statement correct? If it is, should we tweak this in the plugin? |
Regarding the |
Apart from the #51 issue, there is a mismatch in the values we have to set to open and close the gripper (tested on the gripper 140).
In simulation 0.87 means to close it and 0.0 means to open it, however, on the real robot 0.87 means to open it and 0.0 means to close it.
The text was updated successfully, but these errors were encountered: