本发明涉及点云数据的处理,尤其涉及一种安全飞行包线的估算方法。
背景技术:
飞行包线是以飞行速度、高度和过载等作为界限的封闭几何图形,用以表示飞机的飞行范围和飞行限制条件。以定常水平直线飞行包线为例,在以速度为横坐标、高度为纵坐标的二维象限内,标出维持正常飞行的所有速度和高度,形成一个不规则的四边形。左边表示最小速度限制,右边表示最大速度限制,上面表示飞行高度限制。
目前,飞机可以采用三维数据地图进行导航,周围地形环境的三维数据被事先扫描形成点云数据,并制作成三维数据地图。飞机在飞行过程中,随着周围地形环境的高低起伏,需要实时计算安全飞行包线,从而为控制飞机速度和高度提供实时指导。
点云扫描是三维测量的一个重要分支,通过扫描能够得到的实际物体和地形的海量3d信息。因此,点云数据的处理在地理信息、空间分析、环境分析等等方向具有及其重要的作用。
在点云数据的特征提取中,法矢量和曲率等几何属性是反映点云特性的重要参数,法矢量和曲率的精度将会直接反映点云数据的精准性。因此,如何有效地、准确地计算出法矢量和曲率这些几何参数,是解决问题的关键所在。
技术实现要素:
有鉴于此,本发明的目的在于提供一种安全飞行包线的估算方法,其能有效地、准确地计算出法矢量。
本发明的技术方案是这样实现的:本发明提供了一种安全飞行包线的估算方法,其特征在于:包括以下步骤,
s1,获取周围地形环境模型的三维数据坐标,形成点云数据,获取飞行器位置坐标、运动方向、速度以及安全飞行高度;
s2,估算点云数据的表面法矢量;
s3,根据步骤s2得到的点云数据的表面法矢量、飞行器位置坐标、运动方向、速度以及安全飞行高度计算安全飞行包线。
在以上技术方案的基础上,优选的,所述步骤s2包括,
s2-1,读入点云数据,并获取点云个数n;
s2-2,从点云数据集中任取一点pi;
s2-3,建立pi的k-邻域;
s2-4,将这k+1个点用最小二乘法进行曲面拟合,得到拟合曲面的切平面;
s2-5,将得到的曲面切平面的法矢量当做点pi的法线,然后检查法矢量方向的一致性,若指向视点,则是一致的,将得到的法矢量
s2-6,遍历点云数据集中的所有点,重复上述步骤。
进一步优选的,所述步骤s2-4包括以下步骤,
对得到的n个点云数据,pi是测量数据中的某一点,为求得该点处的法线,先设平面方程为:
ax+by+cz+d=0(1)
式(1)中,a2+b2+c2=1,可以得到平面参数a,b,c,d,使得k个邻近点到该平面的距离的平方和最小,获得的拟合平面是最佳的,即满足式(2):
其中,di是点云数据中的任一点pi(xi,yi,zi)到这个平面的距离di=|axi+byi+czi-d|
采用拉格朗日乘子法求解极值,得到式(3)
将式(3)两边对d求偏导,并且令偏导数为零,得到:
令
di=|aδxi+bδyi+cδzi|(5)
再对式(3)两边求a,b,c的偏导数,得:
将上述方程组构成特征值方程得:
ax=λx(7)
式(7)中,
那么,求解平面参数a,b,c,就是求解矩阵的特征值和特征向量,又因为a是3阶实对称矩阵,根据矩阵的知识可知,对于实对称矩阵,特征值可利用式(7)求解,得:
在约束条件a2+b2+c2=1下,可得
更进一步优选的,所述步骤s2-5包括,
先判断方向的一致性,如果知道实际视点vp,只需要所有的法矢量
如果不满足式(9),即点pi法向量
再进一步优选的,所述步骤s2-5还包括,
若设测点pi,pj是曲面上距离很近的两点,则相应法矢量的点积
本发明的安全飞行包线的估算方法相对于现有技术具有以下有益效果:
(1)通过使用最小二乘法进行平面拟合的方式计算点云数据的法矢量,通过使用最值优化的方法,改进了局部最小二乘拟合法的计算复杂度,从而优化了最小二乘拟合法的计算时间;
(2)通过查询点云的k-邻域,建立相应的拓扑结构,在拓扑结构的基础上拟合出最小二乘法下的切平面,从而估算点云的表面法矢向量,该算法具有较高的精确度,能适用于对精度要求较高的应用环境;
(3)采用本估算方法计算的安全飞行包线具有精度高、速度快的特点,具备广泛推广应用的前景。
具体实施方式
下面将结合本发明实施方式,对本发明技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
本发明的安全飞行包线的估算方法,包括以下步骤,
s1,获取周围地形环境模型的三维数据坐标,形成点云数据,获取飞行器位置坐标、运动方向、速度以及安全飞行高度。
s2,估算点云数据的表面法矢量。具体的,包括,
s2-1,读入点云数据,并获取点云个数n。
s2-2,从点云数据集中任取一点pi。
s2-3,建立pi的k-邻域。在估计一个点云平面法线时,应该从该点周围的邻域开始,寻找与该点相邻最近的k个点,也就是所说的k-邻域。通过把点与点之间的拓扑关系建立起来,能有效地缩小数据处理范围,提高算法效率。已知一个取样点云数据点集pt,k的取值为多大,或者说这个邻域的半径r为多大,值得思考。k的选值不能多大也不能过小,如果k过大时,邻域覆盖范围太广,导致曲面拟合的计算量太大,在这个点的特征可能会出现扭曲失真;如果k过小时,拟合出来的曲面不能足够地反映该点的特征,降低特征的精度。
s2-4,将这k+1个点用最小二乘法进行曲面拟合,得到拟合曲面的切平面。
对得到的n个点云数据,pi是测量数据中的某一点,为求得该点处的法线,先设平面方程为:
ax+by+cz+d=0(1)
式(1)中,a2+b2+c2=1,可以得到平面参数a,b,c,d,使得k个邻近点到该平面的距离的平方和最小,获得的拟合平面是最佳的,即满足式(2):
其中,di是点云数据中的任一点pi(xi,yi,zi)到这个平面的距离di=|axi+byi+czi-d|
采用拉格朗日乘子法求解极值,得到式(3)
将式(3)两边对d求偏导,并且令偏导数为零,得到:
令
di=|aδxi+bδyi+cδzi|(5)
再对式(3)两边求a,b,c的偏导数,得:
将上述方程组构成特征值方程得:
ax=λx(7)
式(7)中,
那么,求解平面参数a,b,c,就是求解矩阵的特征值和特征向量,又因为a是3阶实对称矩阵,根据矩阵的知识可知,对于实对称矩阵,特征值可利用式(7)求解,得:
在约束条件a2+b2+c2=1下,可得
s2-5,将得到的曲面切平面的法矢量当做点pi的法线,然后检查法矢量方向的一致性,若指向视点,则是一致的,将得到的法矢量
采用上面方法计算直接得到的法向量的方向可能会出现不一致的问题。为使方向保持一致性,应该对法线的方向进行调整。先判断方向的一致性,如果知道实际视点vp,只需要所有的法矢量
如果不满足式(9),即点pi法向量
若设测点pi,pj是曲面上距离很近的两点,则相应法矢量的点积
s2-6,遍历点云数据集中的所有点,重复上述步骤。
s3,根据步骤s2得到的点云数据的表面法矢量、飞行器位置坐标、运动方向、速度以及安全飞行高度计算安全飞行包线。
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。