一、项目概述

 

1.1 项目摘要

 

目前,在一些大型商场或会场中,仅存在室内场所的平面图,但对于大部分人来说,要在短时间内通过平面图找到一条方便快捷的路径到达目的地不是一件很轻松的事情。本方案基于意法半导体公司提供的iNEMO平台,设计了一款更人性化的、更方便快捷的、应用于大型室内场所的多功能导航仪。该导航仪主要有定位、校准、导航等功能,主要实现是通过STEVAL-MK1062V2实验板上的三轴陀螺仪测量角速度来确定方向,通过地磁模块的线性加速度传感器来确定位移,通过温度传感器以及气压传感器来读取数据,通过Wi-Fi传输数据,最终通过Android智能手机进行计算,并把结果显示出来。相较于平面图,本导航仪可以使用户得到更个性化、更方便简洁的可跨楼层的定位导航服务。

 

1.2 项目背景/选题动机

 

目前,越来越多的大型商场或会场新建起来,这其中琳琅满目的服饰品牌、餐饮、电玩城、电影等等购物娱乐场所,特定场合的优惠活动……这些都无一不吸引着顾客,这也导致商场中一些越来越常见的问题:

 

如何在人山人海中找到一条方便快捷的途径到达目的地而无需通过平面图?

 

如何在不同楼层间实现最短时间和最短路径?

 

若和同伴走失如何在最短时间内通过最方便途径找到对方?

 

在发生紧急情况下,如何最快最有效的逃离现场?

 

无疑,在这类型场所中,如何快速的定位导航对于顾客来说是个十分重要的问题。纵使有平面图的存在,仍然需要通过一系列的分析才可得出结论。若还考虑到跨楼层问题,还需考虑跨楼层方式所用的时间以及速度。由此我们希望可以有个更加“智能”的导航工具来指引我们更快更方便的到达目的地。本导航仪为顾客显示更精确的方向、距离,提供最优途径,从而减少顾客在定位导航上所花的时间。

 

在计算终端和显示模块的选择上,我们考虑使用智能手机作为本次项目的终端,并选取具有android开发平台的智能手机。智能手机具有便携、运算速度快、外观绚丽、开发方便、使用人群多等特点,便于传感器数据的处理,以及软件的推广。并且2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。

 

Android的优势有以下几点:

 

  1. 开放性:开发的平台允许任何移动终端厂商加入到Android联盟中来。显著的开放性可以使其拥有更多的开发者,有利于积累人气。

  2.  挣脱束缚:用户可以更加方便地连接网络,运营商的制约减少。

  3. 丰富的硬件:由于Android的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容。

  4. 开发商:Android平台提供给第三方开发商一个十分宽泛、自由的环境。因此不会受到各种条条框框的阻挠。

  5. Google应用:Android平台手机将无缝结合优秀的Google服务。

综合以上考虑因素,我们决定在android平台上进行数据的处理与效果显示。与此同时,我们希望能拓展部分功能如语音识别,音频提示等等类似于“导盲犬”的功能。

 

二、需求分析

 

2.1 功能要求

 

1. 实时采集当前的环境信息,以满足使用者对于了解当前环境的需求。

 

2. 实时采集使用者的速度信息,用于对使用者位置状态的更新。

 

3. 能够进行地图的存储和更新,并根据使用者的位置和目的地的信息,对使用者的行进方向进行引导。

 

4. 实现实验板和Android智能手机端点对点Wi-Fi通信,确保采集信息能及时准确传输到手机端。

 

5. 良好的显示模块,可以让各种信息有条不紊的在Android平台显示。

 

6. 校正功能,进行基准位置识别以提高定位精度。

 

2.2 性能标准

 

1. 对于环境温度的检测误差不超过0.5°。

 

2. 测量速度精确,最后对使用者位置的识别在距离校正点200m不超过10m。

3. 导航时对于道路和行驶方向的识别准确有效。

 

4. 对楼梯和电梯进行导航时对于道路和行驶方向的识别准确有效。识别。

 

5. 导航时能够识别楼内的复杂环境,对存在不同道路时能够进行智能选路。

 

6. 手机端实时位置显示无明显延迟。

 

三、方案设计

 

3.1 系统功能实现原理(除图片外需有文字介绍)

 

3.1.1定位实现方法:

 

