ZebraDevs / fetch_ros

Open ROS Components for Robots from Fetch Robotics
177 stars 151 forks source link

[BUG] fetch.urdf links: bellows_link, bellows_link2 make robot bounce #117

Open josiahls opened 5 years ago

josiahls commented 5 years ago

Describe the bug I am porting the fetch URDF to bullet3. Looking through the URDF I found bellows_link and bellows_link2. They are causing the robot to every-so-often jump due to self collision.

Main question, is it necessary to include a collision mesh for bellows_link2? It seems like it is just for visuals.

When I comment out the bellows_link2 collision mesh, this problem is fixed.

To Reproduce

Clone https://github.com/josiahls/pybullet-gym/tree/bug_bellows_link_hopping

cd pybulletgym/examples/fetch
python test_fetch_envs.py

After a few iterations the fetch robot hops.

Expected behavior The robot stays completely still...

Screenshots fetch image

catkin workspace (please complete the following information): Using pybullet3

Additional context As I said, commenting out the collision mesh for the bellows_link2 fixes the issue.

erelson commented 5 years ago

Quick take: looking at the gif, the torso is going down lower than is physically possible. Not sure if that's related, or just a side effect of the internal collisions you note.

Do you know whether the bellows collision link is moving with the torso? (I believe the visual portion does.) Is it colliding with the base, or with other parts of the torso (skins, etc.)?

A few observations; I am not truly familiar with the URDF model, and especially the collision model, but I know the following:

moriarty commented 5 years ago

FYI We've now removed the ND clause from the license to allow for derivative works as long as they're still NC and SA.

I haven't had a chance to look into this issue yet.