虛擬實境動態模擬系統之即時嵌入式控制單板研製
Development of Real-time Embedded Control System for a VR Motion Simulator

 
研究生: 廖志昇 指導教授: 林進燈 教授
研究主題
電子產品朝向輕薄短小的設計概念邁進乃是近年來硬體發展的趨勢,而嵌入式系統因具有精簡、整合、體積小的特性而被廣泛的應用到控制相關領域裡。在本實驗室裡有效的應用上述之嵌入式系統優點在虛擬實境的硬體研發上,將整個軟硬體控制單元用一塊可獨立運作的控制單板來實現。
此控制單板的硬體設計裡,主要包含以StrongARM微處理器為核心的嵌入式單板,及由此單板上的Data Bus和Address Bus擴充出來的12位元數位類比轉換介面卡,在與VR場景端的通訊上用TCP/IP來傳送六軸姿態,另一端與運動平台溝通的介面則是透過數位類比轉換介面卡。整個嵌入式系統扮演的是一個動態場景與運動平台間的溝通橋樑,負責把數位的動態資料轉換成平台所接受的軸電壓以對應腳長,並當作控制演算法的運算平台。
嵌入式系統的軟體系統方面,本論文將屬於應用軟體層的網路連線程式與控制程式等應用程式整合,搭配高穩定性、具多工能力且網路功能強大的ARMLinux作業系統,並用模組化驅動程式的設計概念,自行撰寫數位類比轉換介面卡的驅動程式載入核心,其處理效率與功能等於一塊單板電腦,可直接取代原來體積龐大的工業電腦。
研究說明
一般的六軸運動平台控制系統上,通常是利用工業電腦接收由場景所傳送的六軸運動控制姿態。工業電腦穩定度高,傳輸介面齊全,然而體積龐大價格昂貴,且功能強大的工業電腦只作傳輸與姿態運算並不符合效益。為了精簡硬體體積、提昇硬體使用率,另行設計出以數位訊號處理器(DSP)為核心的控制卡。DSP有很強的平行計算能力,可以及時的處理大量訊號,不過 DSP處理器缺乏一套較普及的作業系統支援,所有系統都必須從較低階的底層DSP專用組合語言來撰寫,因此軟體系統比較缺乏彈性,將來移植性不高。另外,此控制卡上目前和VR場景端的資料傳輸介面只有RS-232串列傳輸,有傳輸距離的限制,加上串列傳輸的速度受限,未來在控制系統發展上將受到諸多限制。
本研究中所研發的控制硬體系統,則是朝著精簡但功能強大,有獨立運作能力的單板電腦之目標進行,而此控制單板有著一般電腦高執行效率、數種作業系統支援、週邊齊全等多種好處,但又同時具備DSP控制卡輕薄短小、低成本的優點,用這種精簡化的嵌入式硬體單板當作運動平台控制單元,可以直接取代以往的工業電腦與DSP控制卡,而且不會減低系統效能。
在單板的作業系統方面,嵌入式單板上的中央處理器StrongARM支援功能強大的ARMLinux作業系統,ARMLinux與Linux一樣,有開放原始程式碼供使用者自由下載安裝的特性,其好處是版本的更新容易,軟體資源豐富,在擴充新硬體時通常可以找到相容的驅動程式,如需對於自行設計的週邊硬體寫驅動程式時,也有較多的教學參考資料可以獲得。


圖(1)嵌入式控制系統架構
研究成果
嵌入式系統與動態模擬器控制系統整合
本實驗室的嵌入式動態模擬控制系統,主要分成三層的巨觀架構,包括作業系統控管的核心層(kernel space)、應用程式在執行的應用層(或稱使用者空間user space)和硬體裝置所屬的硬體層(hardware layer)。本實驗室所研發的A/D、D/A轉換卡屬於實體硬體層,其驅動程式則歸類在核心層,當A/D、D/A硬體與驅動程式完成後,最後的工作,就是將A/D、D/A模組驅動程式載入核心等待相關的應用層空間之應用程式呼叫使用,並把網路連線程式與各種平台控制程式,包括姿態轉換、奇異點路徑規避法、沖淡演算法與各種閉迴路控制等移植到單板上,實現各種場景的即時動態模擬控制系統。


圖(2)軟硬體整合系統架構
整合嵌入式控制單板與場景連線之動態展示
當連線網路程式與各種控制程式都成功移植到單板上後,即可透過TCP/IP連線接收場景的動態資料,並由單板將資料及時處理完成控制平台,下圖是飛行模擬連線的連線結果示意圖。


圖(3)飛行模擬連線成果示意圖
未來展望
六軸運動平台、控制端硬體與場景端電腦間的通訊介面在虛擬實境系統整合裡一直是很重要的議題,在未來的工作上,提出下列項目以供參考:
1.藍牙通訊-自從手機、IEEE802.11、藍牙等與技術日趨成熟後,無線通訊漸漸成為趨勢,如果能利用LART上已經具備的USB或RS232串列埠與藍牙模組連接即可傳輸資料,用無線網路實現平台控制平台控制。
2.CAN Bus傳輸-CAN Bus支援分散式即時控制串列傳輸系統,而且有高安全性的序列傳輸通訊協定,傳輸速度最快可達1 Mbits/s,與傳統UART(Universal Asynchronous Receiver/Transmitter)傳輸方式最大的不同在於UART只適合用於點對點資料傳輸,而CAN則具有單點對多點的傳輸能力。如能配合i82527 CAN Bus控制晶片設計一塊CAN Bus介面卡,即可實現多台平台連線動作。
3.RTOS-移植或自行編譯一套具有real time機制的ARMLinux到LART上,使系統具有即時運算的功能,增加穩定性。