摘要
近年來許多新型車輛與資訊系統結合,支援各種車用服務的車載系統成為了新型車間互相較量的重點。而其中透過主動偵查的車用安全系統為一項熱門的課題,該技術的逐漸發展,有助於在未來之中車輛可以在意外發生之前讓駕駛者提前做出判斷,大幅增加安全性,甚至更能作為自動駕駛的強力系統。
然而不論該產品功能是否強大,由單一車廠所研發的技術會因利益考量只針對自身車種設計,導致車種高價化或是無法廣泛的應用於他牌車種上。因此本系統的設計,是以通用為設計理念,將主動偵查這一系統從車載系統中獨立出來,使其具備跨越車種之功能。
本系統以超音波與都普勒微波雷達進行整合設計,實現一套設計容易而有效的車輛行車安全與防護系統,以突破技術上受到侷限的問題。同時,系統搭配OBD-II診斷系統來與車體進行聯繫,除了可獲得供電外,亦能獲得車內的節點資訊以做監測。系統會將車內外資訊以立體圖繪製於行動裝置介面上,以增加資訊的建鑑別度。此外,系統更以伺服馬達機構來將功能最大化的發揮,同時也設計了一套可符合大多車種的裝置結構,打造出可跨越車種、低廉而具備一定實用功能的主動偵測防護系統。
前言
台灣是一個人口密集的城市,交通網絡有時須仰賴多數車輛往返地運送。然而,機車危險駕駛、車輛的違停,都迫使著車輛往往必須在車陣間穿梭,這成為了台灣交通上的一個重大隱憂。
因此,目前先進駕駛輔助系統 (advanced-driver assistance systems, ADAS)的關鍵技術中,主動式雷達系統具有相當好的發展性,能輔助駕駛偵查周圍環境。但是這樣系統並無法套用於所有的車輛上,如果想要偵查系統,就必須購買新車或是以高價改造車輛,更別說最需要支援服務的大型車種更是完全無法享有到服務,讓該項技術的發展受到侷限。
因此,本作品希望能打造一套可用於目前市面上大多數車種的主動式偵測系統,並打破各車廠間車輛性能上的隔閡,以最低的成本創造出高價值的系統服務,打造出可跨越車種、低廉而具備一定實用功能的車輛行車安全與防護系統。
本作品是以盛群半導體所推出的HT32F1765微控制器作為開發,結合都普勒微波雷達、超音波感測器、伺服馬達與OBD-II的資訊整合平台。此作品可對車內外進行監測,OBD-II採用符合國際標準協定之規格,擷取車輛上ECU的感測數據,以取得行車資訊。
此外,車外監測可透過都普勒雷達與超音波感測器進行障礙物的距離偵測,再配合伺服馬達增加感測系統的可視範圍,以用單一雷達完成全方位監控。同時,所有行車資訊會透過藍牙接收並匯集到Android的行動裝置上加以顯示。其中,Android顯示畫面是以立體圖來作呈現,畫面會以模型車來模擬實車本體,並於三維空間建置出車輛周圍的狀況與車內的安全值。
再者,藉由多種警示功能將可增加駕駛者的安全性。當車子發生狀況時,能夠第一時間警告駕駛者,降低發生事故的機率。此外,系統還具備儲存功能,可將行車資訊存至SD卡,可於事後重新回撥行車資訊,以找出狀況原因或是意外發生之時段,具備行車紀錄之功能。
工作原理
車輛行車安全與防護系統主要系統功能分為兩個部分,分別為二維掃描器與Android顯示平台。以下,將詳細說明個別功能:
二維掃描器
本系統使用兩組二維掃描器,並配置於左右兩側的後照鏡上。掃描器的控制晶片為HT32F1765微控制器,並使用其ADC、PWM控制功能,以及SPI與UART串列通訊介面。
其中,二維掃描器以都普勒微波雷達搭配超音波感測器作為主要的測距系統,伺服馬達可帶動感測裝置,進行200度的旋轉,並透過主動偵測的方式識別前方目標的位置並加以記錄。此外,在每一輪掃描中,右側的二維掃描器會有兩次透過CAN通訊協定將數據傳送至左側二維掃描器。同時,左側二維掃描器也會透過CAN對OBD-II進行資訊擷取,並將所有資訊以藍牙傳送至Android顯示平台。
當車輛的速度超過預設的速限時,系統將會由低速模式進到快速模式。此時,系統將改變掃描角度由200度變為40度進行一次收發資料,掃描數據將限縮至固定方位,但每一輪的資料傳送將會變為十次,使系統能應對高速下的瞬間數據擷取,並讓數據能保持在即時的狀況下顯示。
Android顯示平台
Android顯示平台在接收到二維掃描器的資訊之後,會將各角度之距離轉變為座標,繪製於立體圖之上。同時,對與所有數據進行安全性判斷,並將超音波的數據以立方體顯示。而雷達數據是以圓形表示。其中,在低速模式下,會以超音波的數據為基準,對周邊進行近距離、高精準的障礙物座標化。在快速模式下,則會以雷達的數據為基準,對長距離進行有效的範圍偵測,並表示出遠近距離。
此外,駕駛者可透過圖形直覺的辨識車輛狀況,也可透過系統的警告系統來做判斷。系統會根據數據做出前後車過近、旁車靠近、左右後方來車的判斷,並以燈號來做表示。此外,駕駛者可選擇是否開啟車內資訊的功能,介面上會顯示該車輛OBD-II中所包含的ECU資訊,並以列表方式呈現,或是讓系統自行判斷,當車內異常時,系統將會立即發出警告,並說明出問題的節點資訊。
而系統具有行車紀錄之功能,每一次的駕駛將會被數據化為該次的駕駛紀錄,並保存至SD卡中。
駕駛紀錄會記錄該次的最快、平均速度等資訊。若有異常也會特別標註,調閱駕駛紀錄後,可完全重現該次的駕駛情況,並能完全保留所有的功能操作,讓使用者能有完整的系統服務。
作品結構
硬體說明
如圖1所示,為整體系統硬體架構方塊示意圖。其中,整體系統是使用盛群半導體的微處理器為基本的控制與處理核心。
在本作品架構中,會透過兩組二維掃描器掃描車體兩側的障礙物資訊。其中,右側二維掃描器透過CAN傳送數據至左側二維掃描器進行資料整合,同時左側二維掃描器會經由CAN向OBD-II要求車內資訊。這些資料將會在左側二維掃描的控制晶片內進行整合後,並透過Bluetooth模組將資訊傳至Android顯示平台上。
以下,列出各硬體元件:
HT32F1765:二維掃描器控制晶片。
MCP2515:SPI訊號與CAN訊號轉換晶片。
伺服馬達:裝置轉動控制之PWM馬達組。
US-020:超音波距離感測模組。
HB100:都普勒微波雷達模組。
藍牙:HL-MD08R藍牙模組。
OBD-II:OBD-II訊號來源,使用ECUsim 2000模擬器。
如圖2所示,為系統架構圖。本作品裝置可掛載於後照鏡上,並將訊號線拉至車體之中。此時,CAN匯流排可穿過車體儀表板後連至對面的二維掃描器,同時連接位於方向盤底下的OBD-II接頭。此外,系統可透過點OBD-II接頭取得電源供應。最後,Android藍牙傳輸方面,則直接接收左側二維掃描器發出的藍牙訊號。而如圖3所示,則為二維掃描器之實體圖。
整體系統,在設計上包含MCP2515 SPI-CAN通訊介面轉換、超音波測距及都普勒微波雷達測距等部分。以下,為這幾個系統區塊的設計方法:
MCP2515 SPI-CAN通訊介面轉換
由於HT32F1765(微控制器)不具備CAN的通訊介面,所以採用Microchip公司推出的MCP2515(SPI-CAN通訊介面轉換晶片)。其中,由HT32F1765的SPI介面,再根據MCP2515之各種階段工作模式之暫存器位址與指令來對MCP2515加以控制,以達到SPI轉CAN協定的功能。
如表1與表2所列,為MCP2515傳送暫存器位置表與MCP2515接收暫存器位置表。
表1:MCP2515傳送暫存器位置
暫存器名稱 |
功用 |
位址 |
TXBnCTRL |
傳輸緩衝器控制暫存器 |
30h、40h、50h |
TXRTSCTRL |
TXnRTS的腳位控制與狀態暫存器 |
0Dh |
TXBnSIDL |
標準ID傳輸模式低位元組暫存器 |
32h、42h、52h |
TXBnEID8 |
擴展ID傳輸模式高位元組暫存器 |
33h、43h、53h |
TXBnEID0 |
擴展ID傳輸模式低位元組暫存器 |
34h、44h、54h |
TXBnDLC |
傳輸資料長度設定 |
35h、45h、55h |
表2:MCP2515接收暫存器位置
暫存器名稱 |
功用 |
位址 |
RXBnCTRL |
接收緩衝器控制 |
60h |
BFPCTRL |
RXnBF腳位與狀態 |
0Ch |
RXBnSIDH |
標準ID接收高位元組 |
61h、71h |
RXBnSIDL |
標準ID接收低位元組 |
62h、72h |
RXBnEID8 |
擴展ID接收高位元組 |
63h、73h |
RXBnEID0 |
擴展ID接收低位元組 |
64h、74h |
超音波測距
以GPIO控制之超音波模組在發出10us的時間後,會在一段時間後收到回傳訊號,並使外部中斷產生觸發。而在回傳這段時間內,利用Counter與透過以下公式1來計算出所花時間:
[(Counter*time)/29(ms)/2] 1
在此,可得到精度1cm的距離資料,及最遠距離可延伸至5公尺。當超音波擊出後便會開始計數,直到收到回聲或是超出計數上限時才會再次擊出。而每一角度的時間內超音波可進行至多一百次的收發。其中,每一輪掃描可獲得至多2000筆資料,在經由系統演算處理,並合併同一角度的資料後,將會過濾成20個角度的有效資料,以提供系統後續操作。如圖4所示,為超音波控制流程圖。
都普勒微波雷達測距
都普勒微波雷達是範圍式的連續電磁波訊號,回傳的訊號會因目標物的動量而產生都普勒平移,使得接受到的訊號會和發射訊號產生訊號差。當目標移動速度越快,回傳的訊號頻率越快與越強,相反的,若無移動則會呈現沒有訊號。
而市面上的雷達測距採用的是頻率調變(FMCW)雷達測距,其架構是以都普勒雷達為基礎而改良的雷達技術,並利用在一段時間內改變發射源的頻率訊號,利用不同頻率在目標產生的頻率差,來與距離成正比的方式進行測距。然而車載用的頻率位於77GHz,高頻段的頻率調變需使用特殊的製程方式,一般市面上較難以取得。在此,為了使測距雷達能夠達到通用的設計理念,我們將目標放在以最簡單的設計方式來達成測距功能,而使用自行研究的訊號增益測距來達到測距目的。
此外,都普勒雷達是藉由訊號差的判斷可以分析出目標的移動量,我們以都普勒雷達作為技術的基底進行設計。而在測距上,為了增加可運用的訊號偵測方式,我們加入了RSSI技術,RSSI技術是透過反射能量衰落程度判斷目標的距離位置,因而被用於無線電的測距。然而,都普勒雷達因為其能量強度與頻率會受到目標位移量大小而有極大的差異,並無法直接以RSSI取得目標距離。針對這部分,在算出當下目標的頻率訊號後,只會擷取一定範圍內的訊號,並排除掉高頻與低頻訊號,使系統只會針對目標在一定移動速度下所產生的數據進行判斷。
此外,在原始的訊號強度上,距離每多2至4公尺,訊號會以90%以上的比例衰減,因而導致遠距離下訊號會因為衰減而偵測不出差異。此時,利用訊號增益的方式,來針對衰減的訊號進行放大,這會使得原本偵測不到的訊號得以被放大成正常訊號,但同時也會導致原本距離下的訊號被放大至無法辨識的飽和狀態。而飽和與衰落之間的距離區域,我們定義其為「有效訊號」。當在增益倍率下,訊號由衰減或是飽和狀態進入「有效訊號」,那就可以逆推出目標進入了一個特定距離位置。
根據此算法,我們測計了六組的增益倍率,在25公尺內無間段的繪製出六個距離區域,其「有效訊號」皆在不同區域,利用不同組增益倍率的ADC訊號來偵測目標位置。訊號上出現介於衰減與飽和交替的區域,則可判斷出目標落於哪個距離。此作法活用了都普勒特性與RSSI原理,使系統在裝置的轉動狀態下能獲得更具效率的偵測。而整體設計上,因是針對輸出訊號進行改良而非改變發射源,硬體設計上相對容易,能有效地壓低設計難度與成本。
在此作品中,所使用的HB100都普勒微波雷達是市面上可以以極低單價購得的雷達模組,其雷達發射頻率約為10.52GHz,及輸出訊號約為100Hz。
如圖5所示,為HB100微波模組的實體圖,其利用都普勒雷達(Doppler Radar)原理設計的微波移動物體探測器。
因為是採用都普勒的方式,辨識上需要同時藉由多個波形訊號分析其動量。因此,每一輪掃描,僅會有5次的雷達資料,其有效距離可達到25公尺遠,用於判斷車輛的5個方位的障礙物距離。
軟體說明
系統使用者介面採用Android作為顯示平台,並透過Unity3D加強介面的呈現方式。系統藉由藍牙無線連線的方式將資料由硬體端接收後,會將資料轉換到Unity3D系統之中進行運算,並加以繪製成三維立體圖。而在系統軟體端的設計上,可分為Android應用程式與Unity3D應用程式。以下,各別介紹其設計方式:
Android應用程式設計
Android是基於Linux核心的軟體平台和作業系統,早期由Google,後由開放手機聯盟開發。美國檢索公司Google在2007年11月5日公布的手機系統平台。它採用了軟體堆層(software stack,又名以軟體疊層)的架構。底層以Linux核心工作為基礎,只提供基本功能,其他的應用軟體則由各公司自行開發,並以Java作為編寫程式的一部分。本系統運用功能如下:
啟動藍牙
於Android應用程式中,將會開啟與二維掃描器的功能連線,只有在藍牙連線的情況下,並接收到開始的命令,二維掃描器才可正常運作。當二維掃描器接收到停止的命令時,則會停止所有的動作。
功能設定
可設定軟體端的相關設定,包含掃描顯示模式,後攝影機開關,或是車訊資料紀錄天數等設定。
車訊紀錄
系統執行過程中,會將獲得的車輛資訊(車訊)完整的記錄起來,並保存於SD卡中以時間順序加以標記,完成車訊紀錄的功能。因此,駕駛者可於車訊紀錄中,調閱過去行車紀錄。其中,除了查看當時的統計數據外,還可完整重現當時的行車數據變化,同時還能保有所有的操作功能。
Unity3D應用程式設計
Unity3D是一個用於創建諸如三維視訊遊戲、建築可視化、即時三維動畫等類型互動內容的綜合型創作工具。Unity類似於Director、Blender、Virtools或Torque Game Builder等利用交互的圖型化開發環境為首要方式的軟體,其編輯器執行在Windows 和Mac OS X下,可發布遊戲至Windows、Wii、OS X或iOS平台中。此外,也可以利用Unity web player外掛程式發布網頁遊戲,支援Mac 和Windows的網頁瀏覽。而其運用功能如下:
超音波座標化
在接收到超音波的角度對應的距離數據之後,系統會透過三角換算的方式,將角度值換算成座標,並在Unity上以立體圖做顯示。駕駛者可以看到畫面上至多出現的40個目標座標,其與自己車輛的距離位置。
雷達距離圖形化
在接收到雷達的距離數據之後,系統依據距離值將雷達偵測到的數據以不同大小的圓形標記於模型車四周。有效距離可達到25公尺遠,駕駛者可以清楚看到車輛的死角上是否有障礙物。
車內資訊顯示
在接收到OBD-II的行車資訊之後,系統依據對應的編碼以清單方式列出其內容,可讓駕駛選擇性查看車內的各項行車資訊。
行車安全警告
車輛行進間,除了各種圖形顯示外,系統也具備主動式的警告功能,系統會針對駕駛間需要注意的項目,如前車車距,左右來車等提供了警示燈號的方式,讓駕駛可以方便的察看車外狀況。燈號分成前車過近、後車過近、左方靠近、右方靠近、左方來車與右方來車等通知方式。當行車車況處在嚴重危險範圍內時,系統會以警告的方式讓駕駛注意。同樣的,系統也會對車內資訊作完整的監控,一旦有異常時,會立即通知駕駛該數據發生狀況。
測試方法
為了檢視系統中數值是否相同與合乎協定格式,我們利用分析儀與示波器來進行檢測。其中,檢測的項目分別為MCP2515 CAN-SPI通訊介面轉換檢測、超音波反射訊號、都普勒雷達訊號、以及訊號增益測距檢測。
MCP2515 CAN-SPI通訊介面轉換檢測
在此測試上,是配合OBD-II的CAN傳輸速率(500 Kbps),並把OBD-II模擬器上之5個節點包括時速、電池電壓、進氣空氣流率、引擎溫度以及引擎轉速之資訊,透過CAN協定傳至MCP2515元件中。而MCP2515會自動把資訊轉換成SPI介面的資料格式。最後,連接至HT32F1765的SPI介面接收中斷腳位來得知車內引擎上的節點資訊。
如圖6所示,實際連接示意圖。而擷取數值的畫面則如圖7所示,該對應數值為每個節點接收到的資料數值。
圖6 : HT32F1765與OBD-II模擬器通訊實體圖 |
|
超音波反射訊號
超音波觸發訊號後,會等待18ms的時間後接收反射。當接收到訊號,會讓腳位致能為高準位,以用來觸發內部中斷腳位。如圖8所示,為抓取到的雷達類比訊號檢測圖。
而超音波接收數據的資料量與距離會呈現反比關係,目標的距離越遠、延遲時間就會越長,資料量就越少。同時,系統是讓發射頭在旋轉的狀態下進行掃描,若反射時間過久將會造成入射角偏移使資料遺失。因此,檢測重點將在於如何讓資料能夠最大化。此部份我們讓超音波的掃描距離由近向外增加,並估算資料回傳數量介於15~20筆的距離。另外,考慮到行車速度會影響超音波的數值,所以同時針對於裝置平移下的數值變化做相同的取值動作。
都普勒雷達訊號
都普勒雷達輸出訊號為0至5V內的訊號變化,並透過ADC轉換後可得其數位值。目標於發射路徑上位移時,會產生震幅變化與頻率變化。如圖9所示,為未增益的訊號於4公尺內有一目標由遠至近逼近,在突然反向至遠的變化量,能明顯看出在近距狀態下訊號明顯增幅,且在速度折返的位置頻率突然降低。透過此訊號的變化可以發現到,2公尺以外的訊號變化衰減至10%左右,而在2公尺內有明顯的訊號高度。因此,可以設定當下的「有效訊號」距離為0~2公尺。
訊號增益測距檢測
根據都普勒雷達輸出訊號的量測後,我們有了初步的訊號範圍,此時,再透過OPA放大器,對於原訊號進行放大。其中,有效的增益距離的採用方式,是先預設一個訊號倍率,然後讓ㄧ目標從發射源向外移動。移動初期,訊號會有一段距離會維持在飽和狀態,一直到一定距離後才會出現明顯的訊號變動,而這交界值即為有效訊號的最短距離。此後,在繼續移動一段距離後,訊號會出現大幅衰減,此即為有效訊號的最遠距離。
最後,計算該距離長度後即可更換新的倍率並做重複同樣的測量,並挑選有效值域不會重複的倍率作為測距倍率。如圖9所示,為測試實體圖,於無干擾的場所偵測裝置的最遠距離與有效值域,可測得的距離約可達25公尺。
結果與討論
如圖10所示,為Android主畫面,其可設定以下功能:
掃描啟動:進入掃描畫面。
系統設定:設定軟體端相關參數。
車訊檢視:回顧過去的行車紀錄。
藍牙開啟:點選左下角字樣可開啟藍牙。
Android應用程式可執行以下功能,當有目標過近時,會顯示警告。
車速檢視:畫面右上角可以查看車輛目前速度。
車內資訊:點擊左下角可察看目前車內各節點的資料。
俯視切換:可以將目前畫面與小視窗切換。
地圖繪製:系統會直接將障礙物繪製於車體四周。
燈號警示:若有障礙物出現於危險範圍內時,系統下方會出現警示燈號。
返回:返回主畫面。
結論
經由上述的測試結果與系統設計的說明,可知車輛行車安全與防護系統的相關特性如下:
系統創新性
車用雷達系統是近年ADAS的發展中,需建置的車用系統,其可大幅增加駕駛者的安全性,但是技術的通用性不高,即使日後推出相關產品,也僅會成為新車的專用系統。而本系統主打的通用性,別於目前主流雷達技術,採用自行研究的雷達測距技術,並使用目前價格非常低廉的都普勒微波雷達作為測距主體,因此,能最大化的壓縮感測系統的設計成本。
而系統的資料處理集中於左右兩組二維掃描器上,透過簡單的連接就能使系統正常運作,完全不需拆動車體。其中,除了OBD-II的接頭外,不會和車內線路有複雜的直接連線。因此,系統可通用於任何車型車種,可以實現跨車種的使用方式。
目前市面上的雷達系統皆為單向發射,沒有辦法做到完整的車體防護。而本系統採用伺服馬達搭配主動式偵測系統,透過伺服馬達來改變發射角度,可以使用兩組的發射器來做到超過300度的安全防護。除了大幅的改良成本問題外,多方向偵測更提升系統的價值與功能,使成本及效率可以達到最佳化。
系統實用性
本作品使用的OBD-II接頭符合SAE J1962協定,因此,使用者僅需搭配其命令格式,即能擷取實際車輛上的ECU資料。其中,感測系統主要採用微波雷達,為電磁波訊號。在用於障礙物偵測當中,其會受到的干擾最為微小,不受外部亮度、溫度、濕度影響。因此,在雨中也可保有一定的偵測力,同時系統也使用超音波作為輔助感測,使近距離的準確度更為明顯。
而車輛在行駛之中,會因為速度而影響感測器的準確度。本系統可在不同速度下,啟用不同的偵測模式。如此,使系統受到速度影響達到最小,並增加系統的可靠度。
因此,經由本系統的設計與實現,可將主動安全這一系統從車載系統中獨立出來,使其具備跨越車種之功能,並達到行車安全與汽車防護的目標。
(本文作者許永和任於國立虎尾科技大學資訊工程系教授;張庭瑋、曾柏諭、陳建忠為國立虎尾科技大學資訊工程系研究生)