摘要:目前的GPS导航应用很成熟,精度也比较高,但在地下停车场等室内地方,GPS信号非常微弱,无法对车进行导航,同时当前的地下停车场没有很好地智能化。为避免车主盲目寻找车位,方便车主在尽可能短的时间内寻找到车位,设计并制作基于nanoPAN5375的语音导航系统。系统由4个nanoPAN5375模块、2个CC1101模块、超声波模块与isd1700模块构成。以STM32F103微控制器为核心芯片,使用nanoPAN5375模块进行无线定位,CC1101模块传输超声波模块采集到的车位信息,语音模块isd1700进行语音导航,软件采用三边质心算法和卡尔曼滤波算法。实验表明,在边长为6米的等边三角形内,x坐标的平均误差为0.42米,y坐标的平均误差为0.42米;系统在边长为12米的等边三角形内实现过较为精确的语音导航。
关键词:无线定位;nanoPAN5375模块;三边质心算法;语音导航
目前的GPS导航应用很成熟,精度也比较高,但在地下停车场等室内地方,GPS信号非常微弱,无法对车进行定位,从而实现导航功能,同时当前的地下停车场没有很好地实现智能化,车主只能盲目地寻找车位。语音作为自然的人机接口,可以使车载导航系统实现更安全、更人性化的操作。当前的地下停车场导航系统大多是以LED屏导航,相比之下,语音导航的效率更高,可方便、及时、准确、主动地为车主提供语音信息,帮车主节省停车时间,因此,实现地下停车场的语音导航就显得十分重要。文中将讲述基于nanoPAN的无线定位,从而实现语音导航的引导车载系统。
1 系统结构及硬件电路设计
系统以Cortex—M3系列ARM7芯片STM32F103微控制器为核心,包括nanoPAN5375模块、CC1101射频模块、超声波模块、语音模块isd1700等电路,系统总体方案如图1所示。
1.1 nanoPAN5735模块
nanoPAN5375是一款基于2.4 CHzISM频带(2.400~2.483 5 GHz)上整合了放大、滤波等组件的RF模块,它采用了nanotron的宽带线性凋频扩频(CSS)全球专利技术,可灵活地提供31.25 kbps~2 Mbps范围的数据传输率,抗干扰性、动态特性非常好,同时提供具有极佳传输范围的可靠数据通信。通过采用一个技术成熟的MAC控制器,可大大降低对微处理器和软件的要求,轻松地完成高级别系统的设计。nanoPAN 5375模块如图2所示。
2 主要软件设计
系统主要包含主机、固定节点和车位信息采集3个部分。主机通过nanoPAN5375模块测得与3个固定节点的距离,经过三边质心算法确定车的位置,再经过卡尔曼算法滤波;通过CC1101模块接收超声波模块采集到的车位信息,控制isd1700模块播报语音。软件主要包含nanoPAN 5375的测距、三边质心算法、卡尔曼滤波算法、CC1101模块的信息接收、语音播报等功能。固定节点部分的nanoPAN5375模块处于等待接收的状态,接收到测距信息时,反馈回主机。车位信息采集是通过控制超声波模块测距,判断车位是否是空车位,通过CC1101模块发送到主机。
如图3所示,三边质心算法主要实现确定主机的位置,系统通过测量主机到3个固定节点的距离,计算相交圆的公共区域的质心来提高对主机位置估算的精度[1.3,5]。
设未知节点D坐标(x,y),已知A,B,C 3个点坐标分别为(x1,y1),(x2,y2),(x3,y3),它们到D的距离分别为d1,d2,d3。
则可得如下方程组:
根据式(1)、(2)、(3)可解出圆A与圆C的交点(xac1,yac1),(xac2,yac2),圆B与圆C的交点(xbc1,ybc1),(xbc2,ybc2),圆A与圆B的交点(xab1,yab1),(xab2,yab2)。
通过将圆A与圆C的交点(xac1,yac1),(xac2,yac2)代入式(x-x2)2+(y-y2)2,判断大小可找出2点距圆B的圆心较近的点,假设为(xac 1,yac1)。同理可找出圆B,圆C交点巾距圆A较近的点,设为(xbc1,ybc1),圆A,圆B交点中距圆C的圆心较近的点设为(xbc1,ybc1)。
依据质心思想估算未知节点的坐标为
根据以上算法求出主机的位置之后,再利用卡尔曼滤波的推测值来校正主机的测试值,提高系统精度。
卡尔曼滤波是一种高效率的递归滤波器(自回归滤波器),它能够从一系列的不完全及包含噪声的测量中,估计动态系统的状态。目标的位置、速度、加速度的测量值往往在任何时候都有噪声。卡尔曼滤波利用目标的动态信息,设法去掉噪声的影响,得到一个关于目标位置的好的估计。这个估计可以是对当前目标位置的估计,也可以是对于将来位置的估计(预测),也可以是对过去位置的估计(插值或平滑)。
3 系统测试与测试结果
系统测试节点和主机的分布示意图如图4所示。将3个节点固定在边长为12 m的等边三角形的3个顶点上,当超声波模块检测到空车位时,主机选择最近的空车位进行导航,当前方5m处有交叉路口时,提示车主“向左转”或“向右转”,将人准确地导航至目标地址。在边长为6 m的等边三角形内,测量主机的位置坐标,并记录数据如表1所示。
实验结果表明,节点的距离增大时,经过三边质心算法和卡尔曼滤波算法,得到非常精确的坐标值,主机与3个节点在较大范围测量的距离如表2所示。
4 结论
本地下停车场语音导航系统以Cortex—M3系列ARM7芯片STM32F103微控制器为核心,包括nanoPAN5375模块、CC1101模块、语音模块isd1700、超声波模块等电路,软件采用三边质心算法和卡尔曼滤波算法。试验表明,在边长为6 m的等边三角形内,x坐标的平均误差为0.42 m,最大误差为0.62 m,y坐标的平均误差为0.42 m,最大误差为0.74 m;在边长为70 m的等边三角形内,x坐标的误差为0.33 m,y坐标的误差为0.36 m。由于小汽车的长度均大于4 m,因此上述误差不影响对车的导航。经过测试,该系统能将人较为精确地导航至目标位置。