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