Closed romanarust closed 2 years ago
RIght, so disabled_collisions
in RobotSemantics
is a set of tuples while disabled_collisions
in PyBulletClient
is a set of sets. Because order doesn't matter in these pairs, I chose this in the PyBullet backend implementation because it makes the code a bit cleaner. I guess I could switch it to tuples and enforce that the tuple is in dictionary order so that it is more in line with the semantics, but I would then also want that the semantic disabled collision pairs were also in dictionary order...
Thank you for the clarification! Makes sense to have sets instead of tuples.
Could we change this in RobotSemantics
directly without breaking change?
Still, it would be good to have a function in the PyBulletClient
that retrieves information from semantics more transparently. Something like:
client.load_semantics(srdf_filename)
or client.set_semantics(semantics)
(they could also do the conversion from tuples to sets)Yeah, I'll see what I can do.
Describe the bug
If passing
disabled_collisions
fromRobotSemantics
to thePyBulletClient
, it still raisesCollisionError
for disabled collisions. But maybe I am not passing this information correctly ??... If not, it would be good to document this somewhere.To Reproduce
Raises
Although 'shoulder_link' and 'upper_arm_link' are in the disabled collisions.