在PyBullet的检测碰撞中,首先需要在物体的urdf文件中设置碰撞范围,如下所示:
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<cylinder radius=".06" length=".025"/>
</geometry>
</collision>
假设上述urdf文件是一架无人机的建模文件,其id表示为droneId。当它与空中障碍物相撞或者不幸坠地之后与地面发生碰撞等情况,都可以使用getContactPoints函数来检查碰撞,如下所示:
p.getContactPoints(droneId)