走狭窄通道的调试

调整膨胀半径和cost_factor的作用其实不大

空隙0.86,小车半径0.35,直径0.7,结果发现走不过间隙,频繁报警。
走不过空隙.png

trajectory not feasible.png
因为直径还不算太大,应该能过去,尝试减小feasibility_check_no_poses为3,结果成功了。

现在将半径增大到0.37,这样直径成了0.74,难度更大了。结果发现直接撞上了障碍物
已经撞上障碍.png

这种情况是不可能再成功了,难就难在这种情况不是每次发生
所有恢复行为失败,无法导航.png

因为使用了cost_converter,显然障碍物变大了,所以将其disable,结果成功了,但不保证成功率100%
成功通过.png

参数feasibility_check_no_poses不能太大,因为optimizer可能不完全收敛。小的障碍碰撞在未来可以获得纠正,所以设置太大导致的失败不一定是有效的。

狭窄环境中,调试要慎重。局部规划可能拒绝一个infeasible trajectory,但全局规划会认为全局路径是feasible,结果就是机器人stucked。 如果禁止了后退速度,会经常出现not feasible,尤其是在cluttered环境