一、項目概述 1.1 項目摘要 目前,在一些大型商場或會場中,僅存在室內(nèi)場所的平面圖,但對于大部分人來說,要在短時間內(nèi)通過平面圖找到一條方便快捷的路徑到達(dá)目的地不是一件很輕松的事情。本方案基于意法半導(dǎo)體公司提供的iNEMO平臺,設(shè)計了一款更人性化的、更方便快捷的、應(yīng)用于大型室內(nèi)場所的多功能導(dǎo)航儀。該導(dǎo)航儀主要有定位、校準(zhǔn)、導(dǎo)航等功能,主要實現(xiàn)是通過STEVAL-MK1062V2實驗板上的三軸陀螺儀測量角速度來確定方向,通過地磁模塊的線性加速度傳感器來確定位移,通過溫度傳感器以及氣壓傳感器來讀取數(shù)據(jù),通過Wi-Fi傳輸數(shù)據(jù),最終通過Android智能手機(jī)進(jìn)行計算,并把結(jié)果顯示出來。相較于平面圖,本導(dǎo)航儀可以使用戶得到更個性化、更方便簡潔的可跨樓層的定位導(dǎo)航服務(wù)。 1.2 項目背景/選題動機(jī) 目前,越來越多的大型商場或會場新建起來,這其中琳瑯滿目的服飾品牌、餐飲、電玩城、電影等等購物娛樂場所,特定場合的優(yōu)惠活動……這些都無一不吸引著顧客,這也導(dǎo)致商場中一些越來越常見的問題: 如何在人山人海中找到一條方便快捷的途徑到達(dá)目的地而無需通過平面圖? 如何在不同樓層間實現(xiàn)最短時間和最短路徑? 若和同伴走失如何在最短時間內(nèi)通過最方便途徑找到對方? 在發(fā)生緊急情況下,如何最快最有效的逃離現(xiàn)場? 無疑,在這類型場所中,如何快速的定位導(dǎo)航對于顧客來說是個十分重要的問題。縱使有平面圖的存在,仍然需要通過一系列的分析才可得出結(jié)論。若還考慮到跨樓層問題,還需考慮跨樓層方式所用的時間以及速度。由此我們希望可以有個更加“智能”的導(dǎo)航工具來指引我們更快更方便的到達(dá)目的地。本導(dǎo)航儀為顧客顯示更精確的方向、距離,提供最優(yōu)途徑,從而減少顧客在定位導(dǎo)航上所花的時間。 在計算終端和顯示模塊的選擇上,我們考慮使用智能手機(jī)作為本次項目的終端,并選取具有android開發(fā)平臺的智能手機(jī)。智能手機(jī)具有便攜、運算速度快、外觀絢麗、開發(fā)方便、使用人群多等特點,便于傳感器數(shù)據(jù)的處理,以及軟件的推廣。并且2011年初數(shù)據(jù)顯示,僅正式上市兩年的操作系統(tǒng)Android已經(jīng)超越稱霸十年的塞班系統(tǒng),使之躍居全球最受歡迎的智能手機(jī)平臺。 Android的優(yōu)勢有以下幾點: 開放性:開發(fā)的平臺允許任何移動終端廠商加入到Android聯(lián)盟中來。顯著的開放性可以使其擁有更多的開發(fā)者,有利于積累人氣。 掙脫束縛:用戶可以更加方便地連接網(wǎng)絡(luò),運營商的制約減少。 豐富的硬件:由于Android的開放性,眾多的廠商會推出千奇百怪,功能特色各具的多種產(chǎn)品。功能上的差異和特色,卻不會影響到數(shù)據(jù)同步、甚至軟件的兼容。 開發(fā)商:Android平臺提供給第三方開發(fā)商一個十分寬泛、自由的環(huán)境。因此不會受到各種條條框框的阻撓。 Google應(yīng)用:Android平臺手機(jī)將無縫結(jié)合優(yōu)秀的Google服務(wù)。 綜合以上考慮因素,我們決定在android平臺上進(jìn)行數(shù)據(jù)的處理與效果顯示。與此同時,我們希望能拓展部分功能如語音識別,音頻提示等等類似于“導(dǎo)盲犬”的功能。 二、需求分析 2.1 功能要求 1. 實時采集當(dāng)前的環(huán)境信息,以滿足使用者對于了解當(dāng)前環(huán)境的需求。 2. 實時采集使用者的速度信息,用于對使用者位置狀態(tài)的更新。 3. 能夠進(jìn)行地圖的存儲和更新,并根據(jù)使用者的位置和目的地的信息,對使用者的行進(jìn)方向進(jìn)行引導(dǎo)。 4. 實現(xiàn)實驗板和Android智能手機(jī)端點對點Wi-Fi通信,確保采集信息能及時準(zhǔn)確傳輸?shù)绞謾C(jī)端。 5. 良好的顯示模塊,可以讓各種信息有條不紊的在Android平臺顯示。 6. 校正功能,進(jìn)行基準(zhǔn)位置識別以提高定位精度。 2.2 性能標(biāo)準(zhǔn) 1. 對于環(huán)境溫度的檢測誤差不超過0.5°。 2. 測量速度精確,最后對使用者位置的識別在距離校正點200m不超過10m。 3. 導(dǎo)航時對于道路和行駛方向的識別準(zhǔn)確有效。 4. 對樓梯和電梯進(jìn)行導(dǎo)航時對于道路和行駛方向的識別準(zhǔn)確有效。識別。 5. 導(dǎo)航時能夠識別樓內(nèi)的復(fù)雜環(huán)境,對存在不同道路時能夠進(jìn)行智能選路。 6. 手機(jī)端實時位置顯示無明顯延遲。 三、方案設(shè)計 3.1 系統(tǒng)功能實現(xiàn)原理(除圖片外需有文字介紹) 3.1.1定位實現(xiàn)方法: STEVAL實驗板提供LSM303DLH(六軸地磁模塊)和LPR430AL(兩軸橫滾俯仰陀螺儀) LY330ALH(一軸偏航陀螺儀),利用六軸地磁模塊中的三軸加速度傳感器測量間隔一定短時間間隔后的相對板平面的加速度 ,并且利用 ,并且進(jìn)行累加,可以得到在不同時間相對于板平面的速度 ,然后利用陀螺儀可以測量的加速度對以上的速度進(jìn)行變換,從而得到在真實空間中的三個方向的速度分量(以豎直向上為z軸正方向,x,y可以具體定義,滿足三維直角坐標(biāo)系關(guān)系)。考慮到角度量 是標(biāo)量,但是無窮小量 是矢量,那么可以利用公式 得到在較短時間內(nèi)的坐標(biāo)系沿三個方向的旋轉(zhuǎn)變換(在實際中利用很短的時間來替代 ) 。 坐標(biāo)系轉(zhuǎn)換公式: 其中 分別是沿x,y,z三個方向在短時間內(nèi)的轉(zhuǎn)過的夾角,不斷的利用以上轉(zhuǎn)換公式可以得到當(dāng)前實驗板坐標(biāo)系和真實空間坐標(biāo)系的轉(zhuǎn)動關(guān)系,利用 可以逆向推導(dǎo)出 ,(在真實空間坐標(biāo)系中的三個速度分量),再利用這三個速度分量可以計算出位移,從而實現(xiàn)在定位。 3.1.2導(dǎo)航實現(xiàn)方法: 由于具體路線的計算都集中在手機(jī)中,而傳感器部分僅負(fù)責(zé)信息的采集,而手機(jī)的計算,顯示功能都十分的強(qiáng)我們可以將比較復(fù)雜的地圖和算法應(yīng)用在手機(jī)中。 而Android手機(jī)一般是大屏幕觸摸,終點確定,位置校準(zhǔn)都很方便,導(dǎo)航是需要有點考慮的地方。 我們的地圖在手機(jī)的存儲中分為兩層,底層存儲的是地圖的拓?fù)浣Y(jié)構(gòu),可以根據(jù)如今的位置,使用最短路徑算法等路徑算法找到要提示的行進(jìn)方向。而頂層存儲的是地圖的顯示路徑,可以在屏幕上進(jìn)行顯示并進(jìn)行引導(dǎo)。而在行進(jìn)過程中也要通過傳感器確定使用者的運動方向和位置進(jìn)行實時計算,提示出最新的引導(dǎo)方向。 3.1.3 RFID校正: 由于系統(tǒng)是開環(huán)系統(tǒng),定位的方法利用加速度計算位移,角速度確定轉(zhuǎn)動方向的方法來最終獲取位移信息從而獲得位置信息,但是在實際中會出現(xiàn)以下問題:1、線加速度和角速度的獲取是間隔采樣獲得 2、實際情況中采用的是差分求和而不是積分會引入誤差 3、在獲取轉(zhuǎn)動方向的時候默認(rèn) 等價,但在實際中不等價,因為宏觀的角度并非矢量4、傳感器本身誤差的存在 考慮到誤差隨著時間和位移的積累會大到有明顯影響,所以需要進(jìn)行校正:1)射頻標(biāo)簽來進(jìn)行校正:在室內(nèi)的固定地點放入射頻標(biāo)簽,實驗板上加入RFID reader模塊,當(dāng)?shù)竭_(dá)指定地點是,用戶可通過刷卡形式進(jìn)行校正。在進(jìn)一步設(shè)計中可以考慮使用在固定地點放入大功率信號發(fā)射器,在用戶路過時自動接收信號進(jìn)行校正。 2)人工校正:用戶可以通過手機(jī)在觀察到特定位置后可以自行校正,在比較容易識別的特殊位置,用戶可以通過觸屏進(jìn)行校正,從而輔助射頻校正,實現(xiàn)更好的校正效果 圖3.1.1 硬件架構(gòu)圖 圖3.1.2 系統(tǒng)硬件結(jié)構(gòu)框圖 3.2 硬件資源配置 (1)RFID讀寫器開發(fā)板 (2)STEVAL-MK1062V2實驗板 (3)Android 2.2系統(tǒng)高性能智能手機(jī) (4)USB無線網(wǎng)卡 3.3系統(tǒng)軟件架構(gòu)(除圖片外需有文字介紹) 圖3.3.1 軟件架構(gòu)圖 軟件架構(gòu)如圖3.3.1所示,軟件系統(tǒng)主要包括:陀螺儀、線加速度計等運動傳感器信息的獲取,氣壓溫度等環(huán)境量傳感器信息的獲取,RFID讀取標(biāo)簽產(chǎn)生中斷對位置方向信息的校正,無線網(wǎng)卡驅(qū)動地移植,socket套接字無線網(wǎng)絡(luò)通信,基于陀螺儀角速度量對當(dāng)前實驗板方向的計算,基于實驗板方向和線加速度量對較小時間段內(nèi)實驗板位移的計算,Android手機(jī)對位置、方向、導(dǎo)航、溫度信息的顯示。 3.4 系統(tǒng)軟件流程(除圖片外需有文字介紹) 圖3.4.1 程序運行流程圖 1.ARM端主程序:初始化實驗板各傳感器控制字;設(shè)置中斷向量,開啟中斷;建立socket套接字;一定頻率讀取加速度、角速度、溫度、氣壓等傳感器測量所得數(shù)據(jù),10次測量值為一組打包Wi-Fi發(fā)送至Android手機(jī)端軟件。 2.ARM端校正中斷:RFID閱讀器檢測到電子標(biāo)簽觸發(fā)中斷,獲取標(biāo)簽編號,建立信息幀發(fā)送至手機(jī)端軟件。 3.手機(jī)端主程序:初始化程序,監(jiān)聽Socket端口;接收ARM發(fā)送的傳感器測量值數(shù)據(jù)包;對數(shù)據(jù)進(jìn)行濾波處理,累加計算實驗板方向改變量,根據(jù)實驗板當(dāng)前方向及各方向上的加速度量計算實驗板絕對直角坐標(biāo)系下的位移量;根據(jù)地圖拓?fù)湫畔⒆疃搪窂剿惴ㄋ阉鞒鰧?dǎo)航線路;GUI人機(jī)交互界面顯示地圖路線、方位信息。 4.手機(jī)端校正按鍵:用戶走到明顯標(biāo)志物處,觸摸按鍵,交互提示用戶確認(rèn)當(dāng)前位置,更新程序內(nèi)計算得到的方向位置信息以消除時間積累誤差。 |