馮書慶,徐志強,王志勇,諶志新
(中國水產(chǎn)科學研究院漁業(yè)機械儀器研究所,上海 200092)
結(jié)合遠洋漁船通導航行、捕撈吊裝等功能復加集成及作業(yè)品質(zhì)提升需要,漁船有關姿態(tài)導航參數(shù)展示管理及高效人機交互界面設計研究的需求愈發(fā)迫切[1-3]。此外,姿態(tài)導航信息界面及設備也是漁船未來自主航行系統(tǒng)及遠程駕駛監(jiān)控系統(tǒng)信息采集和匯總控制的終端,是漁船管理智能化構(gòu)建的重要組成。目前船載姿態(tài)設備多配置機械重錘傾斜儀,功能單一且難以集成與控制。高端漁船雖配備了電羅經(jīng)、全球定位系統(tǒng)(GPS)等姿態(tài)、航向傳感器,但界面設計仍局限于由文字、儀表、箭頭等簡單元素分立組成,信息表述集成關聯(lián)度低、思維重構(gòu)強度大,實用性差。受多種因素制約,基于綜合圖形動態(tài)顯示的姿態(tài)描述界面,除特種艦艇外,普通漁船未有裝備。
借鑒航空多功能顯示器集成顯示理念,設計了一種圖形化漁船姿態(tài)導航多功能顯示器(Multi Function Display,MFD)界面,使用計算機圖形動態(tài)描述漁船導航參數(shù)信息、橫搖縱搖姿態(tài)參數(shù)信息等,實現(xiàn)漁船工況的綜合管理與高效人機交互,以支撐使用者快速掌控漁船整體狀態(tài)并完成準確決策等。
漁船姿態(tài)信息常用展示界面多采用列表表述,使用者姿態(tài)重構(gòu)思維強度高,可視性不強。如:鮑云飛[4]提出了表格形式的姿態(tài)信息人機交互界面;岳大超等[5]、李晶等[6]開發(fā)了雙表盤儀表姿態(tài)信息圖例;王小蘭[7]在三維船體姿態(tài)模型的基礎上配有多個儀表盤信息展示。目前,飛機飛行顯示器利用“天地球”旋轉(zhuǎn)角度來描述飛機橫滾(橫搖)、用角度刻度平移來描述飛機俯仰(縱搖),其姿態(tài)即視性表述在搖擺環(huán)境下的人機交互功效好,能幫助駕駛?cè)藛T快速響應與決策[8]。
借鑒航空MFD姿態(tài)描述形式[9-10],設計了一種姿態(tài)球船舶MFD界面描述方法(圖1)。使用姿態(tài)球的旋轉(zhuǎn)角度表征船舶橫搖、設計位于姿態(tài)球中間的刻度線偏移表征船體縱搖,使操縱者能快捷感受船舶搖擺姿態(tài),借助本能反應來駕駛船舶。設計姿態(tài)球左右兩邊的滑動刻度來提示船行速度和船行加速度,展示更多船舶運行信息等。
圖1 態(tài)界面示意圖
常用船舶轉(zhuǎn)向機構(gòu)由舵機舵葉組成,高機動能力要求的圍網(wǎng)漁船則裝配全回旋螺旋槳,實現(xiàn)船舶的推進與轉(zhuǎn)向機動。舵角當前位置、導航方位、船艏航向及變化趨勢等細節(jié)信息也有顯示需求(圖2),是漁船MFD界面需要研究的內(nèi)容。
圖2 導航界面示意圖
MFC基礎類庫、LabView、Lab Windows CVI等開發(fā)軟件封裝了數(shù)字、表盤及圖片等控件類,可以實現(xiàn)基本的貼圖控制操作,但其存在視口構(gòu)圖難、多圖層處理難等固有圖形運算缺陷,不適用于復雜圖形界面的編制控制。黃曉雪[11]、李建海等[12]提出使用GL_Studio軟件進行儀表控件編輯及描述代碼生成方案等,可產(chǎn)生供VC++ 、Vega Prime等框架應用程序調(diào)用的儀表控件動態(tài)庫,但存在版權(quán)成本高、編程靈活性弱等缺點。
目前計算機圖形編程領域的主流工具為DirectX多媒體編程及OpenGL開放圖形庫接口編程等,其兩項基礎類庫都支持強大的三維圖形渲染和控制能力[13],在圖形學仿真等領域發(fā)揮了重大作用。上述工具使用具有入門難等缺點,需要使用者具有扎實的編程基礎、掌握計算機圖形學相關知識等。
Lab Windows CVI集成了基本OpenGL類庫,具有一定的編程便利,選用該軟件工具開展基于OpenGL類庫的船舶MFD界面編制研究。計算機顯示圖形元素時,采用立體三維坐標描述圖形在顯示空間的姿態(tài)位置,并以視圖及模型的概念表示視覺效果與空間描繪形狀。OpenGL圖形學中,使用局部空間、世界空間、觀察空間、裁剪空間、屏幕空間等概念,分別描述圖像繪制實體依存空間、構(gòu)圖空間、視覺空間,并通過裁剪空間、屏幕空間等的矩陣變換處理,實現(xiàn)最終圖形展示[14](圖3)。
圖3 圖形處理流程
計算機圖形學還提出了“攝像機”概念,使用“攝像機”描述視覺角度時,有時會用“歐拉角”來描述視角的俯仰(Pitch)、航向(Yaw)和橫滾(Roll),模型顯示視角及光照效果計算均以此為基礎[15]。
結(jié)合相關文獻[16],針對船舶MFD界面顯示內(nèi)容要求,基于面向?qū)ο笤O計思想,本文應用視圖模型編程方法建立圖形處理流程、使用視口管理函數(shù)glViewport()和glOrtho()投影函數(shù)等構(gòu)建姿態(tài)管理區(qū)、速度尺管理區(qū)等顯示分區(qū),設立圖形描繪控制區(qū),增加代碼重用性。對象效果圖如姿態(tài)顯示視口區(qū)(圖4)、速度尺顯示視口區(qū)(圖5)所示。
圖4 姿態(tài)視口
圖5 速度尺視口
計算機圖形對象的描繪也借用了空間物體的點、線、面表述方法,對象模型的“邊”線表述由兩點 “向量”表示,對象模型的“面”由3組(或多組)首尾相連的向量組表述,使用足夠小的“面”的組合集,可以使用計算機圖形擬合表述所有空間實體物體。
根據(jù)向量運算知識,使用矩陣乘法可實現(xiàn)對向量、面及模型對象的空間旋轉(zhuǎn)、縮放和位移操作,達到圖形處理目的。
(1)
(2)
(3)
在空間坐標系中,式(1)描述了模型對象繞軸旋轉(zhuǎn)的矩陣運算操作,其中,θ為圖形旋轉(zhuǎn)的角度,x、y、z分別代表空間坐標軸;式(2)描述了模型對象在坐標系中的縮放矩陣運算操作,其中,S1、S2、S3分別表示在坐標系x、y、z軸上的縮放比例;式(3)描述了模型對象平移矩陣運算操作,式中,Tx、Ty、Tz為對象在坐標系x、y、z軸上的平移距離[17]。
基于模型對象控制理論,使用旋轉(zhuǎn)運算函數(shù)glRotatef ()、縮放運算函數(shù)glScalef ()及平移運算函數(shù)glTranslatef(),分別實現(xiàn)了如姿態(tài)球的左旋、縱搖刻度的下移等表達目的,完成了數(shù)字字塊的大小控制,滿足圖形控制要求(圖6)。
圖6 圖形旋轉(zhuǎn)與平移
算法處理所定義的圖形空間變換處理為步驟連續(xù)的,若需要對對象實現(xiàn)多步驟的操作,應注意步驟順序。例如,對對象先平移再旋轉(zhuǎn)與先旋轉(zhuǎn)再平移,其實現(xiàn)效果是不一樣的,在編程設計中應予注意。
設定船舶MFD界面需要顯示漢字信息,而所使用的開發(fā)軟件并不支持漢字顯示功能,需要根據(jù)應用情況進行編碼處理和轉(zhuǎn)換[18]。參考文獻[19],使用wglUseFontBitmaps()函數(shù),將所需顯示的漢字文字以紋理貼圖轉(zhuǎn)換方法,構(gòu)建文字貼圖,進行縮放處理,完成設計目標。漢字顯示效果如圖4 姿態(tài)視口中的垂直速度、深度、航向、舵向等字符信息所示。
為提高船舶MFD界面的高效可讀性,依據(jù)船級社智能集成平臺檢驗指南建議,考察常用用色習慣,對具有統(tǒng)一特性的文字和數(shù)據(jù)表示進行用色設計,規(guī)定用色見表1。
表1 船舶MFD界面用色優(yōu)選
軟件提供了色彩處理功能,向量著色運算處理可使用顏色插值的方法,完成基于頂點顏色的中間漸變色渲染描繪。當有視角及光照渲染需要時,平臺軟件可基于片元展示絢麗細膩的色彩表達??疾齑癕FD界面設計用色要求,不過多展開特效渲染研究,只進行端點插值渲染。
所用軟件具有強大的三維圖形描繪與控制能力,復雜表述對象模型如游戲角色常采用建模工具如3D MAX、MAYA XSI軟件等完成,模型文件可如OBJ文件等。附加視角和光照計算,軟件渲染OBJ模型時,使用蒙皮及骨骼動畫技術,可展示出栩栩如生的游戲角色[20]。另外一種對象模型繪制方法為實時動態(tài)繪制,其優(yōu)點是可實時改變模型內(nèi)容,實現(xiàn)界面調(diào)整。對象模型動態(tài)繪制的最大弊端是建模計算會占用CPU的資源,影響軟件執(zhí)行效率[21]。
研究了上述對象建模方法,結(jié)合各自優(yōu)劣,對姿態(tài)球?qū)ο蟛捎媒<皵?shù)據(jù)庫管理方式進行數(shù)據(jù)管理和裝載,而對微調(diào)類數(shù)字等對象采用實時編制的方法實現(xiàn)繪制,兼顧了性能與效率。
使用軟件建模圖形對象時,算法僅確定了計算機所操作像素的顏色值,再加上計算機顯存低分辨率陣列模型的影響,實際在計算機屏幕空間計算并繪制模型斜線時,會有邊緣鋸齒現(xiàn)象發(fā)生(圖7),影響顯示效果。
圖7 鋸齒圖
為避免因建模原因產(chǎn)生的鋸齒噪點,工程實現(xiàn)可采用增加虛擬像素點陣、提高圖形描繪分辨率的方法來彌消鋸齒現(xiàn)象,如超級采樣縮放抗鋸齒等相關技術[22]。與圖像處理技術中的鄰域平均平滑算法相類似[23],多重采樣抗鋸齒可通過鄰域像素的均值著色處理來進行圖像鋸齒平滑??逛忼X處理涉及模型陣列擴大運算和像素插值運算,會占用計算機CPU資源。船舶MFD界面繪制時,當對對象元素無差別進行抗鋸齒操作時,會大大占用計算機CPU運行資源,造成電腦(試驗電腦配置:I7-6500/8G內(nèi)存)運行卡滯,影響程序數(shù)據(jù)處理的實時性。
摩爾紋是空間特定間隔的規(guī)則光線干涉疊加所產(chǎn)生的光線波紋現(xiàn)象[24],軟件建模圖形對象時,在參數(shù)選取合理情況下,一般不會發(fā)生圖形重繪乃至光線干涉,但在圖形密集繪制時,若無差別選用了抗鋸齒效果,計算機輔助算法將對所有密集圖形邊緣像素進行抗鋸齒操作,造成相鄰圖形邊界的重繪,產(chǎn)生摩爾紋現(xiàn)象,如圖8中發(fā)散狀的水波紋簇,是圖形描繪時需要避免的地方。
為考察抗鋸齒算法對軟件運行效率的影響及界面視覺體驗,本研究針對抗鋸齒處理優(yōu)化效果進行了研究測試和調(diào)試。試驗圖形繪制無差別抗鋸齒運行時,觀測應用軟件進程占用CPU資源25%,觀察到界面有大量摩爾紋現(xiàn)象出現(xiàn);試驗全部關閉抗鋸齒運行時,觀測應用軟件進程占用CPU資源16%,觀察到界面圖形線條出現(xiàn)明顯鋸齒現(xiàn)象;試驗可知抗鋸齒處理可增加應用軟件56.3%的CPU資源占用率。
圖8 摩爾紋
在綜合考慮界面顯示效果和運行效率的基礎上,本文采用對線條類對象繪制進行抗鋸齒處理,對圖形類對象繪制只做基本描繪的方式渲染界面,保證了軟件運行實時性,兼顧了顯示體驗(圖6)。
船舶MFD垂直導航界面展示如圖9所示,畫面即時信息數(shù)據(jù)可解讀為:姿態(tài)橫搖右傾15°、縱搖下傾18°、航速1 154 m/h、垂蕩108 m/h、水深1 040 m等。垂直導航界面中,其他航向參數(shù)信息等以白標綠色字符顯示,供必要時的專視讀取。
船舶MFD水平導航界面展示如圖10所示,畫面即時信息數(shù)據(jù)分別表示為:航向270°、舵向(相對)90°、導航方位180°等,圖中航向、舵向、導航臺方位角均以圖形運動軌跡與安裝平臺隨動指示,界面清晰明了。
圖9 垂直導航界面
圖10 水平導航界面
為驗證MFD界面關鍵圖形顯示部分與傳感信號的聯(lián)動表述效果,結(jié)合試驗條件,選用北微SEC385三維電子羅盤傳感器[25]作為信號源在試驗室內(nèi)對界面軟件開展了基礎測試工作。SEC385三維電子羅盤傳感器具有磁航向、俯仰及橫滾姿態(tài)角測量能力,測量分辨率為0.01°,測量精度航向信息不低于1°、俯仰及橫滾信息不低于0.1°,滿足界面測試需要。
依據(jù)技術文件,采用宇泰UT-850通訊電纜實現(xiàn)計算機USB口與電子羅盤的信號交聯(lián)、編制Modbus-RS485通訊協(xié)議,設計以計算機為主站、0.2 s周期數(shù)據(jù)交換的信令協(xié)議進行聯(lián)調(diào)測試(圖11)。
圖11 聯(lián)調(diào)測試
測試結(jié)果顯示,與分立儀表或數(shù)據(jù)界面相比,當前姿態(tài)導航圖形化界面中橫搖和縱搖信息均以圖形運動軌跡指示且與安裝平臺隨動刷新,增加了信息獲取即視性、臨場感、沉浸感,具有高效信息表述能力;速度值、深度值、航向信息等以指示帶平移表示,在表述當前參數(shù)值信息的同時,還隱含表述了信息變化的趨勢、速率等相關信息。
測試期間MFD界面軟件穩(wěn)定、流暢和清晰地接收并描述各信號實時數(shù)據(jù)信息、狀態(tài)變化等,軟件運行可靠、魯棒性強;在電子羅盤姿態(tài)隨機變化過程中,軟件界面姿態(tài)表述對于傳感器數(shù)據(jù)變化響應無明顯延遲,證明界面軟件運行效率高、信號跟隨實時性好,符合應用要求。
為增加漁船姿態(tài)導航信息的綜合管理能力,綜合導航界面及漁船發(fā)動機參數(shù)告警信息顯示也有設計需要,但當前軟件僅設計了垂直和水平導航兩款分界面,后續(xù)需要開展綜合姿態(tài)導航界面的研究工作。
使用姿態(tài)球的旋轉(zhuǎn)表征船舶橫搖、使用刻度線(帶)的偏移表征船體縱搖及速度等,信息表達相比列表格式更加清晰直觀,信息容量大,交互功效好;界面使用羅盤及舵角方位的方式描述漁船航向及舵角指向,信息表述全面形象,實用性好。針對界面繪制產(chǎn)生的鋸齒問題,對圖形描繪抗鋸齒處理、摩爾紋產(chǎn)生條件及軟件運行效率開展了測試:試驗無差別抗鋸齒運行時,觀測應用軟件進程占用CPU資源25%、觀察到界面有大量摩爾紋現(xiàn)象出現(xiàn);試驗全部關閉抗鋸齒運行時,觀測應用軟件進程占用CPU資源16%,觀察到界面圖形線條出現(xiàn)明顯鋸齒現(xiàn)象,抗鋸齒處理可增加應用軟件56.3%的CPU資源占用率。本研究采用線條抗鋸齒描繪、圖元直接描繪的方法繪制界面,保證了軟件運行速度,兼顧了界面體驗,使用效果好;設計了姿態(tài)球?qū)ο箢A建模及數(shù)據(jù)庫裝載的方式管理復雜對象描繪,減少了計算機運行時的建模計算量,提升了軟件運行效率,增強了軟件運行的硬件適應性。