1.机制讲解
机器人urdf模型里面可以定义障碍物,也就是你不希望机器人碰撞到的地方。Moveit在运行你的机器人过程中会一直进行碰撞检测。碰撞检测是按照一定检测频率实时进行的,检测频率低了会检测不到一些碰撞,高了就会影响运行速度。所以moveit提供了一个优化碰撞检测的选项供用户配置。
优化机制:
了解优化机制前有必要了解一下碰撞检测机制,假如你的urdf里面定义了三个link:link1 link2和link3。link1连着lin2,link2连着link3,且link3和link1永远不会碰撞,link2和link1一直在碰撞。但是电脑不知道他们之间谁和谁肯定不会碰撞,或者谁和谁肯定会碰撞,所以会分别实时检测连杆对(pair of link):link1和link2,link2和link3,link1和link3之间的碰撞情况。因此为了节省计算资源,可以提前告诉电脑哪几个link是肯定不会碰撞的,哪几个link是肯定碰撞。这样一来不需要花费计算资源去检测那几对link了。
sampling density
供用户自行调节检测频率,一开始可以先设成默认10000,想提高检测精度就增加,增加仿真速度就减少
Min.coiiisions for “always” -colliding pairs
我猜想:会被划分为“一直碰撞”这个类别的阈值,至于这个阈值具体指碰撞的时间百分比还是体积百分比待研究
2如何配置
1点击Generate collision Matrix
系统会自动帮你检测可以优化的选项,然后再给你人为决定是否要这样优化
2 检查优化选项
我这里系统帮我检测出来了三个link,系统建议我他们之间都不需要进行碰撞检测,并且给出了理由。我可以根据我的喜好打开某个连杆对的碰撞检测(把对应的勾勾去掉)。觉得没问题的话点击Virtual Joints进行下一项配置