STEVAL实验板提供LSM303DLH(六轴地磁模块)和LPR430AL(两轴横滚俯仰陀螺仪) LY330ALH(一轴偏航陀螺仪),利用六轴地磁模块中的三轴加速度传感器测量间隔一定短时间间隔后的相对板平面的加速度 ,并且利用 ,并且进行累加,可以得到在不同时间相对于板平面的速度 ,然后利用陀螺仪可以测量的加速度对以上的速度进行变换,从而得到在真实空间中的三个方向的速度分量(以竖直向上为z轴正方向,x,y可以具体定义,满足三维直角坐标系关系)。考虑到角度量 是标量,但是无穷小量是矢量,那么可以利用公式 得到在较短时间内的坐标系沿三个方向的旋转变换(在实际中利用很短的时间来替代

 

坐标系转换公式:

 

其中 分别是沿x,y,z三个方向在短时间内的转过的夹角,不断的利用以上转换公式可以得到当前实验板坐标系和真实空间坐标系的转动关系,利用 可以逆向推导出,(在真实空间坐标系中的三个速度分量),再利用这三个速度分量可以计算出位移,从而实现在定位。

 

3.1.2导航实现方法:

 

由于具体路线的计算都集中在手机中,而传感器部分仅负责信息的采集,而手机的计算,显示功能都十分的强我们可以将比较复杂的地图和算法应用在手机中。

 

而Android手机一般是大屏幕触摸,终点确定,位置校准都很方便,导航是需要有点考虑的地方。

 

我们的地图在手机的存储中分为两层,底层存储的是地图的拓扑结构,可以根据如今的位置,使用最短路径算法等路径算法找到要提示的行进方向。而顶层存储的是地图的显示路径,可以在屏幕上进行显示并进行引导。而在行进过程中也要通过传感器确定使用者的运动方向和位置进行实时计算,提示出最新的引导方向。

 

3.1.3 RFID校正:

 

    由于系统是开环系统,定位的方法利用加速度计算位移,角速度确定转动方向的方法来最终获取位移信息从而获得位置信息,但是在实际中会出现以下问题:1、线加速度和角速度的获取是间隔采样获得 2、实际情况中采用的是差分求和而不是积分会引入误差 3、在获取转动方向的时候默认 等价,但在实际中不等价,因为宏观的角度并非矢量4、传感器本身误差的存在

 

考虑到误差随着时间和位移的积累会大到有明显影响,所以需要进行校正:1)射频标签来进行校正:在室内的固定地点放入射频标签,实验板上加入RFID reader模块,当到达指定地点是,用户可通过刷卡形式进行校正。在进一步设计中可以考虑使用在固定地点放入大功率信号发射器,在用户路过时自动接收信号进行校正。

 

2)人工校正:用户可以通过手机在观察到特定位置后可以自行校正,在比较容易识别的特殊位置,用户可以通过触屏进行校正,从而辅助射频校正,实现更好的校正效果   

 

          图3.1.1 硬件架构图

                                                                   

图3.1.1 硬件架构图

图3.1.2 系统硬件结构框图

 图3.1.2 系统硬件结构框图

 

3.2 硬件资源配置

 

(1)RFID读写器开发板

 

(2)STEVAL-MK1062V2实验板

 

(3)Android 2.2系统高性能智能手机

 

(4)USB无线网卡

 

 

  

3.3系统软件架构(除图片外需有文字介绍)

 

图3.3.1 软件架构图

                                                                   

图3.3.1 软件架构图

 

软件架构如图3.3.1所示,软件系统主要包括:陀螺仪、线加速度计等运动传感器信息的获取,气压温度等环境量传感器信息的获取,RFID读取标签产生中断对位置方向信息的校正,无线网卡驱动地移植,socket套接字无线网络通信,基于陀螺仪角速度量对当前实验板方向的计算,基于实验板方向和线加速度量对较小时间段内实验板位移的计算,Android手机对位置、方向、导航、温度信息的显示。

 

3.4 系统软件流程(除图片外需有文字介绍)

 

图3.4.1 程序运行流程图

图3.4.1 程序运行流程图

 

1.ARM端主程序:初始化实验板各传感器控制字;设置中断向量,开启中断;建立socket套接字;一定频率读取加速度、角速度、温度、气压等传感器测量所得数据,10次测量值为一组打包Wi-Fi发送至Android手机端软件。

 

2.ARM端校正中断:RFID阅读器检测到电子标签触发中断,获取标签编号,建立信息帧发送至手机端软件。

 

3.手机端主程序:初始化程序,监听Socket端口;接收ARM发送的传感器测量值数据包;对数据进行滤波处理,累加计算实验板方向改变量,根据实验板当前方向及各方向上的加速度量计算实验板绝对直角坐标系下的位移量;根据地图拓扑信息最短路径算法搜索出导航线路;GUI人机交互界面显示地图路线、方位信息。

 

4.手机端校正按键:用户走到明显标志物处,触摸按键,交互提示用户确认当前位置,更新程序内计算得到的方向位置信息以消除时间积累误差。