范毅 劉寶成



【摘要】 ? ?介紹了視頻雷達在某型調車輔助駕駛系統上的軟件設計及應用,重點描述了該視頻雷達系統的開發環境、軟件功能及設計方法。
【關鍵詞】 ? ?視頻雷達 ? ?調車輔助駕駛系統 ? ?功能 ? ?設計
引言:
視頻雷達是STAD系統的核心設備之一,用于獲取車列前方圖像信息、與障礙物的相對位置信息,GPS數據信息,并通過無線通信(WiFi或LTE)傳輸給車載設備。由于該產品功能和特點有一定市場需求,通過對視頻雷達功能以及使用環境進行分析研究,對市場和技術兩方面進行了充分調研和評估后,形成該軟件設計方法。
一、視頻雷達系統概述
整個系統由夜視系統、雷達系統、GPS模塊、無線通訊模塊、電源模塊和結構件組成。
1.夜視系統主要用于獲取列車前方視頻信息;
2.雷達系統主要用于獲取列車前方障礙物信息;
3.GPS模塊主要用于獲取當前位置信息;
4.無線通信模塊主要用于實現與車載設備之間的通信;
5.電源模塊主要用于為系統提供穩定可靠的供電。
二、軟件功能描述
系統軟件分為車載端和監控端兩部分,車載端軟件運行在HI3519處理器中,實現視頻采集、視頻編碼、視頻封包傳輸;監控端軟件運行在Android智能終端負責視頻解包、視頻解碼和視頻播放。
三、開發環境簡介
硬件環境:hisi3519視頻主控板,外部接口包括串口,CAN接口,網絡接口,IO接口,SD接口,外部設備包括雷達模塊,GPS模塊,4G模塊,wifi模塊。
軟件環境:車載端:Linux +Arm開發環境,使用unbuntu16.04發布版本,編譯器使用hisi提供的編譯工具鏈;監控端:Android開發環境。
四、車載智能終端數據流程圖
該軟件運行在hisi3519主控板上,linux操作系統,主要實現功能是列車視頻監控,雷達障礙物探測,并將障礙信息(二維坐標數據)轉換到視頻中,能夠在視頻畫面中實時標記障礙物,同時把障礙物信息上傳到主機端,為列車司機提供觀察判斷的條件。
數據流說明:
視頻雷達采集到數據,分析出結果后傳遞給視頻模塊,視頻模塊將雷達數據坐標融合在視頻畫面中,通過RTSP視頻流傳輸到PC端軟件接收并實時顯示,同時雷達數據和GPS數據會發送給PC端軟件進行實時的數字化顯示。
五、車載智能終端軟件功能接口說明
5.1雷達數據采集線程RADAR_work_thread()
雷達進行障礙物坐標信息的采集,將采集到的二維坐標數據進行數據轉換,雷達采集到的坐標是世界坐標系,而視頻畫面需要圖像坐標系,因此,需要進行坐標系的轉換,把雷達坐標轉換到圖像上,坐標轉換完后,把圖像坐標系提交給視頻模塊中OSD線程SAMPLE_RGN_VpssCoverExDynamicDisplay(),該線程會根據實時得到的坐標進行視頻綠色框標記,從而實現視頻目標跟蹤。
5.2 GPS 數據采集線程GPS_work_recv_thread()
實現設備速度獲取功能,以及時間獲取功能,主要采集設備速度數據,將速度數據傳輸給雷達,當雷達運動時需要速度數據,同時,速度數據會通過TCP傳輸給PC端進行實時顯示速度信息。
5.3視頻采集線程SAMPLE_VENC_NORMALP_CLASSIC()
主要實現hisi3519 視頻系統初始化,視頻采集,編碼,分辨率配置,rtsp打包發送等功能。
5.4其他工作線程OTHER_work_thread()
主要進行4G信號強度,wifi信號強度,電池電量值獲取功能,其中,電池電量是通過串口讀取單片機串口發送來的電量信息(電池由單片機獨立控制);4G信號強度是通過給主控板發送命令,從而獲取的信號強度值;wifi信號強度是通過標準網絡接口獲取到wifi信號強度。
5.5 Rtsp工作模塊RTSP_work_start()
該模塊是以庫文件形式提供,該模塊接口使用簡單。
使用方法:caster_init(),初始化rtsp模塊,配置rtsp通信端口
caster_chl_open(),啟動rtsp通信通道
caster_chl_write_video()向rtsp通道寫入視頻數據,等待客戶端連接
5.6 get_para()接口說明
該接口實現的功能是配置文件讀寫,主要是雷達參數配置。
5.7自定義網絡通信工作線程TCP_work_thread()
該線程主要實現pc端與設備端命令交互,雷達數據發送,GPS數據發送。其中,所有需要發送給pc端的數據全部是在各個工作模塊數據解析完成后再發送給PC端,本線程主要處理PC機發送設備控制命令。
六、移動智能終端軟件功能設計
基于 Android 平臺的監控客戶端的總體框架如圖所示,分別由網絡通訊模塊、視頻解碼模塊以及視頻顯示模塊等構成。其中網絡通訊模塊接收來自服務器的所有數據,對數據進行解析,并將視頻數據存入到視頻緩沖區。視頻解碼模塊負責從視頻緩沖區中讀取數據并送入 H. 264 解碼器進行解碼。最后,采用 OpenGL 圖形庫將解碼后圖像繪制到屏幕上實現視頻播放。
視頻數據的接收和解碼都是復雜、持續的過程,如果其中一個過程出現阻塞會影響整個程序的運行,因此,客戶端使用多線程實現數據接收和視頻解碼的并行處理。在整個程序運行過程中,主線程響應用戶操作,負責屏幕刷新工作,并創建兩個子線程:數據接收和視頻解碼子線程,處理過程如圖5所示。
七、結束語
該軟件設計方法已完成了設計和調試,并基本實現了在某型調車輔助系統上的應用,滿足了特路市場的應用需求,并且該軟件設計方法也可以推廣應用于其他相關行業,實現通過視頻雷達監控并傳輸數據從而代替傳統的視頻監控,可大大提高視頻采集的可靠性和準確性。
參考文獻
[1]周俊杰基于單目視覺的夜間車輛和車距檢測南京:南京理工大學,2009
[2]郭磊,李克強,王建強,等一種基于特征的車輛檢測方法汽車工程,2006
[3]崔振華基于視覺和激光雷達的夜間前方車輛探測算法研究長春:吉林大學,2007
[4]郭磊,劉志峰,王建強,等. 雷達與機器視覺的空間同步方法. 清華大學學報(自然科學版),2006,46(11):1904-1907.
[5] National Transportation Safety Board: Special Investigation Report[R]. 2001.
[6] GiancarloAlessandretti, Alberto Broggi, PietroCerri. Vehicle andGuard Rail Detection Using Radar and Vision Data Fusion[ J].IEEE Transactions On Intelligent Transportation Systems,2007,8(1):95-105.
范毅,19790620,男,陜西咸陽,漢;大學本科;工程師;計算機應用