本发明属于通信技术领域,更进一步涉及目标定位技术领域中的一种基于手机内置加速度计的室内移动目标定位方法。本发明可用于对室内移动目标进行定位及跟踪,实时显示移动目标的动态轨迹。
背景技术:
室内定位技术是指使用定位系统通过特定的定位技术获取室内移动目标的位置信息(比如经纬度等地理坐标数据)。其广泛应用于新兴科技领域(例如,虚拟现实技术)和与人类生活息息相关的安保、交通、紧急求援等方面。目前,汽车导航、地图等针对室外的位置服务已经非常成熟,市场对于基于位置的服务的需求重心逐渐从室外转移到室内。统计表明,人们在室内的活动时间占活动总时间的百分之七十到百分之八十,因此针对室内环境的位置服务应用前景非常广阔。但是,就目前室内定位技术的发展状况来看,由于室内环境的不确定性,定位系统部署的复杂性等问题,无法满足人们对室内定位的要求,在一定程度上影响了室内定位技术的进一步发展。
中国矿业大学在其申请的专利文献中“一种移动目标协同定位系统的定位方法”(申请号:201310078769.0,专利授权号:cn103197279a)中提出了一种通过移动目标协同定位系统实现定位的方法。该方法采用数据处理器采集移动目标的姿态角、加速度参数,超宽带无线接收器接收到移动目标与超宽带无线发射器间的信号到达时间差和到达角度参数,将多传感器参量通过对应的串口通信模块传输到协同运算处理单元,解算输出得到移动目标的位置和姿态。该方法虽然定位方法虽然能够实现定位,但是,仍然存在的不足之处是,这种定位系统部署复杂,便携性差。
杭州云象网络技术有限公司在其申请的专利文献“基于wi-fi和地磁场的室内定位方法”(申请号:201410843968.0,申请公布号:cn104483658a)中提出了一种基于wi-fi和地磁场的室内定位方法。该方法通过构建若干个建筑物的室内平面的电子地图,在当前建筑物中设定若干参考点,获取各个参考点的wi-fi信息和地磁场信息;根据各个参考点的wi-fi信息和地磁场信息确定当前建筑物的电子标签、地磁场识别模型和wi-fi指纹特征,并作为当前建筑物的位置特征数据,将所有建筑物的所有位置特征数据组建为位置指纹库;获取当前位置的wi-fi信息和地磁场信息,并根据获取的wi-fi信息和地磁场信息利用所述的位置指纹库进行定位得到相应的最终定位结果。该定位方法虽然定位效率高,但是,仍然存在的不足之处是,占用存储空间大,浪费资源。
技术实现要素:
本发明的目的在于克服上述现有技术存在的定位系统部署复杂、占用存储空间大等不足,提出一种基于手机内置加速度计的室内移动目标定位方法,该定位方法是在待定位移动目标初始位置已知的前提下,构建加速度平均值矩阵,计算待定位移动目标的步长和方位角,得到待定位移动目标的位置,实现对室内移动目标的定位。
实现本发明目的的具体步骤如下:
(1)采集加速度计数据:
采集手机内置加速度计的数据,将所采集的数据按列存入一个加速度矩阵中;
(2)构建加速度平均值矩阵:
(2a)按列依次读取加速度矩阵中的元素;
(2b)计算所读取的加速度矩阵中每列元素的分组数;
(2c)读取每组分组数据中的元素,计算每组分组数据中的元素的平均值,将所计算的平均值按列存入加速度平均值矩阵中;
(3)计算待定位的移动目标的步长:
(3a)按列依次读取加速度平均值矩阵中的元素,提取平均加速度值矩阵中大于0.65的所有元素,将所提取的元素按列存入提取值矩阵中;
(3b)从提取值矩阵中搜索第i列的最大值和最小值;
(3c)计算提取值矩阵每一列所对应的待定位的移动目标的步长;
(4)计算待定位的移动目标的方向角:
调用手机自带的方向接口函数,计算提取值矩阵每一列所对应的待定位的移动目标的方向角;
(5)确定待定位的移动目标的位置:
(5a)计算待定位的移动目标的坐标值;
(5b)将待定位的移动目标的坐标值作为当前时刻待定位的移动目标的位置。
与现有技术相比,本发明具有以下优点:
第一,由于本发明通过采集手机内置加速度计数据,构建加速度平均值矩阵,计算待定位的移动目标的步长,计算待定位的移动目标的方向角,确定待定位的移动目标的位置进行定位,克服了现有技术中需要安装外部设备导致定位系统部署复杂,便携性差的不足,使得本发明可以在只使用手机内置加速度计的条件下提高了定位系统的便携性。
第二,本发明通过构建加速度平均值矩阵,计算加速度矩阵中每列元素的分组数,读取每组分组数据中的元素,计算每组分组数据中的元素的平均值,将所计算的平均值按列存入加速度平均值矩阵中,克服了现有技术中加速度矩阵占用存储空间大,浪费存储资源的不足,使得本发明节省了加速度矩阵存储资源。
附图说明
图1是本发明的流程图。
具体实施方法
下面结合附图1对本发明作进一步的描述。
步骤1,采集加速度计数据。
采集手机内置加速度计的数据,将所采集的数据按列存入一个加速度矩阵中。
步骤2,构建加速度平均值矩阵。
按列依次读取加速度矩阵中的元素。
按照下式,计算所读取的加速度矩阵中每列的元素的分组数:
mi=ni%5+1
其中,mi表示加速度矩阵中第i列的分组个数,ni表示加速度矩阵中第i列的元素个数,%表示ni对5求余操作。
步骤3,计算待定位的移动目标的步长。
按列依次读取加速度平均值矩阵中的元素,提取平均加速度值矩阵中大于0.65的所有元素,将所提取的元素按列存入提取值矩阵中。
从提取值矩阵中搜索第i列的最大值和最小值。
按照下式,计算提取值矩阵每一列所对应的待定位的移动目标的步长:
其中,li表示提取值矩阵中第i列对应的待定位的移动目标的步长,*表示相乘操作,
步骤4,计算待定位的移动目标的方向角。
调用手机系统自带的方向接口函数,计算提取值矩阵每一列所对应的待定位的移动目标的方向角。
步骤5,确定待定位的移动目标的位置。
按照下式,计算待定位的移动目标的横坐标值:
其中,x表示提取值矩阵最后一列对应的待定位的移动目标的横坐标值,e0表示待定位的移动目标横坐标初始值,∑表示求和操作,li表示提取值矩阵第i列对应的待定位的移动目标的步长,*表示乘法操作,sin表示求正弦操作,θi提取值矩阵第i列对应的待定位的移动目标的方向角。
按照下式,计算待定位的移动目标的坐标值的纵坐标值:
其中,y表示提取值矩阵最后一列对应的待定位的移动目标的纵坐标值,n0表示待定位的移动目标纵坐标初始值,∑表示求和操作,li表示提取值矩阵第i列对应的待定位的移动目标的步长,*表示乘法操作,θi提取值矩阵第i列对应的待定位的移动目标的方向角,cos表示求余弦操作。
将待定位的移动目标的坐标值作为当前时刻待定位的移动目标的位置。