常見問題
問題一:
如何正確開啟定位系統的原始碼呢?以及如何調用定位用的dll
A1:我司軟體是使用 visual studio 2012編輯的,請使用同版本或更高版本的編譯器開啟C#原始碼及編輯
A2:調用dll請直接引用即可,如下圖
問題二:
在程式碼當偵測到tag如何抓到每個tag的座標值?請問此套系統有區域限制嗎?
A1:具體流程如下
定位卡片取得與周圍基站的距離資料,根據距離跟訊號選擇最多五個基站資訊,距離越接近與訊號越良好的為優先選擇
透過基站將含有卡片資訊跟基站距離資料的UDP封包傳回伺服器電腦
PrecisePositionLibrary.dll進行封包監聽並且解析封包
PrecisePositionLibrary.dll計算定位座標後透過視窗訊息傳遞給定位軟體
定位軟體取得座標後將定位卡片顯示在地圖上
A2:定位上有幾個特點
考量訊號強度與封包傳遞穩定性,建議30m x 30m範圍內至少要三個基站
由於UWB精準定位是用空間距離衍算法,所以定位範圍不會侷限在基站的所圍起的距離,只要定位卡片可以傳遞給定位基站的範圍內都是定位區域
我司軟體可以設定限制區域,當卡片進到限制區域會出現警報訊息。當然也可以反過來利用此特點來進行電子點名
由於UWB是高頻訊號所以穿透效果不好,因此在遮蔽過多的環境,就需要更多基站補足定位精準度
問題三:
請教貴司UWB定位系統主程式PrecisePosition.exe,有無在開機批次檔(Autoexec.bat)後面加什麼參數,等同於一執行後去按Start monitoring按鈕自動執行,或者透過什麼樣的小工具來達成這個替我們自動按按鈕的方式
A1:此定位軟體沒有設計相關機制
A1:自動啟動監控功能必須修改原始碼初始化部分
問題四:
物體移動中的時候定位飄移相當明顯,有時候誤差值超過1公尺
A:有飄移是正常現象,我司UWB精準定位是利用UWB的飛行時間(TOF)測距後進行座標估算 加上物體移動時會造成偵測距離多少會有些浮動
1、這時候可以利用設定裡面kalman濾波器來讓定位點穩定,如果卡片發送頻率是0.1秒,濾波器參數設定值為5,其他發送頻率請設定為0.5
2、如果偏差達到1公尺以上,確認是否Tag與基站中間是否有阻礙物。另外UWB定位準度跟幾個要素有絕對關係
a.地圖長寬的實際尺寸
這數值越準確,座標換算時會越準確
b.地圖上的標的物在地圖上比例準確性
因為使用者用來判斷準度的會是地圖標示,這部分會直接影響到測試準度感受
c.基站在地圖上位置與實際架設點的準確性
請注意,地圖上的基站圖形中心點為UWB天線位置,另外地圖上設定的基站高度數值準確性也會影響準度,因為我司軟體最後會壓成平面座標顯示,這些數據的偏差都會可能導致計算出現誤差
d.基站建議都放在同一個水平線上
可以減少計算上的角度誤差
e.在設定裡面設定Tag的最高及最低高度,避免Tag高度誤差造成計算除零的錯誤
問題五:
請位是否有定位卡片數量限制?一個定位基站最多配置多少定位卡片?
A:定位卡片沒有數量限制,但是會有以下狀況需要納入考量
定位基站以及定位軟體沒有進行數量限制,但是定位基站為單晶片設備,因此一次只能處理一個定位封包,處理一筆定位封包大約花費5-7ms,因此一個基站理論上在一秒鐘內可以處理100筆資訊
大量定位卡片在一個密集區域會產生封包碰撞問題,而發送頻率會快造成的碰撞問題也會越加嚴重
如果進行三點定位時,一個區域最少會需要三個定位基站。而較多的定位基站可分擔傳輸負擔以及單一時間容納的卡片數量
大量的定位卡片會產生系統負擔,因此在極大卡片數量的情況下,運行定位程式的電腦的效能也會影響單一區域的定位卡片數量
基站設置注意事項
1、基站高度,基站高度是指地面到UWB天線頭的位置,這裡說的地面是指所有基站的共同水平面基準。
A. 在軟體創建基站元件時需要輸入正確基站高度
B. 基站高度說明
C. 地面基準說明
2、保持基站與卡片間的暢通,請視現場情況調整基站位置
A. 隔間不適合共用基站
B. 卡片與基站中間有較大阻礙的地方不適合架設基站
3、請依照定位區域來考慮基站架設位置與定位方式
4、鄰近基站請勿排列成一直線
A. 以下狀況是允許的
B. 以下狀況請避免
5、定位基站安裝範圍
建議的安裝範圍為30m x 30m的範圍有三個基站,主要原因
我司的UWB設備在30m-50m的無阻礙通訊範是可以保證穩定傳輸
30m x 30m的範圍內的定位誤差可以保證在1m以下
其中30m x 30m範圍內有三個基站的意思如下圖所示
6、請確認定位軟體設定參數
A. 是否使用濾波器,因為訊號都有微小波動,使用濾波器可以讓定位顯示更加穩定,卡片是0.1秒發送一次,濾波器參數設定值為5,其他發送頻率請設定為0.5
B. Use three base station location,選擇定位演算
1)不勾選,預設使用二維定位演算法(TwoDim_TagHeightRange),不需要再設定卡片高度,如果在C選項勾選設定高度範圍可以提高定位精準度
2)勾選,會有三個選項提供選擇
TwoDim_TagHeightRange:二維定位演算法,可以得到卡片的X、Y座標,卡片無需設置固定高度,但是建議卡片設置高度範圍來提高定位精度,該演算法一般用於卡片高度會變化的場景,比如卡片戴在人身上。
TwoDim_TagHeightFixed:可以得到卡片x、y座標。卡片需要設定固定高度。該演算法一般用於卡片高度固定不變的場景,比如貨車定位
ThreeDim:三維演算法,可以得到卡片x、y、z座標,但是卡片和基站必須存在高度感測器才可以使用該演算法,否則軟體將會更改自動使用
TwoDim_TagHeightRange演算法。該演算法用於需要獲取卡片高度的場景
C. 卡片高度範圍,可以增加定位準確度,也可以用來改善三維定位演算法的除零問題。如果有計算除零狀況會造成顯示點在某個特定區出現異常跳動現象。此參數只有使用TwoDim_TagHeightRange才會使用到
如果使用TwoDim_TagHeightFixed演算法則是在Tag Set分頁設定
D. 使用單點定位基站則是在Anchor Set分頁設定,選擇Single point後就可以使用基站來進行單點定位。不過必須要在Single point range地方設定偵測範圍
之後就可以在定位地圖上看到單點定位的基站偵測範圍,不過這邊的單點定位功能是指卡片在偵測範圍內,卡片在偵測範圍外依舊是用作為三點定位基站
7、地圖尺寸,請確認地圖白邊部分
例如:兩張同樣的圖,但一張有白邊 沒去除
容易因為底圖是白的而看不出來
設定時距離的長寬要設到白邊
8、確認圖片尺寸與比例,不然會出現地圖無法點或是定位不準的問題