引言
近年来,随着智能时代的到来,路径规划技术飞快发展,已经形成了一套较为成熟的理论体系。其经典规划算法包括 Dijkstra 算法、A算法、D算法、Field D算法等,然而传统的路径规划算法在复杂的场景的表现并不如人意,例如复杂的越野环境。针对越野环境规划问题以及规划算法的优劣性,选择改进 A算法来进行越野环境路径规划
通过越野栅格环境建模、通行方向变化惩罚、局部区域复杂度惩罚和路径平滑的方法对传统 A*算法进行改进,以满足复杂越野环境下,不同类型的智能车辆和不同任务的安全行驶、高效通行综合要求。
重要代码
###############构造地图################
#宽高W,H。
class Array2D:
#初始化
def __init__(self,w,h):
self.w=w
self.h=h
self.data=[]
self.data=[[0.0 for y in range(h)] for x in range(w)]
#显示地图
def showArray2D(self):
for y in range(self.h):
for x in range(self.w):
print(self.data[x][y],end=' ')
print("")
#获得任意节点信息 ,__getitem__()魔法函数作用为当实例化对象map进行map[key]操作上自动调用。
def __getitem__(self, item):
return self.data[item]
###############创建点类################
class Point:
#初始化
def __init__(self,x,y):
self.x=x
self.y=y
#判断是否同一个点
def __eq__(self, other):
if self.x==other.x and self.y==other.y:
return True
return False
#打印点信息
def __str__(self):
return "x:"+str(self.x)+",y:"+str(self.y)
class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
评论记录:
回复评论: