Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

panda description hand/gripper collision #219

Closed
YannickRiou opened this issue Jan 13, 2022 · 1 comment
Closed

panda description hand/gripper collision #219

YannickRiou opened this issue Jan 13, 2022 · 1 comment

Comments

@YannickRiou
Copy link

While working on a real panda with Moveit and Moveit Task Constructor, I found that the collision model of the panda hand defined in this package is weird and not really accurate when trying to pick objects.

Here is what I got when Moveit was telling me about a collision between objects and panda hand model :
panda_collision_wtf
As defined in the franka_ros/franka_description/robots/hand.xacro , the hand is defined as sphere, cylinders, etc for collision checking.

I tried to modify this model while using the mesh files already available in this package (as it is done with other robot definition, for example, the PR2 gripper collision model uses meshes) and I got this which is more accurate.
panda_collision_ok

My main question is why sphere and cylinder were used in the first place for collision definition of the gripper ? It is because it is faster to check collision with simple shapes instead of a mesh ? And also why the simple shapes seems to not be the correct size ?

Thanks for theses precisions

@gollth
Copy link
Contributor

gollth commented Feb 3, 2022

Hi @YannickRiou,

My main question is why sphere and cylinder were used in the first place for collision definition of the gripper ? It is because it is faster to check collision with simple shapes instead of a mesh ?

Short answer: Yes. This is not only done for the gripper but the entire arm. The reason why this is in the URDF is because the internal controller will use these primities for self-collision avoidance.

And also why the simple shapes seems to not be the correct size ?

With "correct" I assume you mean not matching the actual robot's geometry. This is also related to the fact that these primitives are used for self collision avoidance. To be able to avoid self collisions in a dynamic situation there must be a safety margin (called safety_distance in all URDF files) around the shells to account for deceleration.

We are quite aware that these capsules make the whole motion planning weird, but this will be solved with the MoveIT upgrade: #199

I would close this issue here, since its tracked in that PR, but feel free to join the discussion of there.

If this doesn't answer all your questions, also feel free to reopen this ticket.

Best

@gollth gollth closed this as completed Feb 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants