URDF_USE_SELF_COLLISION_EXCLUDE_PARENT issue
Posted: Fri Nov 03, 2017 8:42 pm
I'm attempting to use the flag p.URDF_USE_SELF_COLLISION_EXCLUDE_PARENT when loading a URDF via pybullet.
model = p.loadURDF( "model.urdf"), [0, 0, 0.7], [0, 0, 0, 0.7], globalScaling=1.0, flags=p.URDF_USE_SELF_COLLISION_EXCLUDE_PARENT )
However, when doing so self collisions are no longer detected by the mesh being loaded (ie the arms go through the body). Using URDF_USE_SELF_COLLISION works as expected. The URDF is using mesh collision geometry, where the mesh is scaled. As an example:
<link name="root_link">
<inertial>
<origin xyz="0.0248821 0.000103947 -0.0440806" rpy="1.57079632679 0 -1.57079632679"/>
<mass value="5.09143"/>
<inertia ixx="0.0139679" ixy="-5.93488e-06" ixz="-1.55458e-05" iyy="0.0202112" iyz="-0.00170968" izz="0.0249124"/>
</inertial>
<visual>
<origin xyz="-0.0364 0 0.032" rpy="1.57079632679 0 -1.57079632679"/>
<geometry>
<mesh filename="root.stl" scale="0.001 0.001 0.001"/>
</geometry>
<material name="green">
<color rgba="0 1 0 1"/>
</material>
</visual>
<collision>
<origin xyz="-0.0364 0 0.032" rpy="1.57079632679 0 -1.57079632679"/>
<geometry>
<mesh filename="root.stl" scale="0.001 0.001 0.001"/>
</geometry>
</collision>
</link>
The links are correctly parented using joints. Is this a known issue or am I missing something else required to get this flag to work?
model = p.loadURDF( "model.urdf"), [0, 0, 0.7], [0, 0, 0, 0.7], globalScaling=1.0, flags=p.URDF_USE_SELF_COLLISION_EXCLUDE_PARENT )
However, when doing so self collisions are no longer detected by the mesh being loaded (ie the arms go through the body). Using URDF_USE_SELF_COLLISION works as expected. The URDF is using mesh collision geometry, where the mesh is scaled. As an example:
<link name="root_link">
<inertial>
<origin xyz="0.0248821 0.000103947 -0.0440806" rpy="1.57079632679 0 -1.57079632679"/>
<mass value="5.09143"/>
<inertia ixx="0.0139679" ixy="-5.93488e-06" ixz="-1.55458e-05" iyy="0.0202112" iyz="-0.00170968" izz="0.0249124"/>
</inertial>
<visual>
<origin xyz="-0.0364 0 0.032" rpy="1.57079632679 0 -1.57079632679"/>
<geometry>
<mesh filename="root.stl" scale="0.001 0.001 0.001"/>
</geometry>
<material name="green">
<color rgba="0 1 0 1"/>
</material>
</visual>
<collision>
<origin xyz="-0.0364 0 0.032" rpy="1.57079632679 0 -1.57079632679"/>
<geometry>
<mesh filename="root.stl" scale="0.001 0.001 0.001"/>
</geometry>
</collision>
</link>
The links are correctly parented using joints. Is this a known issue or am I missing something else required to get this flag to work?