本发明涉及无人机领域的自主探索技术,特别涉及一种针对无人机的具有时空意识的分层次自主探索方法。
背景技术:
1、作为无人机自主系统的基础研究课题之一,自主探索方法已经被广泛用于抢险救灾、环境监测和地质探索等多项领域,尤其针对未知环境,一个智能的决策方法能够帮助无人机有效感知、探索并重建未知环境。
2、无人机进行自主探索和自适应导航的过程中,都包含了环境感知、路径规划两个部分,通常将导航部分作为自主探索框架中的一个子模块,同时其中还存在一个决策模块,通过决策模块根据已知环境对下一个探索的未知区域作出判断,同时通过指导导航模块,指引无人机完后才能自主探索。
3、近年来,许多探索算法被提出,并应用于各种移动机器人平台,但是大多数算法的探索效率较为低下,对于复杂、大场景环境的适应性并不理想。
4、在人造室内环境中,认为智能体可以利用大量的结构和常识,尽管如此,很少有最先进的自主探索方法利用这些特点。现有的众多方法针对探索过程中的信息增益只能进行粗略的估计,导致计算的偏差较大。
5、经典的探索方法通过考虑信息增益和探索路径长度平衡空间探索效率和能源消耗之间的关系。以较短的探索路径为代价,过度的追逐短期的信息增益,这是经典方法所表现出来的贪婪、盲目特征。直观上可以看出,由于信息增益的吸引,使得无人机在不同的子区域之间来回移动,消耗了大量的探索时间。为了鼓励减少时间消耗并减轻贪婪的探索,大多数方法选择利用探索时间来制定探索性质决策的效用函数。然而,无人机总是以最大的速度飞行,违反了动力学要求。
6、基于下一个最佳视点(nbvp)的方法,作为一种传统的探索方法,通过平衡信息增益和探索成本之间的关系,为无人机提供前瞻性的探索目标。然而,这些基于效用函数的方法大多数情况下并不能确保实际探索的开展。直观上可以看出,这些方法在长距离探索过程中留下了未探索的碎片区域,使得无人机必须返回,进行进一步的完全探索,从而导致不必要旅行的出现。
7、综上所述,目前现有的探索方法尽管都可以实现对未知环境的探索,但是面对大场景或是处于复杂的环境之下,探索的效率和鲁棒性仍存在一定的不足,在探索的过程中出现计算偏差较大、探索效率低下、无法保证探索的完整性等诸多问题。
技术实现思路
1、本发明的目的在于提供一种效率提升、计算时间减少、鲁棒性提高的针对无人机的具有时空意识的分层次自主探索方法。
2、本发明提供的这种针对无人机的具有时空意识的分层次自主探索方法,包括如下步骤:
3、s1.获取无人机位姿和传感器数据,用于构建探索地图;
4、s2.针对步骤s1构建的探索地图,检测并更新边界点,同时针对边界点进行特征提取处理;
5、s3.采用步骤s2提取得到的特征信息构建局部关系矩阵;
6、s4.采用步骤s3构建的局部关系矩阵,通过空间感知模型,针对未知区域进行结构线索的预测;
7、s5.采用步骤s4预测的结构线索,进行探索问题的计算;
8、s6.采用步骤s5关于探索问题的计算结果,将探索问题转换为非对称旅行商问题,针对非对称旅行商问题进行计算和区域探索;
9、s7.采用步骤s6获得的计算结果和区域探索结果,使得无人机实现自主探索。
10、步骤s2所述的针对步骤s1构建的探索地图,检测并更新边界点,同时针对边界点进行特征提取,具体包括:
11、已知探索地图的更新只发生在机器人附近和传感器的最新视场范围内,依据本发明的应用条件,将边界点的检测集中在传感器的最新视场范围内,在一个圆锥内进行边界点的检测和更新,圆锥受到的视场范围fov[α,β]°和传感器的感知距离rs的限制;
12、针对边界点进行检测,具体包括:
13、(1)根据边界点是否位于当前的探索子区域内,将其划分为局部边界点nlfp和全局边界点ngfp,采用nlfp计算并求解局部非对称旅行商问题;采用ngfp在全局探索过程中确定要探索的下一个最佳子区域nbsr;
14、(2)根据机器人的当前位置pcur和偏航角yawcur,在当前的视场范围内采样ns个检测点;
15、(3)根据八叉树映射的结构特征,针对每个检测点选择nnei个临近单元,查询每个单元的占用状态:如果nnei个相邻节点的未知单元数大于设定的阈值ηfp,则判定该检测点为边界点fp;否则判定该检测点不是边界点;
16、(4)根据边界点是否位于当前探索的子区域内,将位于子区域内的边界点定义为nlfp,将位于子区域外的边界点定义为ngfp;
17、(5)随着地图的更新,将不再是边界点的检测点从nlfp、和ngfp中移除。
18、针对边界点进行特征提取处理,具体包括:
19、1)采用步骤s1获取的传感器数据,从中提取不完整点云,在局部映射中将不完整点云向下采样,获得点代理,使用点代理表示点云的一个局部区域;
20、2)使用一个轻量级的动态图卷积神经网络(dgcnn)用于提取点代理周围的局部特征,得到一个大小为h×w×c的特征映射x,其中,h表示高度,w表示宽度,c表示通道数;
21、3)通过嵌入矩阵wv将x转化为:v=xwv;其中,v为值;在空间角度上,将其实现为卷积核大小为1×1的卷积;对比于传统的自注意力,键k通过在局部特征映射x上进行卷积核大小为k×k卷积得到,其反映了局部相邻键之间的静态上下文信息;
22、4)利用两个1×1的卷积操作θ和δ,处理键和查询的拼接;θ为带relu激活函数,δ为不带relu激活函数。
23、步骤s3所述的采用步骤s2提取得到的特征信息构建局部关系矩阵,具体包括:
24、基于步骤s2所述内容,根据查询特征和上下文化关键特征学习得到局部关系矩阵其中,ch表示多头自注意力的数量;r的第i个空间位置的每个的特征r(i)是一个k×k×ch维向量,由ch个局部查询键关系映射组成,大小为k×k,用于所有航向。
25、步骤s4所述的采用步骤s3构建的局部关系矩阵,通过空间感知模型,针对未知区域进行结构线索的预测,具体包括:
26、局部关系矩阵通过基于transformer的空间意识补全模型来预测未知区域的结构线索,为了捕捉点云的结构线索,针对点代理进行相对位置嵌入处理;点代理的相对位置(pxi,pyi,pzi)和相对大小wi,hi,li的计算方法如下所示:
27、
28、
29、
30、
31、其中,为点代理所代表的局部区域左上点云的相对位置坐标,为点代理所代表的局部区域右上点云的相对位置坐标;wi为代理点云的相对宽度,hi为代理点云的相对高度,li为代理点云的相对长度;两个点代理之间的相对位置特征通过如下所示公式获取:
32、
33、
34、其中,r∈rn×n×6为点代理之间的相对位置关系;fc为带激活函数的全连接层,用于获得r的高维表示;ωg为待学习的权重参数;λg∈r{n×n}为相对位置特征;n为点代理数量;通过聚合所有值v计算注意特征图;将静态键特征k与注意特征图融合,作为空间感知自注意力的输出。
35、步骤s5所述的采用步骤s4预测的结构线索,进行探索问题的计算;具体包括:
36、(a)计算每个边界点的信息增益,确定最大信息增益对应的传感器视场方向:
37、采用步骤s4预测的结构线索,在每m个位置计算路径上的信息增益,记为:g={gk|k=1,2,…,n/m};其中,gk为第k个信息增益;将计算信息增益所对应的位置定义为航路点,记为:w={wk|k=1,2,…,n/m};其中,wk为第k个航路点;同时,确定最大信息增益对应的传感器视场方向,记为:y={yk|k=1,2,…,n/m};其中,yk为第k个传感器视场方向;
38、(b)计算到达探索目标的最佳时间:
39、将步骤(a)计算得到的传感器视场方向作为探索目标,采用步骤s1构建的探索地图,实时增量构建欧式符号距离场,提取三维环境的相对距离信息结合相对距离和波前算法,求解eikonal方程,规划路径,进而计算到达探索目标的最佳时间,计算公式如下所示:
40、
41、其中,t表示到达对应位置的时间;v(x,y,z)表示波前在三维空间中不同位置的传播速度,并采用如下所示的势函数表示:
42、
43、其中,d(x,y,z)为欧式符号距离场中从位置(x,y,z)到最近障碍物的距离;vmax是uav动力学允许的最大飞行线速度;l是控制无人机飞行速度的阈值;通过势函数对当前地图中任意位置对应的飞行速度进行预估,进而搜索出到达探索目标的飞行速度最高的安全路径;同时,基于快速行进路径规划,可以得到从位置x1到位置x2的时间参数化路径,该路径由一系列根据步骤(a)获得的位置组成,将位置记为:p={p1,p2,…,pn-1,pn},对应的到达时间通过求解eikonal方程获得,记为:t={t1,t2,…,tn-1,tn};
44、(c)计算两个相邻航路点之间的偏航角差:
45、通过将一个航路点的偏航角转换为下一个航路点的偏航角来实现偏航角规划;
46、(c-1)计算两个相邻航路点wk和wk+1之间的偏航角差;
47、(c-2)通过将一个航路点的偏航角转换为下一个航路点的偏航角来实现偏航角规划;
48、当存在:(yk+1-y)/(t(k+1)m-tkm)>ψmax时,为了满足动力学要求,无人机需要在wk处,旋转的角度为:φ=||yk+1-y||-ψmax(t(k+1)m-tkm),随后可进行后续的偏航角规划;其中,ψmax为无人机动力学允许的最大飞行角速度;
49、选择下述规则来平衡航向的一致性,用于惩罚设定时间内x1和x2之间的较大偏航角的变化:
50、
51、其中,hc(x1,x2)为;tim为第i个m时间间隔;通过计算获得的航向的一致性将用于步骤s6中的各个边界的代价矩阵的计算中;通过步骤s4计算确定传感器视点方向,进而确定每个航路点的航角;通过航向的一致性的计算进而衡量两个航角转换的代价。
52、步骤s6所述的采用步骤s5关于探索问题的计算结果,将探索问题转换为非对称旅行商问题,针对非对称旅行商问题进行计算和区域探索;具体包括:
53、在局部探索层面,将探索问题转化为非对称旅行商问题;将步骤s5获得的计算结果用于计算非对称旅行商问题的参与性成本矩阵mcost;采用计算到达探索目标的最佳时间时提出的快速行进路径规划,实现任意对nlfp或机器人当前位置pcur与局部边界点之间的飞行时间估计和路径规划;
54、假设当前子区域内存在q个局部边界点,则mcost为q+1维方阵;在考虑q个边界点之间的连通性的同时,在路径中计入机器人的当前位置pcur,从而得到非对称旅行商问题并进行求解;
55、mcost的第一行表示从pcur到每个局部边界点的代价:
56、
57、其中,tq表示从pcur到第q个局部边界点的路径上的总飞行时间;giq表示从pcur到第q个局部边界点的路径上的信息增益;ξ是用于衡量航向一致的权重;基于此,将mcost的第一列设为0,对应的公式如下所示:
58、mcost(0,q)=0,q=1,2,3,…,q
59、mcost的剩余部分由每对局部边界点之间的连接代价组成,对应的计算公式如下所示:
60、
61、其中,表示从fpq1到fpq2路径上的飞行时间;表示从fpq1到fpq2路径上获得的信息增益;通过对上述非对称旅行商问题的求解,确定局部边界点的探索顺序;
62、通过复杂度o(q2)计算所有边界点之间的探索成本,选择一个无向全连通动态的维护边界点之间的连通性,同时降低探索代价;探索帧的删除通过图数据结构中的删除操作实现;新检测帧的添加通过图数据结构中的添加操作实现;假设新添加的边界点数量为q′,在每次计算成本矩阵时,计算o(q′*q)行进。
63、步骤s7所述的采用步骤s6获得的计算结果和区域探索结果,使得无人机实现自主探索;具体包括:
64、当步骤s6所述的区域探索结果显示当前的子区域得到充分探索后,探索切换到全局探索层;ngfp以边界簇的形式聚集在一起,选择滑动窗口选择边界点,形成设定数量的子区域同时作为候选nbsr;
65、(a)选择mean_shift算法对ngfp进行聚类,得到k簇中心;
66、(b)以每个聚类中心为中心,确定一个候选nbsr的位置;
67、制定如下所示的效用函数对各子区域进行评价:
68、
69、其中,information(ri)表示以第i个簇中心ci为中心的子区域ri所包含的潜在信息量;t(pcur,ci)表示从当前位置到达ci所需的估计时间;λ是用于调整评价指标权重的参数;得分最高的子区域被确定为进一步开展局部探索的nbsr。
70、本发明提供的这种针对无人机的具有时空意识的分层次自主探索方法,通过将探索问题转换为非对称旅行商问题,进行了相关的计算和区域探索,进而实现无人机的自主探索;而且本发明的效率得到提升、用于计算的时间得到减少、鲁棒性得到提高。