雷達圖,在大家心中的印象,一般是這樣的:
而今天,我們要介紹一個飛機上的雷達圖:
飛機上可以監測周圍天氣情況的系統叫氣象雷達WXR(Weather Radar)
氣象雷達,是探測320海裡內,前向80°,垂直15°內的氣象數據,並可將結果顯示到ND上(Navigation Display)。氣象雷達的作用主要是為飛行員提供天氣預警,減少顛簸、遇到風切變的概率,提升乘客舒適度。一個典型的顯示圖如下圖所示:
從A350手冊圖中可以看到,黑色區域為降水強度最低,綠色次之,最強為紅色。目前,飛機的飛行路徑將通過降水最強的區域,因此,飛行員應該採取措施進行繞飛。
在ND顯示器上,還有可能出現一張類似的圖:
與上面的氣象雷達圖不同,這張737手冊圖上顯示的是地形。有些機場坐落於山谷之中,通過在ND上主動開啟地形功能,飛行員可以觀察飛機周圍地形地貌。而當觸發地形警告時,地形功能被動觸發,警示飛行員應進行操控避免撞擊。
現在,讓我們到真機駕駛艙中再看一下真實的氣象雷達圖和地形雷達圖吧!
酷酷的感覺有沒有~小屋都有點心痒痒了,好想嘗試一把!正巧手中有個新到貨的雷射雷達,有沒有可能實現一下類似的功能呢~
該款雷射雷達使用串口進行通訊,可檢測直徑24米的範圍,測量頻率高達8000赫茲,且價格低廉,怪不得實驗室購買了一個讓大家自由發揮
該傳感器的使用非常簡單,只要通過串口發送A5 20兩個字節即可開始檢測,再通過發送A5 25兩個字節即可停止,非常簡單有木有~
運行後,你會接收到如下的字符數組,有點眼花繚亂了,不過在閱讀官網提供的通訊協議後,一切就都明朗起來~
通過解析可以看到,傳感器不斷的在回傳角度及距離信息,代表了周遭的環境情況。基於此,小屋編寫了個程序,可以檢測並記錄到文件中,為下一步可視化做準備~
要實現飛機上ND顯示屏上的圖像並不容易,但是做一點簡化呢?把地圖看成是一個棋盤,每個方塊如果有物體存在就標為白色,如果沒有就用黑色表示,如此一來,便可以體現周圍的情況了~小屋用Python+OpenCV編寫了個讀數據+可視化的小程序:
在這個圖中,顯示了小屋所處地點的地形圖(暴露啦暴露啦!)由於放置的高度較低,且放置的角度有些歪,右上角的牆變成了傾斜的,左側的牆也變成了凹凸不平。此外,圖中顏色非常單調,根本沒有飛機圖上那麼炫酷,那該怎麼辦呢==
噹噹噹噹~小屋對代碼稍作更改,有沒有感覺一下子酷炫了呢~
對該圖做一下說明:
圖正中間的紅點是傳感器所處位置。
紅色代表10次檢測中有8次以上有效檢測,黃色代表4-7次,綠色代表1-3次~
注意對比一下上下兩幅圖,會發現紅點的正下方多出來了一塊,這是什麼呢?嘻嘻,這是小屋的影像~這次傳感器放置位置較高,因而小屋只有站起來才能在傳感器中看到~
總結一下,本次小屋採用雷射傳感器嘗試了一下飛機ND顯示器的雷達圖/地形圖功能。然而,雷射傳感器靠的是遮擋關係,即雷射接觸物體後反射,一部分進入傳感器因而可以檢測,該檢測方法穿透物體能力極弱,因而所看到的反射面僅能是單層的。所以,要想做到跟ND上一樣的顯示,還得更換傳感器啊~(此外,飛機地形其實是有資料庫的,可以直接顯示==)
最後提一句,小屋的通信部分採用C#編寫,顯示部分採用Python編寫,原因是,該傳感器不知為何,只要使用python連接,電機會停轉,無法掃描,而通過C++,C#編寫,一切正常。小屋還在思索中。。。