@SoftR开发文档软件名称:家校互动系统版本号:V 1.0项目组人员:周国南,黄德朋,许洋,唐文欣完成时间:2015年12月24日目录第1章引言 (1)1.1背景 (1)1.2目的和意义 (1)1.3参考资料 (2)第2章相关技术基础 (3)2.1室内定位技术 (3)2.2室内导航算法 (4)第3章需求分析 (6)3.1所采用的技术 (6)3.2功能需求分析 (6)3.3系统开发环境 (7)第4章概要设计 (8)4.1 系统总体结构 (8)4.2用户界面设计 (9)4.3系统功能设计 (9)4.3.1电子地图 (10)4.2.2二维码定位 (10)4.2.3室内导航 (11)4.4数据库设计 (12)第5章详细设计 (14)5.1系统用例图 (14)5.2系统时序图 (14)5.3电子地图的实现 (15)5.4室内导航的实现 (18)5.4.1回溯算法 (18)5.4.2路径显示 (21)第6章系统使用说明 (24)6.1系统主界面 .................................................................................... 错误!未定义书签。
6.2电子地图 ........................................................................................ 错误!未定义书签。
6.3室内导航 ........................................................................................ 错误!未定义书签。
第1章引言1.1背景我的位置在哪里?我的周围有什么?我要到达某个办公室,路线该怎么走?我的车放在哪里了?这一切都预示着,人们对于导航系统的需求正在逐渐变化着。
平常人一天的大部分时间,是在室内的。
正因为如此,人们需要更加精确的室内导航。
随着GPS全球定位系统技术的快速发展,类似谷歌地图、百度地图等数字地图应用也越发普及,在日常生活中,人们越来越无法离开导航系统了。
但是你依然会发现自己在大型地下停车场、人潮涌动的商场或高层大厦中,想要认识路并不比几年前更容易,尽管目前市面上的绝大部分智能手机都配备了GPS定位功能。
6年以前或许可能更早,导航行业内就已经意识到了GPS是存在缺陷的,例如它有时候在室内无法正常工作。
一方面,如果建筑的墙壁太厚,GPS定位信号无法穿透,导航设备在大型地下建筑中会彻底找不到卫星信号而无法定位。
在这种情况下,GPS定位不够精确,而且很慢甚至不可能。
另一方面,GPS信号只能呈现一个平面的定位,无法立体呈现一栋大型建筑的内部结构。
虽然很多的大型公司(比如谷歌)都在想办法解决室内导航这个问题,不过现在因为以上原因,室内导航依旧无法迅速普及。
目前,随着二维码技术的蓬勃发展,产生了一种新型的室内导航方法。
利用地图建模方法,可以将一栋建筑每一层的室内位置,利用格式化的方式,生成一张室内平面图。
每一个房间的位置,都会被格式化在室内导航图之上,而每一个房间编码都将生成一个二维码。
当使用者需要导航时,只需要对准就近的二维码扫描一次,就可以获取使用者当前位置信息,然后结合使用者想要前往的的目的位置,获取当前位置到目的位置的导航路径。
1.2目的和意义一方面,由于传统的GPS导航系统只能实现平面导航,无法实现精确的室内导航。
另一方面,随着二维码这种新技术和智能手机等移动设备的发展,使利用二维码进行室内位置的定位成为一种可能。
本系统以某多层建筑的电子楼为模版,对电子楼A-B楼的室内工程图进行分析、量化,在此基础上,充分利用二维码技术和智能手机等移动设备的优势,填补定位和导航功能的不足,实现电子楼的室内导航。
室内导航系统利用智能手机,实现对二维码信息的采集、室内位置的定位、室内路径计算、拓扑路线显示等功能,从而在复杂室内环境下,为楼层用户提供一种低能耗、快捷便利的导航系统,方便大家的生活。
1.3参考资料[1] 潘继财.二维条码技术及应用浅析.商场现代化,2009年3月.[2] 吴雨航,吴才,陈秀万.介绍几种室内定位技术[N].中国测绘报,2008年.[3] 徐静.室内移动导航系统的路径规划方法研究[D].长春理工大学,2009年.[4] 李江,薛全.J2ME平台下基于手机定位实现的移动GIS导航系统[J].现代电子技术,2007年08期.[5] 吴晓刚,陈益振,郑修一.基于J2ME的手机室内导航系统[J].电脑知识与技术,2011年06期.[6] 关媛媛,安世全,刘光明.提供精确室内定位信息的Cricket系统[J].重庆工业高等专科学校学报,2004年02期.[7] 张红平.楼宇三维寻径分析研究[D].南京师范大学,2011年.[8] 郑睿,原魁,李园.一种用于移动机器人室内定位与导航的二维码.高技术通讯,2008年第4期.[9] 王春东,王秀峰.基于802.11的室内定位算法研究[J].计算机工程,2007年.[10] 张害藩.软件工程导论[M]第四版.清华大学出版社,2003年.[11] 麦斯阿塞克,王素琴.需求分析与系统设计[M].机械工业出版,2003年.[12] 李金凤,王庆辉,刘晓梅,曹顺.基于MEMS惯性器件的行人室内定位系统.计算机测量与控制,2014年第11期.[13] 王阳.图书馆二维码和RFID技术差异性分析.图书馆工作与研究,2015年第1期.[14] 陈丹晖,刘红.条码技术与应用.化学工业出版社,2006年.[15] 林雕,宋国民,邓晨.基于图的语义室内导航模型构建研究.测绘工程,2015年第1期.第2章相关技术基础2.1室内定位技术在室内定位技术方面,按照定位信号的种类,主要分为射频识别技术、WIFI 技术、二维码技术等。
这些技术有着各自的优缺点,或传输距离有限;或定位精度低;或设备复杂,成本高;或稳定性差,应用范围窄。
(一)射频识别技术无线射频识别技术,通过射频信号存储信息,并利用信号中的位置信息进行定位。
这种技术的优势在于射频信号传输速度快,传输距离长,它可以在很短的时间内获取位置信息。
此外,由于射频设备价格低,实现成本也就较低,可以大范围部署。
但是射频技术也有它的缺点,无线射频设备的作用距离较近,需要单独的定位设备,而且它和智能手机等日常移动终端设备的整合性较差,这大大限制了无线射频识别技术的发展前景。
(二)WIFI技术WIFI技术,是一种能够用无线方式将笔记本电脑、智能手机等移动终端设备互相连接的技术。
随着智能手机等移动终端设备的普及,WIFI技术在生活也变得越来越常用。
WIFI定位技术的优点是,能够很好地利用当前的基础和设备,从而显著的降低了初始成本。
此外,当前据大多数的移动终端都WIFI支持接入,这也为定位提供了很大的便利。
(三)二维码技术二维码是根据一定的规则,在二维平面方向上,用黑色和白色图形记录数据符号信息的特定几何形状。
在代码构成上,二维码巧妙地运用计算机的内在基本逻辑比特0和比特1的概念,用若干几何形体来表示信息,通过使用图像扫描设备,来实现从图像到信息的转换。
二维码的优点:(1)编码密度高,可存储大量的信息。
(2)编码范围广。
(3)有较强的容错力,并且有纠错能力。
(4)译码过程中,可靠性高。
(5)可进行信息加密。
(6)制作方便,成本低,持久耐用。
相对于其他定位技术,二维码技术的优点是:一方面,成本低廉,无需其他设备,只需有智能手机,扫一扫,就定位当前位置。
另一方面,定位更加方便,稳定性更高,不需要WIFI无线连接,没有传输距离的限制。
二维码的缺点是,安全性就差,因为用户在扫二维码之前,并不知道其中信息是否安全。
二维码中可以有效的承载位置信息,本文的定位功能的实现便是使用技术。
2.2室内导航算法目前,常用的导航算法主要有:A*算法、回溯算法。
(一)A*算法A*算法是一种直接探索方法,用于在静态路径网络中,有效的求解最短路径。
如果估计数值越接近实际数值,说明估计函数就取得越好。
算法公式为:x(n)=y(n)+z(n)。
其中,x(n) 是一个估计函数,它表示从起始节点到扩展节点n,再从扩展节点到目标节点;y(n) 表示从起始节点到扩展节点n的实际数值;而z(n) 则表示扩展节点n到目标节点的最短路径的估计数值。
估计函数x(n)的选取是找到路径网络中的最短路径的关键。
如果估计数值到目标节点的实际距离数值越大,那么探索的范围也越大,探索的节点众多,需要记录的节点也多,效率自然也就越低,但能这种情况下能够得到最短路径。
并且,如果z(n)等于y(n),也就是估计距离z(n)是最短路径,那么算法将严格沿着最短路径进行路径探索,最高的探索效率是这种了。
如果实际数值比估计数值小,那么探索的范围越小,探索节点数也少,需要记录的节点也少,效率也高,但是不能确保得到的解为最优解。
(二)回溯算法回溯算法,它是一种系统地探索问题的解的方法,是一种深度优先算法。
回溯算法的基本思想是:沿着某一通路一直前进,遇到障碍就返回,换另外一条通路,再次前进。
用回溯算法解决问题的步骤如下:(1)定义一个包含问题的解的迷宫。
(2)用适当的方法组成迷宫。
(3)用深度优先法探索包含解的迷宫。
(4)用限界函数避免移动到无解的子迷宫。
问题的解迷宫一般是动态产生的,在探索解的过程中,这是回溯算法的重要特点。
知道迷宫的结构后,回溯法就从开始节点出发,以深度优先的方法探索整个解迷宫。
开始节点就变成一个活节点,同时也成为当前的扩展节点。
在当前的扩展节点处,选择某个前驱方向进行探索,移至一个新节点。
这个新节点就变成一个新的活节点,并变成当前扩展节点。
如果在当前的扩展节点处不能再向其他方向移动,则当前扩展节点就成为死节点。
遇到这种情况,应返回至最近的一个活节点处,并使这个活节点成为当前的扩展节点,重新选择方向前进,这就是回溯。
回溯算法就是以这种递归的方式地在解迷宫中探索,直至找到问题的解,或者解迷宫中已没有活节点时为止。
本系统的导航功能的实现便是使用回溯算法。
第3章需求分析本章将介绍基于二维码的多层建筑室内导航系统所采用的一些关键技术,系统的主要功能以及系统的开发环境。
3.1所采用的技术传统的导航系统都具有两个主要功能,一个是室内定位功能,另一个是室内导航功能。
在本文中,室内导航系统实现室内定位功能和室内导航功能所采用的技术分别是,二维码定位技术和回溯算法。
之所以选用这两种技术,是因为经过比对,这两种技术相对于其他技术有其明显的优点。
首先,室内定位采用二维码技术。
二维码技术与射频识别技术相比,不需要特定的射频设备,成本更低;而且射频设备和智能手机、iPad等日常移动终端设备的整合较差,从另一方面大大的制约了射频识别技术的发展前景。