本发明涉及导航控制系统及方法,尤其是室内高导航精度的定位系统和方法。
背景技术:
目前,在导航定位行业采用的方案有:采用超声波与Zigbee的组合导航方案,功能实现起来软件程序较为复杂,功耗比较大、采购Zigbee芯片硬件成本较高;采用UWB测距导航方案,UWB高频电磁波受金属屏蔽及电场干扰较大,应用场合局限性大,系统定位精度较差,一般>50cm;采用激光雷达导航测距,激光测距受环境影响较大,比如遇透明玻璃、强光时无法测距,系统定位范围较小6*6米内;采用视觉导航,系统受环境变化影响较大,现场如果有大屏幕电视墙及透明玻璃,人员移动时,无法定位。上述现有的定位技术,存在方法流程复杂、定位精度差等缺点。
技术实现要素:
鉴于以上问题,本发明提供一种室内导航定位方法、系统、待定位设备及锚节点,以解决现有的定位方法流程复杂、定位精度差的问题。本发明的具体技术方案如下:
第一方面,本发明提供了一种室内导航定位方法,包括如下步骤:
待定位设备向至少三个锚节点同时发送射频信号和超声波信号,所述至少三个锚节点分布于相对所述待定位设备的不同方向;
分别接收来自每个所述锚节点的反馈信号,所述反馈信号为所述锚节点接收到所述射频信号和所述超声波信号的时间差;
根据每个所述时间差以及超声波的传输速度获得所述待定位设备与每个所述锚节点之间的距离;
根据每个所述锚节点的位置信息以及所述待定位设备与每个所述锚节点之间的距离,生成所述待定位设备的位置信息。
可选地,所述反馈信号通过以下方式获得:当所述锚节点接收到射频信号之后开始计时,当接收到超声波信号之后停止计时,获得的计时信息作为所述反馈信号。
可选地,所述方法还包括:设置一预设时间;当所述锚节点接收到所述射频信号之后的预设时间内收到所述超声波信号,则所述锚节点在本次定位中为有效锚节点;
当所述锚节点接收到所述射频信号之后的预设时间内没有收到所述超声波信号,则所述锚节点在本次定位中为无效锚节点;
当本次定位中有效锚节点小于3个时,则本次定位失败,重新进行定位,直至定位成功或达到预定的定位次数。
可选地,设置预设时间可以迅速剔除无效锚节点,大大提高导航精确度和导航效率。
可选地,重新定位方法如下:通过再次向所述至少三个锚节点同时发送射频信号和超声波信号,判断锚节点在预设时间是否接收到超声波信号,若是,则锚节点在本次定位中为有效锚节点,当待定位设备接收到大于等于三个有效锚节点的反馈信号,则定位成功,继续执行后续步骤,当待定位设备接收到小于三个有效锚节点的反馈信号,则定位失败,继续重复定位。
可选地,所述反馈信号为射频信号。
可选地,所述方法中,每个所述锚节点的反馈信号中还包括所述锚节点的ID数据;
所述方法还包括:根据所述锚节点的ID数据分别确定所述反馈信号对应的所述锚节点的位置信息。
可选地,所述方法还包括:分别为每个锚节点设置一个锚节点发送延迟时间,以保证所述待定位设备依次接收到各所述锚节点发送的信号,而不产生接收冲突。
可选地,所述待定位设备向至少三个锚节点同时发送射频信号和超声波信号,具体为:待定位设备向至少三个锚节点发送射频信号的同时按预设的每次超声波延迟时间依次发送至少三次超声波信号;
所述根据每个所述时间差以及超声波的传输速度获得所述待定位设备与每个所述锚节点之间的距离,包括:
根据每个所述锚节点接收射频信号与每次所述超声波信号的时间差、每次所述超声波延迟时间以及超声波的传输速度,获得所述待定位设备与每个所述锚节点的至少三个距离值;
当存在所述至少三个距离值两两之间的偏差小于阈值时,将偏差小于阈值对应的所述距离值的平均值作为最终所述待定位设备与所述锚节点之间的距离,避免产生较大距离误差。
第二方面,本发明还提供了一种室内导航定位方法,所述方法包括如下步骤:
待定位设备向至少三个锚节点同时发送射频信号和超声波信号,所述至少三个锚节点分布于相对于所述待定位设备的不同方向;
分别接收来自每个所述锚节点的反馈信号,所述反馈信号为所述待定位设备与所述锚节点之间的距离,其具体为所述锚节点接收到所述射频信号和所述超声波信号的时间差与超声波的传输速度的乘积;
根据每个所述锚节点的位置信息以及所述待定位设备与每个所述锚节点之间的距离,生成所述待定位设备的位置信息。
可选地,所述射频信号和所述超声波信号的时间差通过以下方式获得:当所述锚节点接收到射频信号之后开始计时,当接收到超声波信号之后停止计时,获得的计时信息作为所述锚节点接收到所述射频信号和所述超声波信号的时间差。由于射频信号的传输速度远远大于超声波信号的传输速度,因此,射频信号的传输时间忽略不计,上述时间差乘以超声波的传输速度即为待定位设备与锚节点之间的距离。
可选地,所述方法还包括:设置一预设时间;当所述锚节点接收到所述射频信号之后的预设时间内收到所述超声波信号,则所述锚节点在本次定位中为有效锚节点;当所述锚节点接收到所述射频信号之后的预设时间内没有收到所述超声波信号,则所述锚节点在本次定位中为无效锚节点;当本次定位中有效锚节点小于3个时,则本次定位失败,重新进行定位,直至定位成功或达到预定的定位次数。该方法保证定位不会产生较大偏差,提供导航精确度。
可选地,所述反馈信号为射频信号。
可选地,每个所述锚节点的反馈信号中还包括所述锚节点的ID数据;
所述方法还包括:根据所述锚节点的ID数据分别确定所述反馈信号对应的所述锚节点的位置信息。
可选地,所述方法还包括:分别为每个锚节点设置一个锚节点发送延迟时间,以保证所述待定位设备依次接收到各所述锚节点发送的信号,防止信号接收冲突。
可选地,所述待定位设备向至少三个锚节点同时发送射频信号和超声波信号,具体为:待定位设备向至少三个锚节点发送射频信号的同时按预设的每次超声波延迟时间依次发送至少三次超声波信号;
本方法还包括:每个所述锚节点根据每个所述锚节点接收射频信号与每次所述超声波信号的时间差、每次所述超声波延迟时间以及超声波的传输速度,获得所述待定位设备与每个所述锚节点的至少三个距离值;
当存在所述至少三个距离值两两之间的偏差小于阈值时,将偏差小于阈值对应的所述距离值的平均值作为最终所述待定位设备与所述锚节点之间的距离。
第三方面,本发明还提供了一种待定位设备,包括:
射频发送模块,用于向至少三个锚节点发送射频信号;
超声波发送模块,用于向至少三个锚节点发送超声波信号;
控制模块,用于控制所述射频发送模块和所述超声波发送模块同时向所述至少三个锚节点发送射频信号和超声波信号;
接收模块,用于分别接收来自每个所述锚节点的反馈信号,所述反馈信号为所述锚节点接收到所述射频信号和所述超声波信号的时间差;
距离计算模块,用于根据每个所述时间差以及超声波的传输速度获得所述待定位设备与每个所述锚节点之间的距离;
存储模块,用于存储每个所述锚节点的位置信息;
位置计算模块,用于根据每个所述锚节点的位置信息以及所述待定位设备与每个所述锚节点之间的距离,生成所述待定位设备的位置信息。
可选地,所述的待定位设备,所述反馈信号为射频信号。
可选地,所述的待定位设备,每个所述锚节点的反馈信号中还包括所述锚节点的ID数据;所述存储模块还用于存储与每个所述位置信息对应的ID数据,所述控制模块还用于从存储模块中提取与接收到的每个ID数据对应的位置信息。
可选地,所述超声波发送模块为若干超声波发射器,所述若干超声波发射器的超声波发射口均位于同一球体表面,所述若干超声波发射器的发射方向相对于所述球体的球心呈放射状分布。
可选地,所述超声波发射模块和所述射频发送模块以及所述射频接收模块均设置于一机器人上,所述超声波发射模块位于一机器人的头部,所述若干超声波发射器的超声波发射口均位于同一上半球体表面。
第四方面,本发明还提供了一种锚节点,包括:
射频接收模块,用于接收射频信号;
超声波接收模块,用于接收超声波信号;
计时模块,用于记录接收到所述射频信号与所述超声波信号的时间差;
发射模块,用于发送所述时间差。
可选地,所述发射模块为射频发射模块。
可选地,还包括:存储模块,用于存储所述锚节点的ID数据;所述发射模块还用于发送所述ID数据。
可选地,所述的锚节点,还包括:控制模块,用于为所述锚节点设置一个锚节点发送延迟时间,以控制从所述射频接收模块接收所述射频信号时起延迟所述锚节点发送延迟时间,所述发射模块再发送信息。
第五方面,本发明还提供了一种室内导航定位系统,包括上述第三方面所述的待定位设备和至少三个上述第四方面所述的锚节点,所述锚节点分布于所述待定位设备的不同方向。
第六方面,本发明还提供了一种待定位设备,包括:
射频发送模块,用于向至少三个锚节点发送射频信号;
超声波发送模块,用于向至少三个锚节点发送超声波信号;
控制模块,用于控制所述射频发送模块和所述超声波发送模块同时向所述至少三个锚节点发送射频信号和超声波信号;
接收模块,用于分别接收来自每个所述锚节点的反馈信号,所述反馈信号为所述待定位设备与所述锚节点之间的距离,其具体为所述锚节点接收到所述射频信号和所述超声波信号的时间差与超声波的传输速度的乘积;
存储模块,用于存储每个所述锚节点的位置信息;
位置计算模块,用于根据每个所述锚节点的位置信息以及所述待定位设备与每个所述锚节点之间的距离,生成所述待定位设备的位置信息。
可选地,所述的待定位设备中,所述反馈信号为射频信号。
可选地,所述的待定位设备中,每个所述锚节点的反馈信号中还包括所述锚节点的ID数据;
所述存储模块还用于存储与每个所述位置信息对应的ID数据,所述控制模块还用于从存储模块中提取与接收到的每个ID数据对应的位置信息。
可选地,所述超声波发送模块为若干超声波发射器,所述若干超声波发射器的超声波发射口均位于同一球体表面,所述若干超声波发射器的发射方向相对于所述球体的球心呈放射状分布。
可选地,所述超声波发射模块和所述射频发送模块以及所述接收模块均置于一机器人上,所述超声波发射模块位于一机器人的头部,所述若干超声波发射器的超声波发射口均位于同一上半球体表面。
第七方面,本发明还提供了一种锚节点,包括:
射频接收模块,用于接收射频信号;
超声波接收模块,用于接收超声波信号;
计时模块,用于记录接收到所述射频信号与所述超声波信号的时间差;
距离计算模块,用于根据接收到所述射频信号和所述超声波信号的时间差与超声波的传输速度的乘积得到所述待定位设备与所述锚节点之间的距离;
发射模块,用于发送所述距离信息。
可选地,所述的锚节点中,所述发射模块为射频发射模块。
所述的锚节点,反馈信号中还包括所述锚节点的ID数据;所述发射模块还用于发送所述ID数据。
可选地,所述的锚节点,还包括:控制模块,用于为所述锚节点设置一个锚节点发送延迟时间,以控制从所述射频接收模块接收所述射频信号时起延迟所述锚节点发送延迟时间,所述发射模块再发送信息。该信息中包括时间差,还可包括ID数据。所述锚节点发送延迟时间可以包括预设时间和锚节点的延迟时间,该预设时间自收到射频信号开始计时。
第八方面,本发明还提供了一种室内导航定位系统,包括上述第六方面所述的一种待定位设备,还包括至少三个上述第七方面所述的锚节点,所述锚节点分布于所述待定位设备的不同方向。
本发明的技术方案具有如下优点:
本发明的室内导航定位方法及其设备和系统,应用于机器人室内行走,采用“超声波加射频”的组合方案进行室内测距定位,避免了现有定位产品的各种缺陷。其中,射频信号与Zigbee相比可以跳过复杂的Zigbee收发协议,电路实现简单,用一片MCU即可实现所有功能,方法流程简易、直接,并且在功耗和成本上具备优势。该组合方案相比“UWB测距导航方案测距”和“激光雷达导航测距”精度更高,实测定位精度可达15cm以内,具有导航、定位面积大等优点。
附图说明
图1是射频信号和超声波信号发送示意图;
图2是射频信号和超声波信号接收示意图;
图3是实施例1的室内导航定位方法的流程示意图;
图4是实施例2的室内导航定位方法的流程示意图;
图5是实施例3的室内导航定位方法的流程示意图;
图6是实施例4的室内导航定位方法的流程示意图;
图7是实施例5的室内导航定位方法的流程示意图;
图8是实施例6的待定位设备的结构示意图;
图9是实施例6的超声波发射模块的结构示意图;
图10是实施例6的超声波发射模块所在机器人的结构示意图;
图11是实施例7的锚节点的结构示意图;
图12是包括存储模块的锚节点的结构示意图;
图13是包括控制模块的锚节点的结构示意图;
图14是实施例8的室内导航定位系统的结构示意图;
图15是实施例9的待定位设备的结构示意图;
图16是实施例10的锚节点的结构示意图。
符号说明
40、60待定位设备;41射频发送模块;42超声波发送模块;
43控制模块;44接收模块;45距离计算模块;46存储模块;
47位置计算模块;401、402、403超声波发射器;404机器人;
50、70锚节点;51射频接收模块;52超声波接收模块;53计时模块;
54发射模块;55存储模块;56控制模块;
61射频发送模块;62超声波发送模块;63控制模块;64接收模块;
65存储模块;66位置计算模块;71射频接收模块;72超声波接收模块;
73计时模块;74距离计算模块;75发射模块。
具体实施方式
下面,对本发明的实施例进行详细说明,但所述内容不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应归属于本发明的保护涵盖范围之内。另外,需要说明的是,在不冲突的情况下,本发明创造中的实施例及实施例中的特征可以相互组合。
实施例1
本实施例涉及一种室内导航定位方法,上述室内导航定位方法,其流程示意图如图3所示,包括如下步骤:
步骤S11:待定位设备向至少三个锚节点同时发送射频信号和超声波信号,该至少三个锚节点分布于相对待定位设备的不同方向。
其中,至少三个锚节点,例如锚节点A、锚节点B、锚节点C等。
步骤S12:分别接收来自每个锚节点的反馈信号,该反馈信号为锚节点接收到射频信号和超声波信号的时间差。
例如,待定位设备同时将射频信号和超声波信号发送给锚节点A,锚节点A首先在t1时间收到射频信号,然后在t2时间收到超声波信号,t2与t1之间的时间差即为超声波的传输时间。
步骤S13:根据每个时间差以及超声波的传输速度获得待定位设备与每个锚节点之间的距离,即距离L=(t2-t1)*超声波传输速度。
具体的,根据每个时间差与超声波的传输速度的相乘获得待定位设备与每个锚节点之间的距离。
步骤S14:根据每个锚节点的位置信息以及待定位设备与每个锚节点之间的距离,生成待定位设备的位置信息。
该定位方法的原理如下:如图1所示,待定位设备向至少三个锚节点同时发送射频信号和超声波信号;锚节点的地址信息可以预存在锚节点中,也可以存储在待定位设备中。由于射频信号的传输速度远远大于超声波信号的传输速度,因此,射频信号的传输时间忽略不计,从接收到射频信号开始计时,待收到同步的超声波信号后计时结束,该时间(T,如图2所示)即为超声波从待定位设备发出到被锚节点接收之间的传输时间。该传输时间乘以超声波的传输速度即为待定位设备与锚节点之间的距离,将该距离信息与锚节点的位置信息作为待定位设备的位置信息。
该方法根据同时发送的射频信号和超声波信号的接收时间差以及超声波的传输速度,可以方便地得出待定位设备与锚节点之间的距离。
实施例2
如图4所示,在实施例1的基础上,本实施例的室内导航定位方法还包括设置有预设时间t0。步骤如下:
步骤S11:待定位设备向至少三个锚节点同时发送射频信号和超声波信号,该至少三个锚节点分布于相对待定位设备的不同方向。
其中,至少三个锚节点,例如锚节点A、锚节点B、锚节点C等。
步骤S12:分别接收来自每个锚节点的反馈信号,该反馈信号为锚节点接收到射频信号和超声波信号的时间差。
例如,待定位设备同时将射频信号和超声波信号发送给锚节点A,锚节点A首先在t1时间收到射频信号,然后在t2时间收到超声波信号,t2与t1之间的时间差即为超声波的传输时间。
步骤S121:判断时间差是否小于预设时间t0。
该预设时间t0自锚节点接收到射频信号后开始计时,若在预设时间t0内收到超声波信号,则锚节点在本次定位中为有效锚节点;若锚节点没有在预设时间t0内收到超声波信号,则锚节点在本次定位中为无效锚节点;当本次定位中有效锚节点小于3个时,则本次定位失败,重新进行定位,直至定位成功或达到预定的定位次数。如果此时采用多于三个锚节点定位,可以允许有锚节点定位失败的情况;如果重新定位,则需要所有的锚节点都进行重新获取射频信号、重新获取时间差,并进行后续的操作。
重新定位方法如下:再次向至少三个锚节点同时发送射频信号和超声波信号,判断锚节点在预设时间t0内是否接收到超声波信号,若是,则锚节点在本次定位中为有效锚节点,当待定位设备接收到大于等于三个有效锚节点的反馈信号,则定位成功,继续执行后续步骤,当待定位设备接收到小于三个有效锚节点的反馈信号,则定位失败,继续重复定位。
上述“重新定位”是指,回到起始步骤S11然后继续往下操作,直至满足设定条件。
步骤S13:根据每个时间差以及超声波的传输速度获得待定位设备与每个锚节点之间的距离,即距离L=(t2-t1)*超声波传输速度。
具体的,根据每个时间差与超声波的传输速度的相乘获得待定位设备与每个锚节点之间的距离。
步骤S14:根据每个锚节点的位置信息以及待定位设备与每个锚节点之间的距离,生成待定位设备的位置信息。
该方法提供一种方案,在总的有效锚节点达到要求的情况下,即使某些锚节点在超时未接收到超声波的情况下,仍能导航。
上述反馈信号可以为射频信号,射频信号使得反馈信息可快速传递给待定位设备。
上述方法中,每个锚节点的反馈信号中还可以包括该锚节点的ID数据;锚节点读取并记录自身的ID编码,该ID编码与其锚节点唯一对应,ID编码可以包括位置信息;或者,位置信息存储在待定位设备内,与ID编码对应,根据ID编码进行调用。由于ID编码与锚节点唯一对应,因此锚节点的反馈信号返回给待定位设备时不会造成混淆。
上述方法还可以包括:根据锚节点的ID数据分别确定反馈信号(例如,上述时间T)对应的锚节点的位置信息,使得反馈信号与各自的锚节点一一对应,不会造成混淆。
上述方法还可以包括:分别为每个锚节点设置一个锚节点发送延迟时间,以保证待定位设备依次接收到各锚节点发送的信号,而不产生接收冲突。例如,假设给锚节点A、锚节点B、锚节点C分别设置的锚节点发送延迟时间是tA、tB、tC,则锚节点A在发送信息前先等待一个时间tA,锚节点B在发送信息前先等待一个时间tB,锚节点C在发送信息前先等待一个时间tC,然后再将信息发送给待定位设备。由于tA、tB、tC设置得具有足够区分度,因此保证待定位设备不会在同一时间接收到各锚节点发送的信息。
具体地,对于锚节点A的等待一个时间tA,该tA包括前述的预设时间t0和锚节点A自身的延时时间ta;对于锚节点B的等待一个时间tB,该tB包括前述的预设时间t0和锚节点B自身的延时时间tb;对于锚节点C的等待一个时间tC,该tC包括前述的预设时间t0和锚节点C自身的延时时间tc。
实施例3
如图5所示,在实施例1的基础上,本实施例的导航定位方法中,各步骤具体如下:
步骤S11在本实施例中具体为:待定位设备向至少三个锚节点发送射频信号的同时,按预设的每次超声波延迟时间依次发送至少三次超声波信号;
步骤S12:分别接收来自每个锚节点的反馈信号,该反馈信号为锚节点接收到射频信号和超声波信号的时间差;
例如,待定位设备同时将射频信号和超声波信号发送给锚节点A,锚节点A首先在t1时间收到射频信号,然后在t2时间收到超声波信号,t2与t1之间的时间差即为超声波的传输时间;
步骤S13具体包括:根据每个锚节点接收射频信号与超声波信号的时间差、每次超声波延迟时间以及超声波的传输速度,获得待定位设备与每个锚节点的至少三个距离值;
步骤S14具体包括:当存在至少三个距离值两两之间的偏差小于阈值时,将偏差小于阈值对应的距离值的平均值作为最终待定位设备与锚节点之间的距离。
采用本实施例,可以在多次超声波信号得到的距离值中进行比较计算,避免产生较大距离误差。
举例如下:
待定位设备向锚节点A、B、C、D发送射频信号,同时分别根据预设的超声波延迟时间依次发送三次超声波信号。假设向锚节点A发送超声波信号的三次延迟时间分别为t1、t2、t3,锚节点A接收到的三次超声波信号与射频信号的时间差分别为ta、tb、tc,则计算得到距离L1=(ta-t1)*超声波传输速度,L2=(tb-t2)*超声波传输速度,L3=(tc-t3)*超声波传输速度。如果L1、L2、L3两两之间的差值均小于预设的阈值ΔL,则待定位设备与锚节点A之间的距离L=(L1+L2+L3)/3。
如果最多只有两个距离的差值小于阈值ΔL,则待定位设备按上述操作重新向至少三个锚节点同时发送信号。
实施例4
本实施例涉及一种室内导航定位方法,如图6所示,该方法包括如下步骤:
步骤S21:待定位设备向至少三个锚节点同时发送射频信号和超声波信号,各锚节点分布于相对待定位设备的不同方向;
步骤S22:分别接收来自每个锚节点的反馈信号,反馈信号为待定位设备与锚节点之间的距离,其具体为锚节点接收到射频信号和超声波信号的时间差与超声波的传输速度的乘积;
步骤S23:根据每个锚节点的位置信息以及待定位设备与每个锚节点之间的距离,生成待定位设备的位置信息。
上述同时发送的射频信号和超声波信号的时间差通过以下方式获得:
当锚节点接收到射频信号后开始计时,当接收到超声波信号后停止计时,获得的计时值作为该锚节点接收到射频信号和超声波信号的时间差。由于射频信号的传输速度远远大于超声波信号的传输速度,因此,射频信号的传输时间忽略不计,上述计时值(即同一锚节点接收同时发送的射频信号和超声波信号的时间差)乘以超声波的传输速度即为待定位设备与锚节点之间的距离,定位方法方便快捷。
实施例5
如图7所示,在实施例4的基础上,本实施例的室内导航定位方法中,在步骤S22(或步骤S12)之前还包括步骤S31和步骤S32,具体如下:
步骤S71:待定位设备向至少三个锚节点发送射频信号的同时按预设的每次超声波延迟时间依次发送至少三次超声波信号;
步骤S31:设置一预设时间,其中,该预设时间在锚节点接收到射频信号后开始计时;
如果锚节点在预设时间内收到与前述射频信号同时发送的超声波信号,则判定锚节点在本次定位中为有效锚节点;如果锚节点没有在预设时间内收到超声波信号,则判定锚节点在本次定位中为无效锚节点;
步骤S32:当本次定位中有效锚节点小于3个时,则本次定位失败,重新进行定位,直至定位成功或达到预定的定位次数。
其中,当锚节点接收到所述射频信号之后的预设时间内收到超声波信号,则锚节点在本次定位中为有效锚节点,当所述锚节点接收到射频信号之后的预设时间内没有收到超声波信号,则锚节点在本次定位中为无效锚节点。
其中,定位成功即,有效锚节点等于或大于3个。上述“重新进行定位”是指,回到起始步骤S11或步骤S21或步骤S71,然后继续往下操作,直至满足设定条件。
步骤S22:分别接收来自每个锚节点的反馈信号,反馈信号为待定位设备与锚节点之间的距离,其具体为锚节点接收到射频信号和超声波信号的时间差与超声波的传输速度的乘积;
步骤S23:根据每个锚节点的位置信息以及待定位设备与每个锚节点之间的距离,生成所述待定位设备的位置信息。
采用本实施例,可以在多次超声波信号得到的距离值中进行比较计算,避免产生较大距离误差;并且,该方法提供一种方案,只要总的有效锚节点达到要求,即使某些锚节点超时未接收到超声波,仍能导航。
待定位设备与锚节点之间的距离的计算方式具体为:每个锚节点根据每个锚节点接收射频信号与每次超声波信号的时间差、每次超声波延迟时间以及超声波的传输速度,获得待定位设备与每个锚节点的至少三个距离值;当存在至少三个距离值两两之间的偏差小于阈值时,将偏差小于阈值对应的距离值的平均值作为最终待定位设备与锚节点之间的距离,其计算方法与实施例3类似。
锚节点发送给待定位设备的反馈信号可以是射频信号或其他类似信号,使得相关信息可迅速传回待定位设备。
每个锚节点的反馈信号中还可以包括该锚节点的ID数据,每个锚节点的ID数据与其锚节点唯一对应;上述方法还可以包括:根据锚节点的ID数据分别确定反馈信号对应的锚节点的位置信息。该方法使得待定位设备不会将接收到的反馈信号混淆。
上述方法还可以包括:分别为每个锚节点设置一个锚节点发送延迟时间,以保证待定位设备依次接收到各锚节点发送的信号,防止信号接收冲突。
实施例1-5中,射频信号和超声波信号的发送程序举例说明如下:
一、待定位设备的MCU芯片的初始化:
1.初始化待定位设备的MCU芯片的外部晶振及MCU芯片内部的定时器;
2.初始化MCU芯片的所有GPIO(通用输入/输出端口)、与待定位设备连接的上位机PC通讯的UART(通用异步收发器)、SPI(串行外设接口)用于连接射频发送模块;
3.初始化MCU芯片内部的EEPROM(电子可擦除只读存储器),读取配置信息参数;
4.通过SPI(串行外设接口)接口配置RF(无线射频)发射模式,激活RF(无线射频)发射功能;
5.激活超声波信号发射功能。
二、待定位设备的MCU芯片的运行主进程:
1.通过串口中断接收上位机发来的指令,当接收到完整的一包数据后(包含正确的起始码及字节数)置位“串口接收标志位”;
2.主进程中对“串口接收标志位”进行判断,如果该标志位被置位,则解开串口数据包并分析串口指令;
(1)若是错误指令,则丢弃该串口数据包,并重新开始对“串口接收标志位”进行判断;
(2)若串口指令要求进入“单次测量模式”,则通过SPI接口配置RF发射模式并发送RF同步信号,与此同时立即发送超声波信号,发送完毕后配置RF接收模式并打开定时器,如果定时器溢出即退出此次测量。在打开定时器到溢出这段期间,将收到的所有正确的RF数据包内数据重新打包成串口数据包,并通过串口发送到上位机;
另外,在要求进行多次测量的情形下,还可以执行步骤(3):若串口指令要求进入“循环测量模式”,则每次执行完(2)中的“单次测量”后延迟等待100ms,此时判断“退出循环测量标志位”是否置位,若没有置位,就重复“单次测量”的过程,从而实现“循环测量”;若“退出循环测量标志位”发生置位,则退出“循环测量模式”,并通过串口返回“已退出循环测量模式的信息”至上位机,最后重新开始对“串口接收标志位”进行判断。
其中,信号接收的模块软件程序举例说明如下:
一、接收锚节点的MCU芯片初始化:
1.初始化MCU外部晶振及MCU内部定时器;
2.初始化MCU芯片的所有GPIO通用输入/输出端口、用于连接射频接收模块SPI接口(串行外设接口);
3.初始化两路ADC(模数转换器)通道,一路通过读取拨码开关数据得到锚节点ID号,一路用于接收超声波信号;
4.初始化EEPROM(电子可擦除只读存储器),读取配置信息参数;
5.通过SPI(串行外设接口),配置RF(无线射频)发射模式,激活RF(无线射频)接收功能。
二、锚节点的MCU芯片的运行主进程:
1.等待模式:
锚节点通过RF接收待定位设备发来的同步信号,当接收到正确的一包RF同步信号后进入工作模式。
2.工作模式顺序步骤:
(1)开启定时器;
(2)不断读取ADC通道上的数值,若该路ADC通道数值小于预设值,立即关闭定时器并读取定时数值,通过公式将该数值换算成待定位设备与锚节点的距离数值。若直到超出定时器溢出时间,读取到的ADC通道数值仍未小于预设值,则关闭定时器,并记录本次测距结果失败;
(3)配置RF发射模式,并把测距数值信息或测距失败信息打包成RF数据包;
(4)根据自身的锚节点ID号延迟对应的时间;
(5)将RF数据包发送至发射基站模块;
(6)延迟50毫秒,进入等待模式,等待下一次接收。
实施例6
如图8所示,本实施例涉及一种待定位设备40,包括射频发送模块41、超声波发送模块42、控制模块43、接收模块44、距离计算模块45、存储模块46、位置计算模块47。其中:
射频发送模块41,用于向至少三个锚节点发送射频信号;
超声波发送模块42,用于向至少三个锚节点发送超声波信号;
控制模块43,用于控制射频发送模块和所述超声波发送模块同时向至少三个锚节点发送射频信号和超声波信号;
接收模块44,用于分别接收来自每个锚节点的反馈信号,反馈信号为锚节点接收到射频信号和超声波信号的时间差;
距离计算模块45,用于根据每个时间差以及超声波的传输速度获得待定位设备与每个锚节点之间的距离;
存储模块46,用于存储每个锚节点的位置信息;
位置计算模块47,用于根据每个锚节点的位置信息以及所述待定位设备与每个锚节点之间的距离,生成待定位设备的位置信息。
该待定位设备40的工作方法举例如下:
在控制模块43的控制下,射频发送模块41向至少三个锚节点发送射频信号,同时,超声波发送模块42向至少三个锚节点发送超声波信号;该至少三个锚节点分布于相对待定位设备的不同方向,例如锚节点A、锚节点B、锚节点C等;
接收模块44分别接收来自每个锚节点的反馈信号,该反馈信号为锚节点接收到上述射频信号和超声波信号的时间差;
例如,射频发送模块41和超声波发送模块42分别同时将射频信号和超声波信号发送给锚节点A,锚节点A首先在t1时间收到射频信号,然后在t2时间收到超声波信号,t2与t1之间的时间差即为超声波的传输时间。
距离计算模块45根据每个时间差以及超声波的传输速度获得待定位设备40与每个锚节点之间的距离,即距离L=(t2-t1)*超声波传输速度;
存储模块46储存每个锚节点的位置信息。
位置计算模块47根据存储模块46储存的每个锚节点的位置信息,以及距离计算模块45计算出来的距离,生成待定位设备40的位置信息。
工作原理同实施例1的方法原理类似,都是根据射频信号的传输速度远远大于超声波信号的传输速度,因此,射频信号的传输时间忽略不计,根据时间差和超声波传输速度乘积得出距离,方法简便快捷。
上述待定位设备40中反馈信号可以为射频信号或其他类似信号,可以将信息快速反馈给待定位设备40。
上述待定位设备40中,每个锚节点的反馈信号中还可以包括各锚节点的ID数据,ID数据与各锚节点唯一对应;存储模块46还可以用于存储与每个位置信息对应的ID数据,控制模块43还用于从存储模块46中提取与接收到的每个ID数据对应的位置信息,避免信号传递过程中造成混淆。
可选地,超声波发送模块42为若干超声波发射器401、402、403等,该若干超声波发射器的超声波发射口均位于同一球体表面,若干超声波发射器的发射方向相对于所述球体的球心呈放射状分布,方便对各个方向发射超声波,球形能扩散的角度范围更广。
可选地,如图9所示,发射方向和水平面的夹角与超声波发射器401的发射方向和水平面的夹角相同的超声波发射器设置为4个(包括超声波发射器401),发射方向和水平面的夹角与超声波发射器402和403的发射方向和水平面的夹角相同的超声波发射器分别设置为9个(包括超声波发射器402和403)。
可选地,如图10所示,超声波发射模块42和射频发送模块41以及接收模块44均设置于一机器人404上,超声波发射模块42该机器人404的头部,上述若干超声波发射器的超声波发射口均位于同一上半球体表面。设置于机器人头部且半球形可以满足机器人的室内定位需要。
实施例7
如图11所示,本实施例涉及一种锚节点50,包括射频接收模块51、超声波接收模块52、计时模块53、发射模块54。其中:
射频接收模块51,用于接收射频信号;
超声波接收模块52,用于接收超声波信号;
计时模块53,用于记录接收到所述射频信号与所述超声波信号的时间差;
发射模块54,用于发送所述时间差。
该锚节点50的工作方法举例如下:
在待定位设备同时发送射频信号和超声波信号后,锚节点50的射频接收模块51接收上述射频信号,超声波接收模块52接收上述超声波信号;
计时模块53记录接收到射频信号与超声波信号的时间差;
发射模块54向待定位设备40发送上述时间差。由于射频信号的传输速度远远大于超声波信号的传输速度,因此射频信号的传输时间忽略不计,该时间差与超声波传输速度的乘积即可得出待定位设备与该锚节点50的距离,简便快捷。该锚节点中,发射模块54可以为射频发射模块。
该锚节点中,还可以包括存储模块55,该存储模块55用于存储各锚节点的ID数据,该ID数据与其锚节点唯一对应;发射模块54还用于发送前述ID数据,如图12所示。发射模块54在发送时间差过程同时发送ID数据,避免了不同锚节点的信息混淆。
该锚节点还可以包括控制模块56,该控制模块56用于为锚节点设置一个锚节点发送延迟时间,例如,假设射频接收模块在t0时刻接收到射频信号,该锚节点发送延迟时间t,则从t0时刻起开启锚节点发送延迟时间t,待该时间t结束发射模块再发送信息,由于各锚节点发送延迟时间设置得具有足够区分度,因此保证待定位设备不会在同一时间接收到各锚节点发送的信息,以免信息混淆。
该信息中可以包括上述时间差,还可以包括各锚节点的ID数据。
如图13所示,上述锚节点发送延迟时间还可以包括预设时间和锚节点的延迟时间,该预设时间自收到射频信号开始计时,自预设时间结束时起锚节点的延迟时间开启。在预设时间内收到与射频信号同时发送的超声波信号,则本次信号发送有效;如在预设时间内没有收到与射频信号同时发送的超声波信号,则本次信号发送无效。无论信号发送是否有效,控制模块56均控制锚节点在等待一个预设时间和锚节点的延迟时间后再发送信息。
实施例8
如图14所示,本实施例涉及一种室内导航定位系统,该室内导航定位系统包括实施例6及根据其进行功能扩展的待定位设备40和实施例7及根据其进行功能扩展的至少三个锚节点50,各锚节点分布于待定位设备的不同方向。
实施例6及根据其进行功能扩展的待定位设备40同时向实施例7及根据其进行功能扩展的至少三个锚节点50,该室内导航定位系统的后续工作方法参照实施例1-7,并获得对应的技术效果。
实施例9
如图15所示,本实施例涉及一种待定位设备60,包括射频发送模块61、超声波发送模块62、控制模块63、接收模块64、存储模块65、位置计算模块66。其中:
射频发送模块61,用于向至少三个锚节点发送射频信号;
超声波发送模块62,用于向至少三个锚节点发送超声波信号;
控制模块63,用于控制射频发送模块61和超声波发送模块62同时向至少三个锚节点发送射频信号和超声波信号;
接收模块64,用于分别接收来自每个锚节点的反馈信号,所述反馈信号为所述待定位设备与所述锚节点之间的距离,其具体为所述锚节点接收到所述射频信号和所述超声波信号的时间差与超声波的传输速度的乘积;
存储模块65,用于存储每个锚节点的位置信息;
位置计算模块66,用于根据每个锚节点的位置信息以及待定位设备与每个锚节点之间的距离,生成待定位设备的位置信息
该待定位设备60的工作方法举例如下:
在控制模块63的控制下,射频发送模块61向至少三个锚节点发送射频信号,同时,超声波发送模块62向至少三个锚节点发送超声波信号;该至少三个锚节点分布于相对待定位设备的不同方向,例如锚节点A、锚节点B、锚节点C等;
接收模块64分别接收来自每个锚节点的反馈信号,反馈信号是根据锚节点接收到射频信号和超声波信号的时间差与超声波传输速度的乘积所得的距离;计算原理和方法与前述的实施例类似;
位置计算模块66根据存储模块65存储的每个锚节点的位置信息以及待定位设备60与每个锚节点之间的距离,生成待定位设备60的位置信息。
该待定位设备60中,反馈信号可以为射频信号或其他类似信号。
该待定位设备60中,每个锚节点的反馈信号中还包括与各锚节点唯一对应的ID数据;
存储模块65还用于存储与每个位置信息对应的ID数据,控制模块63还用于从存储模块65中提取与接收到的每个ID数据对应的位置信息。
可选地,超声波发送模块62为若干超声波发射器,该若干超声波发射器的超声波发射口均位于同一球体表面,若干超声波发射器的发射方向相对于所述球体的球心呈放射状分布,方便对各个方向发射超声波,球形能扩散的角度范围更广。其设置形式与图9类似。
可选地,超声波发送模块62和射频发送模块61以及接收模块64均设置于一机器人上,超声波发送模块62该机器人的头部,上述若干超声波发射器的超声波发射口均位于同一上半球体表面。设置于机器人头部且半球形可以满足机器人的室内定位需要。其设置形式与图10类似。
实施例10
如图16所示,本实施例涉及一种锚节点70,包括射频接收模块71、超声波接收模块72、计时模块73、距离计算模块74、发射模块75。该锚节点70的工作流程举例如下:
首先,在待定位设备同时发送射频信号和超声波信号后,射频接收模块71接收射频信号,超声波接收模块72接收超声波信号;
然后,计时模块73记录接收到同时发送的上述射频信号与超声波信号的时间差;
下一步,距离计算模块74根据接收到射频信号和超声波信号的时间差与超声波的传输速度的乘积,得到待定位设备与锚节点70之间的距离,计算方法与前述实施例类似;
最后,发射模块75发送所述距离信息。
本实施例,通过接收射频信号和超声波信号的时间差与超声波传输速度的乘积,得出待定位设备与锚节点70的距离,方法简便快捷。
作为一种较佳的方案,该锚节点70中,发射模块75可以为射频发射模块。该方案采用射频发射模块,便于更快地将定位信息发回待定位设备,便于提高定位效率。
作为一种较佳的方案,该锚节点70中,反馈信号中还可以包括锚节点的ID数据;发射模块75还可以用于发送ID数据。该方案在发送发送反馈信号同时还发送与该锚节点70唯一对应的ID数据,便于区分信号来源,不会造成混淆。
作为一种较佳的方案,该锚节点中,还可以包括控制模块76,与实施例7的控制模块功能类似,用于为锚节点设置一个锚节点发送延迟时间,以控制从射频接收模块接收到射频信号时起延迟锚节点发送延迟时间,然后发射模块再发送信息。
其中,该信息中可以包括时间差,还可以包括ID数据,该锚节点发送延迟时间还可以包括预设时间和锚节点的延迟时间,该预设时间自收到射频信号开始计时。
实施例11
本实施例涉及一种室内导航定位系统,包括实施例9及根据其进行功能扩展的待定位设备60和实施例10及根据其进行功能扩展的至少三个锚节点70,各锚节点分布于待定位设备的不同方向。
实施例9及根据其进行功能扩展的待定位设备60同时向实施例10及根据其进行功能扩展的至少三个锚节点70,该室内导航定位系统的后续工作方法参照实施例1-10,并获得对应的技术效果。