CN115202357A - 一种基于脉冲神经网络的自主建图方法 - Google Patents
一种基于脉冲神经网络的自主建图方法 Download PDFInfo
- Publication number
- CN115202357A CN115202357A CN202210877751.6A CN202210877751A CN115202357A CN 115202357 A CN115202357 A CN 115202357A CN 202210877751 A CN202210877751 A CN 202210877751A CN 115202357 A CN115202357 A CN 115202357A
- Authority
- CN
- China
- Prior art keywords
- point
- points
- boundary
- trolley
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000013507 mapping Methods 0.000 title claims abstract description 34
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 24
- 238000012216 screening Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000001914 filtration Methods 0.000 claims description 10
- 230000004888 barrier function Effects 0.000 claims description 9
- 238000012421 spiking Methods 0.000 claims description 9
- 238000012549 training Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 claims description 7
- 230000009471 action Effects 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 230000008685 targeting Effects 0.000 claims description 3
- 230000002567 autonomic effect Effects 0.000 claims 6
- 229910052731 fluorine Inorganic materials 0.000 claims 1
- 125000001153 fluoro group Chemical group F* 0.000 claims 1
- 210000004027 cell Anatomy 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000010408 sweeping Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
- G05D1/024—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0257—Control of position or course in two dimensions specially adapted to land vehicles using a radar
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Optics & Photonics (AREA)
- Electromagnetism (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明提出了一种基于脉冲神经网络(SNN)的自主建图方法,属于机器人导航与建图领域。针对未知环境探索问题,本发明训练并使用了SNN模型作为小车控制器以实现机器人小车自主避障与局部导航。本发明使用RRT生成树探索边界点,并基于该生成树,使用Dijkstra算法生成一系列从起点至终点的分段目标点,以适配SNN控制器的局部导航。本发明兼顾了快速性与平滑性,同时也很好地融合了激光数据、地图数据、小车位姿数据。通过与传统方法比较,本发明表现出了更好的建图效率与探索能力。
Description
技术领域
本发明涉及机器人导航与建图领域,尤其涉及一种基于脉冲神经网络的自主建图方法。
背景技术
随着SLAM与导航技术的发展,扫地机器人、送餐机器人、迎宾机器人、商场导购机器人、无人驾驶技术等相关应用逐渐出现在人们的视野中。其中对于扫地机器人来说,它预先并不知道房间的地图,而高效的机器人导航需要一个预先确定的地图,对于未知环境,往往需要机器人自主探索,并在移动过程中对环境进行建图以更好实现导航。自主探索方案有多种,其中检测边界点以探索未知区域的方法使用最为广泛,这里所说的边界点是指已知区域和未知区域的分界线上的点。想要提取边界,往往需要处理整个地图,随着地图的扩张,处理将消耗越来越多的计算资源。为了解决这个问题,基于Rapidly-exploringRandomized Trees(RRT)的探索边界点的方法被提出,该方法对计算资源消耗不高的同时也兼顾了效率。
脉冲神经网络(Spiking Neural Network,SNN)是一种新兴的深度神经网络(DeepNeural Network,DNN)的脑启发替代体系结构,它使用脉冲神经元作为计算单元,能够模仿人类大脑的信息编码和处理过程。不同于DNN使用具体的值进行信息传递,SNN通过脉冲序列中每个脉冲发射时间进行信息的传递,能够提供稀疏但强大的计算能力。脉冲神经网络将输入积累到膜电压,当达到具体阈值时进行脉冲发射,能够进行时间驱动式计算。由于脉冲事件的稀疏性以及事件驱动的计算形式,SNN能够提供很好的能源利用效率,是神经形态结构的首选神经网络。SNN节能的特性引起了广大机器人研究者的关注,对于移动机器人来说,更少的能耗意味着更长的续航以及为其他模块提供更强大的算力。因此基于SNN的导航模块也便应运而生。
在之前一些的基于RRT探索边界点的方案中,存在一些不足之处。例如RRT生长树过于密集,存在大量无效的树节点,影响探索边界点的效率;信息收益的计算不合理,没有考虑障碍物遮挡的问题;边界点过滤方案不合理,一些距离障碍物很近也被视为边界点,导致无效探索;路径规划使用的是A*算法,在障碍物较多的情况下往往需要遍历整个地图的栅格,时间复杂度较高,也没有合理利用RRT生长树来规划路径,使资源利用率不高。但是最主要的一个问题是路径规划往往需要考虑costmap,不同的地图需要设置不同的参数,否则可能会出现无法通过较狭窄的路口或者发生与障碍物发生碰撞。但因为地图信息是未知的,costmap的参数只能根据经验决定,无法根据激光雷达的信息实现自主避障。
总之传统方案存在资源利用率不高,效率较低,自适应性不强,移动平滑度不够等问题。为此本发明引入了基于SNN的小车控制器以及一些改进策略来解决上述问题。
发明内容
本发明针对现有技术的不足,提出了一种基于脉冲神经网络的自主建图方法。本发明在应对上述问题,进行了以下分析:RRT生成树的节点过于密集,本发明考虑加入一个判断,若该区域过于密集,则新生成的点不会作为树节点加入RRT生成树中;虽然基于SNN的小车控制器可以实现从起点到终点的导航,但因为该模型没有考虑地图信息,只有激光数据、终点位置和当前位置,导航效果并不会太好,所以可以先使用RRT生成树来规划一条路径并在路径上取一些点作为子目标,让小车大致沿着这条规划出的路径来向终点移动。
基于上述分析,本发明提出了一种新颖的自主建图方法,用于未知环境的建图任务。该方法可以更好地融合传感器与地图信息实现高自适应的自主避障和轨迹跟踪,同时可以快速生成路径并引导基于SNN的小车更快更平滑地向最终目标点移动。
本发明首先提供了一种基于脉冲神经网络的自主建图方法,所述方法采用基于SNN模型的控制器控制小车实现移动,在小车移动过程中使用gmapping算法对周围环境进行建图并更新在原有地图上;小车移动到当前目标点后,重新探索寻找已知地图的边界点并基于当前小车位置选择合适的边界点作为下一目标点进行路径规划并移动;所述方法具体包括以下步骤:
步骤1:首先定义两个集合:第一个集合V存放点,这些点是RRT生长树上的节点,分布在已探索区域地图上;第二个集合E存放边,这些边连接V中的节点;V和E组成图G;在已探索区域地图上找到一个合适的点xnew,判断该点是否为边界点,若是则将该点加入初始边界点集合Finit中,同时对初始边界点集合Finit中的点进行筛选,筛选后的点作为候选边界点,加入候选边界点集合F;若点xnew不是边界点,则筛选合适的点加入图G中;
步骤2:获取筛选之后的候选边界点集合F,从中选择一个最值得探索的点xgoal,将该点作为目标;根据小车当前位置xrobot_pose和目标点xgoal,在V中分别找到距离xrobot_pose和xgoal最近的两个点xV_nearest_robot_pose和xV_nearest_goal;基于图G、xV_nearestrobot_pose和xV_nearest_goal,使用Dijkstra算法得到一条合适的路径P,并对这条路径进行分段,得到一系列分段目标点的集合Psplit_path={xsub_goal_i,i=1,2,...,n},n为分段目标点的数量;
步骤3:获得Psplit_path之后,使用基于SNN模型的控制器控制小车依次向Psplit_path中的各个分段目标点移动;在向每一个分段目标点移动的开始阶段,将小车的方向旋转至分段目标点,再调用基于SNN模型的控制器去控制小车移动;若在移动过程中最终的目标点xgoal发生了变化,则终止步骤3,并返回步骤2重新规划路线向新的xgoal移动;
步骤4:在小车移动的过程中使用gmapping算法对小车进行定位并对周围环境进行建图。
作为本发明的优选方案,步骤1中所述的在已探索区域地图上寻找点xnew,具体为:在已探索区域地图上随机取一个点xrand,并于图G中找到一个点xnearest,使得xnearest距离xrand最近;然后在xnearest和xrand的连线上寻找一个点xnew,使得xnew距离xrand最小,同时||xnew-xnearest||≤η,且xnew与xnearest的连线上不存在障碍物,其中η是RRT生长树的生长率,η越大,树的生长速度越快但同时探索地也更加粗糙;反之,η越小,树的生长率越同时探索地也更加精细。
作为本发明的优选方案,步骤1中判断点xnew是否为边界点时:
若点xnew刚好处于未知区域上;或者点xnew处于已知区域上且距离未知区域小于设定值;则判定点xnew为边界点。
作为本发明的优选方案,步骤1中所述的对初始边界点集合Finit中的点进行筛选,具体为:过滤掉初始边界点集合Finit中不合适的点,过滤方式如下:
1)若某片区域内的初始边界点过于密集;则将这些点进行聚类,选择他们的质心作为新的点;
2)在小车移动过程中,已探索区域地图发生更新后,若某初始边界点距离障碍物过近或处于障碍物上,移除该点;
3)在小车移动过程中,已探索区域地图发生更新后,若某初始边界点周围的已知区域过多,判定该点不值得探索,移除该点。
作为本发明的优选方案,步骤1中所述的筛选合适的点加入图G具体为:对于没加入初始边界点集合Finit的点,若该点处于已知区域,且与障碍物和未知区域都大于一个阈值σ,则将该点加入至图G中。
作为本发明的优选方案,步骤2中所述的选择一个最值得探索的点xgoal,包括如下步骤:
步骤5.1:首先定义三个变量值:导航成本N、信息收益I、边界点收益R,边界点收益R根据导航成本N和信息收益I得到,选择R值最大的边界点作为xgoal;
步骤5.2:导航成本N表示所期望的从起点到边界点所需要的路程,将起点与终点的直线距离L作为导航成本N的值;同时,若起点与终点之间存在障碍物,会使导航成本N增加,每存在一个障碍物,就会给导航成本N增加ε倍的L;
步骤5.3:信息收益I表示边界点周围未知区域的单元的面积;对于信息收益I的计算,先定义一个半径r,计算以该边界点为中心,r为半径的圆内未知区域单元格数量作为信息收益I的值;
步骤5.4:边界点收益R,表示该边界点探索的价值,R越大,价值越高,计算公式如下:
R(xfp)=λh(xfp,xr)I(xfp)-N(xfp),
其中xfp表示当前边界点;xr表示当前机器人位置;λ表示权重,使得信息收益I相比于导航成本N占据更大的权重;h(xfp,xr)是一个磁滞收益,如果机器人不在信息收益I所定义的圆内,即||xr-xfp||>hrad,其中hrad为圆的半径,则赋值1,否则赋值hgain,hgain的作用在于小车会更偏向于探索临近的边界点;其中hgain必须大于1,使得机器人会更偏向于探索周围的边界点;函数I(xfp)和函数N(xfp)分别为计算导航成本N和信息收益I的函数。
作为本发明的优选方案,步骤2中所述的对路径分段,具体为:从起点xV_nearest_robot_pose遍历路径Path,如果路径Path上的点pi与上一个分段目标点的距离大于一个阈值β,则将点pi加入集合Gsplit_path中,若当前则与起点比较;Psplit_path={xsub_goal_i,i=1,2,...,n}。
作为本发明的优选方案,步骤3中所述的基于SNN模型的控制器中的SNN模型为预训练好的模型,该模型输入信息为小车当前位姿、当前目标点、雷达信息,输出为使小车向目标点移动并自主避障的动作命令。
进一步的,基于SNN的控制器3.1需要三个信息:小车当前位置、当前的分段目标点、雷达信息,输入小车左右轮的线速度,如此实现向当前的分段目标点的自主避障与导航。在训练模型阶段,我们还需要一个深度神经网络以辅助训练,SNN网络部分称为脉冲行为网络(SAN),深度神经网络部分称为深度评价网络(DCN),前者负责给出小车移动的指令,后者评价此次行为并给出惩罚和奖励。训练完成后,使用SAN作为控制器即可。
与现有技术相比,本发明的优势在于:
1)SNN控制器更好地融合传感器信息以实现高自适应性的自主避障和轨迹跟踪。
2)局部路径规划器基于路径节点树快速生成适配SNN控制器的局部路径,兼顾快速性和平滑性。
3)探索模块采用基于采样的方式快速扩展融合地图信息的路径节点树并基于信息增益筛选目标点。
附图说明
图1是本发明的整体框架图;
图2是本发明评价边界点值得探索程度的计算演示图;
图3是Diikstra计算出的路径以及分段目标的示意图;
图4是SAN与DCN两个网络的结构图;
图5是在同一时间内,本发明与传统方法的探索效率对比图;
图6是本发明与传统方法RRT生成树的对比图
图7是本发明与传统方法在通过狭窄路口对比图;
具体实施方式
下面结合说明书附图对本发明进行详细说明。本发明中各个实施方式的技术特征在没有相互冲突的前提下,均可进行相应组合。
本发明是一种基于脉冲神经网络的自主建图方法,输入激光数据进行定位与建图,输入已建的地图进行边界点检测,输入激光数据、小车位置和目标点位置进行自主避障与导航。本发明是基于ROS实现的,如图1所示,可以简单分为四个模块,四个模块独立运行,通过Topics和Services进行通信以传递数据。第一个模块目标是探索,主要是寻找已知地图的边界点,根据一定的条件过滤掉其中一部分点,同时基于当前小车位置选择合适的边界点作为目标点;第二模块目标是路径规划,主要是为小车提供一条相对合理的路径,并对路径分段得到分段目标点;第三个模块目标是控制,使用基于SNN的模型去控制小车向目标点移动;第四个模块的目标是建图,在小车移动过程中使用gmapping算法对周围环境进行建图并更新在原有地图上。
本发明方法的主要步骤如下:
步骤1:首先定义两个集合:第一个集合V存放点,这些点是RRT生长树上的节点,分布在已探索区域地图上;第二个集合E存放边,这些边连接V中的节点;V和E组成图G;在已探索区域地图上找到一个合适的点xnew,判断该点是否为边界点,若是则将该点加入初始边界点集合Finit中,同时对初始边界点集合Finit中的点进行筛选,筛选后的点作为候选边界点,加入候选边界点集合F;若点xnew不是边界点,则筛选合适的点加入图G中;
步骤2:获取筛选之后的候选边界点集合F,从中选择一个最值得探索的点xgoal,将该点作为目标;根据小车当前位置xrobot_pose和目标点xgoal,在V中分别找到距离xrobot_pose和xgoal最近的两个点xV_nearest_robot_pose和xV_nearest_goal;基于图G、xV_nearest_robot_pose和xV_nearest_goal,使用Dijkstra算法得到一条合适的路径P,并对这条路径进行分段,得到一系列分段目标点的集合Psplitpath={xsub_goal_i,i=1,2,...,n},n为分段目标点的数量;
步骤3:获得Psplit_path之后,使用基于SNN模型的控制器控制小车依次向Psplit_path中的各个分段目标点移动;在向每一个分段目标点移动的开始阶段,将小车的方向旋转至分段目标点,再调用基于SNN模型的控制器去控制小车移动;若在移动过程中最终的目标点xgoal发生了变化,则终止步骤3,并返回步骤2重新规划路线向新的xgoal移动;
步骤4:在小车移动的过程中使用gmapping算法对小车进行定位并对周围环境进行建图。
作为本发明的优选方案,步骤1中所述的在已探索区域地图上寻找点xnew,具体为:在已探索区域地图上随机取一个点xrand,并于图G中找到一个点xnearest,使得xnearest距离xrand最近;然后在xnearest和xrand的连线上寻找一个点xnew,使得xnew距离xrand最小,同时||xnew-xnearest||≤η,且xnew与xnearest的连线上不存在障碍物,其中η是RRT生长树的生长率,η越大,树的生长速度越快但同时探索地也更加粗糙;反之,η越小,树的生长率越同时探索地也更加精细。
作为本发明的优选方案,步骤1中判断点xnew是否为边界点时:
若点xnew刚好处于未知区域上;或者点xnew处于已知区域上且距离未知区域小于设定值;则判定点xnew为边界点。
作为本发明的优选方案,步骤1中所述的对初始边界点集合Finit中的点进行筛选,具体为:过滤掉初始边界点集合Finit中不合适的点,过滤方式如下:
1)若某片区域内的初始边界点过于密集;则将这些点进行聚类,选择他们的质心作为新的点;
2)在小车移动过程中,已探索区域地图发生更新后,若某初始边界点距离障碍物过近或处于障碍物上,移除该点;
3)在小车移动过程中,已探索区域地图发生更新后,若某初始边界点周围的已知区域过多,判定该点不值得探索,移除该点。
作为本发明的优选方案,步骤1中所述的筛选合适的点加入图G具体为:对于没加入初始边界点集合Finit的点,若该点处于已知区域,且与障碍物和未知区域都大于一个阈值σ,则将该点加入至图G中。
作为本发明的优选方案,步骤2中所述的选择一个最值得探索的点xgoal,包括如下步骤:
步骤5.1:首先定义三个变量值:导航成本N、信息收益I、边界点收益R,边界点收益R根据导航成本N和信息收益I得到,选择R值最大的边界点作为xgoal;
步骤5.2:导航成本N表示所期望的从起点到边界点所需要的路程,将起点与终点的直线距离L作为导航成本N的值;同时,若起点与终点之间存在障碍物,会使导航成本N增加,每存在一个障碍物,就会给导航成本N增加ε倍的L;
步骤5.3:信息收益I表示边界点周围未知区域的单元的面积;对于信息收益I的计算,先定义一个半径r,计算以该边界点为中心,r为半径的圆内未知区域单元格数量作为信息收益I的值;
步骤5.4:边界点收益R,表示该边界点探索的价值,R越大,价值越高,计算公式如下:
R(xfp)=λh(xfp,xr)I(xfp)-N(xfp),
其中xfp表示当前边界点;xr表示当前机器人位置;λ表示权重,使得信息收益I相比于导航成本N占据更大的权重;h(xfp,xr)是一个磁滞收益,如果机器人不在信息收益I所定义的圆内,即||xr-xfp||>hrad,其中hrad为圆的半径,则赋值1,否则赋值hgain,hgain的作用在于小车会更偏向于探索临近的边界点;其中hgain必须大于1,使得机器人会更偏向于探索周围的边界点;函数I(xfp)和函数N(xfp)分别为计算导航成本N和信息收益I的函数。
作为本发明的优选方案,步骤2中所述的对路径分段,具体为:从起点xv_nearest_robot_pose遍历路径Path,如果路径Path上的点pi与上一个分段目标点的距离大于一个阈值β,则将点pi加入集合Gsplit_path中,若当前则与起点比较;Psplit_path={xsub_goal_i,i=1,2,...,n}。
作为本发明的优选方案,步骤3中所述的基于SNN模型的控制器中的SNN模型为预训练好的模型,该模型输入信息为小车当前位姿、当前目标点、雷达信息,输出为使小车向目标点移动并自主避障的动作命令。
在本发明的一项具体实施中,对步骤1的实施过程进行了介绍。
作为本发明的优选方案,步骤1中所述的在已探索区域地图上寻找点xnew,具体为:在已探索区域地图上随机取一个点xrand,并于图G中找到一个点xnearest,使得xnearest距离xrand最近;然后在xnearest和xrand的连线上寻找一个点xnew,使得xnew距离xrand最小,同时||xnew-xnearest||≤η,且xnew与xnearest的连线上不存在障碍物,其中η是RRT生长树的生长率,η越大,树的生长速度越快但同时探索地也更加粗糙;反之,η越小,树的生长率越同时探索地也更加精细。
作为本发明的优选方案,步骤1中判断点xnew是否为边界点时:
若点xnew刚好处于未知区域上;或者点xnew处于已知区域上且距离未知区域小于设定值;则判定点xnew为边界点。
作为本发明的优选方案,步骤1中所述的对初始边界点集合Finit中的点进行筛选,具体为:过滤掉初始边界点集合Finit中不合适的点,过滤方式如下:
1)若某片区域内的初始边界点过于密集;则将这些点进行聚类,选择他们的质心作为新的点;
2)在小车移动过程中,已探索区域地图发生更新后,若某初始边界点距离障碍物过近或处于障碍物上,移除该点;
3)在小车移动过程中,已探索区域地图发生更新后,若某初始边界点周围的已知区域过多,判定该点不值得探索,移除该点。
作为本发明的优选方案,步骤1中所述的筛选合适的点加入图G具体为:对于没加入初始边界点集合Finit的点,若该点处于已知区域,且与障碍物和未知区域都大于一个阈值σ,则将该点加入至图G中。
在本发明的一项具体实施中,对步骤2的实施过程进行了介绍。
步骤2中所表述的选择一个最值得探索的点xgoal的算法描述如下。
步骤2.1.1:首先本发明定义三个变量值导航成本N,信息收益I,边界点收益R,导航成本N和信息收益I为边界点收益R服务,最终判断的依据是根据边界点收益R的大小,本发明选择R值最大的边界点作为xgoal。
步骤2.1.2:导航成本N,也就是我们所期望的从起点到边界点所需要的路程,为简单起见,本发明直接将起点与终点的直线距离作为导航成本N的值,如图2所示。
步骤2.1.3:信息收益I,也就是边界点周围未知区域的单元的面积。对于信息收益I的计算,需要先定义一个半径r,计算以该边界点为中心,r为半径的圆内未知区域单元格数量作为信息收益I的值。需要注意的是,若圆内存在障碍物,则障碍物后方的未知区域面积不能计算在内(这里的“障碍物后方”表示以该边界点为起点,发射一条射线,射线无法抵达的区域,即该射线为障碍物所挡)。如图2所示,其中黑色区域为障碍物,灰色区域为未知区域,图中圆框内箭头标注部分即为计算的信息收益I。
步骤2.1.4:边界点收益R,也就是该边界点探索的价值,R越大,价值越高。计算公式如下。
R(xfp)=λh(xfp,xr)I(xfp)-N(xfp),
其中xfp表示当前边界点;xr表示当前机器人位置;λ表示权重,使得信息收益I相比于导航成本N占据更大的权重;h(xfp,xr)是一个磁滞收益,如果机器人不在信息收益I所定义的圆内,即||xr-xfp||>hrad,其中hrad为圆的半径,则赋值1,否则赋值hgain,hgain的作用在于小车会更偏向于探索临近的边界点;其中hgain必须大于1,使得机器人会更偏向于探索周围的边界点;函数I(xfp)和函数N(xfp)分别为计算导航成本N和信息收益I的函数。
步骤2中所表述的对路径分段的算法描述如下。从起点xV_nearest_robot_pose遍历路径Path,如果路径Path上的点pi与上一个分段目标点(若则与起点比较)的距离大于一个阈值β,则将点pi加入集合Gsplit_path中。
Psplit_path={xsub_goal_i,i=1,2,...,n}。如图3所示,由圆点组成的路线即为Dijkstra算法根据RRT生成树规划出的路径,并按照前述的规则从圆点中选择出一系列分段目标点。
在本发明的一项具体实施中,对步骤3的实施过程进行了介绍。
步骤3中所述的基于SNN模型的控制器中的SNN模型为预训练好的模型,该模型输入信息为小车当前位姿、当前目标点、雷达信息,输出为使小车向目标点移动并自主避障的动作命令该SNN模型的训练使用确定性策略梯度(DeepDeterministic Policy Gradient,DDPG)。即基于SNN的控制器需要三个信息:小车当前位置、当前的分段目标点、雷达信息,输入小车左右轮的线速度,如此实现向当前的分段目标点的自主避障与导航。在训练模型阶段,我们还需要一个深度神经网络以辅助训练,SNN网络部分称为脉冲行为网络(SAN),深度神经网络部分称为深度评价网络(DCN),前者负责给出小车移动的指令,后者评价此次行为并给出惩罚和奖励。训练完成后,使用SAN作为控制器即可。网络的模型结构如图4所示,其中Spiking Actor Network(SAN)即为我们的SNN控制器,Deep Critic Network即为用于训练SAN的深度神经网络。
实施例
为了进一步展示本发明的实施效果,本发明在多个方面与传统方法进行对比。
实验1:探索效率对比
如图5所示,(a)为传统算法在5min内自主建图的结果;(b)为本发明在5min内自主建图的结果。可以明显看出,本发明建图的效果更好,在探索效率方面要远优于传统方法
实验2:RRT生长树疏密性的对比
如图6所示,(a)为传统算法RRT生长树的结果;(b)为本发明RRT生长树的结果。可以明显看出图6(a)中存在大量分布密集的叶子节点,不利于树向着未生长的区域拓展,影响探索效率;不同地,图6(b)的稀疏程度就更为合理,也有利于我们使用Dijkstra算法快速获取一个较优的路径。
实验3:碰到狭窄路口情况的对比
如图7所示,(a)为传统算法通过狭窄路口的情况;(b)为本发明通过狭窄路口的情况。如图7(a)所示,三角形所在位置为小车的目标点,因为costmap的存在,小车无法通过当前位置到达目标点,需要调整costmap中的参数,但在实际中,因为环境是未知的,所以costmap中的参数也无法很好地去选择;如图7(b)所示,基于SNN的小车控制器能够根据传入的激光数据实现自主避障,所以能够很好的达到狭窄路口并通过,无需手动调整一些参数。
根据对比实验我们可以得出以下结论:
1)本发明能够给出更高效的RRT生长树,提高资源的利用率。
2)本发明探索效率更高,能够更好地将传感器信息、地图信息和自身位姿信息融合起来,在兼顾小车移动快速性与平滑性的前提下,实现高自适应性的自主建图。
Claims (8)
1.一种基于脉冲神经网络(SNN)的自主建图方法,其特征在于,所述方法采用基于SNN模型的控制器控制小车实现移动,在小车移动过程中使用gmapping算法对周围环境进行建图并更新在原有地图上;小车移动到当前目标点后,重新探索寻找已知地图的边界点并基于当前小车位置选择合适的边界点作为下一目标点进行路径规划并移动;所述方法具体包括以下步骤:
步骤1:首先定义两个集合:第一个集合V存放点,这些点是RRT生长树上的节点,分布在已探索区域地图上;第二个集合E存放边,这些边连接V中的节点;V和E组成图G;在已探索区域地图上找到一个合适的点xnew,判断该点是否为边界点,若是则将该点加入初始边界点集合Finit中,同时对初始边界点集合Finit中的点进行筛选,筛选后的点作为候选边界点,加入候选边界点集合F;若点xnew不是边界点,则筛选合适的点加入图G中;
步骤2:获取筛选之后的候选边界点集合F,从中选择一个最值得探索的点xgoal,将该点作为目标;根据小车当前位置xrobot_pose和目标点xgoal,在V中分别找到距离xrobot_pose和xgoal最近的两个点xV_nearest_robot_pose和xV_nearest_goal;基于图G、xV_nearest_robot_pose和xV_nearest_goal,使用Dijkstra算法得到一条合适的路径P,并对这条路径进行分段,得到一系列分段目标点的集合Psplit_path={xsub_goal_i,i=1,2,...,n},n为分段目标点的数量;
步骤3:获得Psplit_path之后,使用基于SNN模型的控制器控制小车依次向Psplit_path中的各个分段目标点移动;在向每一个分段目标点移动的开始阶段,将小车的方向旋转至分段目标点,再调用基于SNN模型的控制器去控制小车移动;若在移动过程中最终的目标点xgoal发生了变化,则终止步骤3,并返回步骤2重新规划路线向新的xgoal移动;
步骤4:在小车移动的过程中使用gmapping算法对小车进行定位并对周围环境进行建图。
2.根据权利要求1所述的基于脉冲神经网络的自主建图方法,其特征在于,步骤1中所述的在已探索区域地图上寻找点xnew,具体为:在已探索区域地图上随机取一个点xrand,并于图G中找到一个点xnearest,使得xnearest距离xrand最近;然后在xnearest和xrand的连线上寻找一个点xnew,使得xnew距离xrand最小,同时||xnew-xnearest||≤η,且xnew与xnearest的连线上不存在障碍物,其中η是RRT生长树的生长率,η越大,树的生长速度越快但同时探索地也更加粗糙;反之,η越小,树的生长率越同时探索地也更加精细。
3.根据权利要求1所述的基于脉冲神经网络的自主建图方法,其特征在于,步骤1中判断点xnew是否为边界点时:
若点xnew刚好处于未知区域上;或者点xnew处于已知区域上且距离未知区域小于设定值;则判定点xnew为边界点。
4.根据权利要求1所述的基于脉冲神经网络的自主建图方法,其特征在于,步骤1中所述的对初始边界点集合Finit中的点进行筛选,具体为:过滤掉初始边界点集合Finit中不合适的点,过滤方式如下:
1)若某片区域内的初始边界点过于密集;则将这些点进行聚类,选择他们的质心作为新的点;
2)在小车移动过程中,已探索区域地图发生更新后,若某初始边界点距离障碍物过近或处于障碍物上,移除该点;
3)在小车移动过程中,已探索区域地图发生更新后,若某初始边界点周围的已知区域过多,判定该点不值得探索,移除该点。
5.根据权利要求1所述的基于脉冲神经网络的自主建图方法,其特征在于,步骤1中所述的筛选合适的点加入图G具体为:对于没加入初始边界点集合Finit的点,若该点处于已知区域,且与障碍物和未知区域都大于一个阈值σ,则将该点加入至图G中。
6.根据权利要求1所述的基于脉冲神经网络的自主建图方法,其特征在于,步骤2中所述的选择一个最值得探索的点xgoal,包括如下步骤:
步骤5.1:首先定义三个变量值:导航成本N、信息收益I、边界点收益R,边界点收益R根据导航成本N和信息收益I得到,选择R值最大的边界点作为xgoal;
步骤5.2:导航成本N表示所期望的从起点到边界点所需要的路程,将起点与终点的直线距离L作为导航成本N的值;同时,若起点与终点之间存在障碍物,会使导航成本N增加,每存在一个障碍物,就会给导航成本N增加ε倍的L;
步骤5.3:信息收益I表示边界点周围未知区域的单元的面积;对于信息收益I的计算,先定义一个半径r,计算以该边界点为中心,r为半径的圆内未知区域单元格数量作为信息收益I的值;
步骤5.4:边界点收益R,表示该边界点探索的价值,R越大,价值越高,计算公式如下:
R(xfp)=λh(xfp,xr)I(xfp)-N(xfp),
其中xfp表示当前边界点;xr表示当前机器人位置;λ表示权重,使得信息收益I相比于导航成本N占据更大的权重;h(xfp,xr)是一个磁滞收益,如果机器人不在信息收益I所定义的圆内,即||xr-xfp||>hrad,其中hrad为圆的半径,则赋值1,否则赋值hgain,hgain的作用在于小车会更偏向于探索临近的边界点;其中hgain必须大于1,使得机器人会更偏向于探索周围的边界点;函数I(xfp)和函数N(xfp)分别为计算导航成本N和信息收益I的函数。
8.根据权利要求1所述的基于脉冲神经网络的自主建图方法,其特征在于,步骤3中所述的基于SNN模型的控制器中的SNN模型为预训练好的模型,该模型输入信息为小车当前位姿、当前目标点、雷达信息,输出为使小车向目标点移动并自主避障的动作命令;该SNN模型的训练使用确定性策略梯度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210877751.6A CN115202357A (zh) | 2022-07-25 | 2022-07-25 | 一种基于脉冲神经网络的自主建图方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210877751.6A CN115202357A (zh) | 2022-07-25 | 2022-07-25 | 一种基于脉冲神经网络的自主建图方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115202357A true CN115202357A (zh) | 2022-10-18 |
Family
ID=83583836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210877751.6A Pending CN115202357A (zh) | 2022-07-25 | 2022-07-25 | 一种基于脉冲神经网络的自主建图方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115202357A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116382267A (zh) * | 2023-03-09 | 2023-07-04 | 大连理工大学 | 一种基于多模态脉冲神经网络的机器人动态避障方法 |
-
2022
- 2022-07-25 CN CN202210877751.6A patent/CN115202357A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116382267A (zh) * | 2023-03-09 | 2023-07-04 | 大连理工大学 | 一种基于多模态脉冲神经网络的机器人动态避障方法 |
CN116382267B (zh) * | 2023-03-09 | 2023-09-05 | 大连理工大学 | 一种基于多模态脉冲神经网络的机器人动态避障方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109636049B (zh) | 一种结合道路网络拓扑结构与语义关联的拥堵指数预测方法 | |
CN109945881B (zh) | 一种蚁群算法的移动机器人路径规划方法 | |
CN111694357B (zh) | 基于遗传算法和人工势场法的机器人行走路径规划方法 | |
CN107168305A (zh) | 路口场景下基于Bezier和VFH的无人车轨迹规划方法 | |
CN113093724A (zh) | 一种基于改进蚁群算法的agv路径规划方法 | |
CN111785045A (zh) | 基于演员-评论家算法的分布式交通信号灯联合控制方法 | |
Hart et al. | Graph neural networks and reinforcement learning for behavior generation in semantic environments | |
CN111930121B (zh) | 一种室内移动机器人的混合路径规划方法 | |
CN108919818B (zh) | 基于混沌种群变异pio的航天器姿态轨道协同规划方法 | |
CN113362368B (zh) | 一种基于多层次时空图神经网络的人群轨迹预测方法 | |
CN114460936B (zh) | 基于离线增量学习的自动驾驶汽车路径规划方法及系统 | |
CN116540731B (zh) | 融合堆叠lstm与sac算法的路径规划方法及系统 | |
CN110488835A (zh) | 一种基于双反向传播神经网络的无人系统智能局部路径规划方法 | |
CN116804879A (zh) | 一种改进蜣螂算法融合dwa算法的机器人路径规划框架方法 | |
Hsu et al. | Path planning for mobile robots based on improved ant colony optimization | |
CN115202357A (zh) | 一种基于脉冲神经网络的自主建图方法 | |
CN113391633A (zh) | 一种面向城市环境的移动机器人融合路径规划方法 | |
Obe et al. | Adaptive neuro-fuzzy controler with genetic training for mobile robot control | |
CN114545921B (zh) | 一种基于改进rrt算法的无人汽车路径规划算法 | |
CN108227718B (zh) | 一种自适应切换的自动搬运小车路径规划方法 | |
Short et al. | Abio-inspiredalgorithminimage-based pathplanning and localization using visual features and maps | |
Girase et al. | Physically feasible vehicle trajectory prediction | |
CN114200936B (zh) | 基于最优控制及宽度学习的agv实时路径规划方法 | |
Yu et al. | A novel automated guided vehicle (AGV) remote path planning based on RLACA algorithm in 5G environment | |
CN114997306A (zh) | 一种基于动态贝叶斯网络的目标意图识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |