在之前已经完成了人工势场法避障的python实现,大部分情况下的仿真效果比较好。考虑到人工势场法是一种局部避障算法,不依赖全局的障碍物信息,故理论上可适应对移动障碍物的避障。这里只进行一点简单的尝试,不在动态避障方面深究。
在人工势场法避障的基础上,新增加一个线程,使地图上障碍物的位置随时间移动,同时运行避障算法,得到的效果如下所示:
人工势场法动态避障仿真
在已实现的人工势场法下,障碍物移动较缓慢、设计范围较小时,可以实现较好的避障。如果障碍物在检测范围外突然撞击无人机,或移动速度较快,则较难进行避障。另外,这里没有考虑到无人机的动力学模型,实际中的无人机很难做出大幅度的避障动作,故避障难度更大。