Python中的assert,python的assert基本用法
*路径规划算法的计算机编程语言实现写在前面的计算机编程语言代码中
正如我之前写的,今天为了用计算机编程语言实现机器人施工图导航的模拟,写了A*算法的计算机编程语言实现,让我们来分享一下A*关于算法的原理网上有很多,在此不再赘述。直接贴上代码。打开列表和关闭列表都是通过词典实现的。因为词典的基础是哈希映射,所以整个代码的效率还可以Python。com .代码fromcopyimportdeepcopyimpimportmathdefpath _ plan _ astar(car _ pos,target_pos,map ) 3360 y y)终点位置:参数映射:映射为二维目录或二维ndarray,map[y][x]=value value: 1:可执行区域其他:不可执行区域:return: bool: list:path通过的每个点[x,y]方向是汽车位置-目标位置 定义点地图(地图,点(: )该点在地图中是height=len(map)width=len)map[0])x=point[0]y=point[1]ifx=0和xwidth Andy=0 Andy height 3360 return true return false defhn(car _ pos,target_pos(3360)修改此函数以确定各种h(n)# return ABS(car _ pos[0]-target _ pos[0])ABS(car _ pos[1]-cabs)return math。sqrt(x _ erry _ err * y _ err)map=NP .arra an int(car _ pos[1])target _ pos=[int]target _ trget parent _ pos :none } path=[]while true:# open list为空,iflen(开放列表(=03360乳房)失败如果open _ list。get(str(target _ pos))not none:current _ point while true:path。如果当前点信息[父点信息],则追加(当前点信息[位置])333330路径#计划成功,路径当前点信息=关闭列表[ str(当前点信息[父点位置] ] ] 打开列表中【数学】函数最小的点min _ fn=-1min _ fn _ I=noneforiinopeng _ list 3360 fn=open _ list[I][ gn ]要找到HN(开放_)的target _ pos(IFF nmin _ fnormin _ fn 0:min _ fn _ I=imin _ fn=fn #)将此点转移到关闭列表中的point _ info=深拷贝的open _ list。pop(min _ fn _ I)close _ list[min _ fn _ I]=点要存储的point _ info[ pos ][0]1(:for yin range)point _ info[ pos ][1]1 1 1 1 1,point _ info[ pos][33:]=point _ info[ pos ][1]:IFIs _ point _ in _ map(map,[x,y] ) :ifmap[y][x]==1and ) open y))是无)和(close_list.get(str([x,y])是无):new_point={pos: [x,y], gn pop
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。