行政院國家科學委員會專題研究計畫 期中進度報告
子計畫四:抗流型水下遙控載具之感應器系統整合(1/3)
計畫類別: 整合型計畫 計畫編號: NSC93-2611-E-110-010- 執行期間: 93 年 08 月 01 日至 94 年 07 月 31 日 執行單位: 國立中山大學海下技術研究所 計畫主持人: 王兆璋 共同主持人: 程啟正,陳信宏 報告類型: 精簡報告 報告附件: 出席國際會議研究心得報告及發表論文 處理方式: 本計畫可公開查詢中 華 民 國 94 年 10 月 12 日
抗流性水下遙控載具(ROV)關鍵性技術開發及系統整合
子計畫四:水下潛航器之感應器系統整合Integration of Sensory System for Remotely Operated Vehicle 主持人:王兆璋 共 同 主 持 人 : 程 啟 正 陳信宏
摘要
ROV 系統在操作時,需要藉由各種感應器將水中環境參數以及 ROV 本身的狀態測量後,上傳至水 面,由 ROV 操作者研判後,掌握系統與環境後才能執行任務。ROV 本身的狀態包括深度、離底高 度、位置、傾斜角、艏向等;而環境狀況包括水溫、海底地形、海底影像及環場障礙物等。因此系 統需要很多感應器才能達成。包括有:壓力式深度計、高度聲納(altimeter)、都卜勒聲納(Acoustic Doppler Current Profiler)、電子式傾角儀(Inclinometer)、電子羅盤、溫度計、攝影機、環場聲納(scanning sonar)、側掃聲納(side scan sonar)甚至多音束聲納(multibeam echo sounder)。這些感應器的資料更新 頻率大不相同,從不到一赫茲左右的環場聲納、數十赫茲的傾角儀、一直到連續輸出的攝影機。而 訊號的格式,有的為數位如環場聲納,有的為類比如壓力計。資料量也大不相同,從每秒數個到數 千個位元組都有。在資料特性歧異度高以及有限頻寬的限制下,如何將資料穩定且可靠地擷取、彙 整及傳遞至水面上的人機操作介面,是一項需要研究的課題。 我們希望發展一個泛用型感應器資料彙整系統,提供多個通道(Channels),讓不論是以序列埠(Serial port)的形式連接,或者是需要經過類比數位轉換(A/D Conversion)後才能使用的訊號簡易的硬體及 通訊介面。而資料的傳遞也由彙整系統以封包(packet)的形式傳送至水面的人機介面電腦。系統資 料整合及採樣裝置控制預計在 Real-Time Linux 作業系統下開發。同時藉由 Linux 的網路功能建立 一個可以網路遠端監控 ROV 狀態的系統。簡介
本子計畫「抗流型水下潛航器之感應器系統整合」是負責提供一個機制將潛航器 上的資訊上傳控制台,也將控制台操作員的指令下載至潛航器。ROV 系統在操作 時,需要藉由各種感應器將水中環境參數以及 ROV 本身的狀態測量後,上傳至水 面,由 ROV 操作者研判後,掌握系統與環境後才能執行任務。ROV 本身的狀態 包括深度、離底高度、位置、傾斜角、艏向等;而環境狀況包括水溫、海底地形、 海底影像及還場障礙物等。因此系統需要很多感應器才能達成。包括有:壓力式 深度計、高度聲納(altimeter)、都卜勒聲納(Acoustic Doppler Current Profiler)、電子 式傾角儀(Inclinometer)、電子羅盤、溫度計、攝影機、環場聲納(scanning sonar)、 側掃聲納(side scan sonar)甚至多音束聲納(multibeam echo sounder)。這些感應器的 資料更新頻率大不相同,從不到一赫茲左右的環場聲納、數十赫茲的傾角儀、一 直到連續輸出的攝影機。而訊號的格式,有的為數位如環場聲納,有的為類比如 壓力計。資料量也大不相同,從每秒數個到數千個位元組都有。在資料特性歧異度高以及有限頻寬的限制下,如何將資料穩定且可靠地擷取、彙整及傳遞至水面 上的人機操作介面,是一項需要研究的課題。這個硬體架構的概念如圖 1。我們 計畫負責架構中下方框架中感應器的部分。而其他資料通訊或伺服控制器的建構 也是由本子計畫負責。 現在網路傳輸技術發達,傳輸速度快速,網路傳輸範圍幾乎遍及世界各個角落。 但目前能夠連上網際網路的硬體還是以電腦系統為主。一般的儀器設備或機器設 備因為不具備網路功能,所以無法連接到網際網路。這類的設備主要還是以 RS232 與外界溝通。雖然 RS232 的傳輸距離遠不及網際網路,大約只有 15 公尺的距離, 但是 RS232 有構造簡單、互通性高、應用軟體豐富等的優點。我們可以結合網際 網路長距離的傳輸與 RS232 短距離且方便的傳輸特性,使一般無法上網的儀器設 支援工作船 ● 載具施放回收機構 ● GPS定位系統 ●船位穩定系統 ●水下定位系統 主控台 (Console) ●人機介面 ●虛擬實境 電纜中繼系統 TMS
(Tether Management Sysmtem)
●纜繩張力控制系統 ●水密旋轉接頭 浮力控制系統 ●浮材 ●配重 ●重心控制 電力系統 ●電壓轉換 ●電源穩定 推進系統 ●推進器 ●運動控制系統 感測器系統 ●攝影機 ●燈光系 ●壓力/深度計 ●聲納系統 ●雷射定位 ●溫度計 鹽度計等、 機械臂/採樣系統 ●水密伺服馬達 ●機構設計 ●機械臂船體運動協調控制 運算及通訊系統 ●主控電腦 ●區域網路 ●電纜/光纖通訊 ●分散式運算 機架/水密艙 ●模組化機架 ●水密艙 ●流線型外罩 水面 以上 水面以下 電纜/光纜 電纜/光纜 圖 1:ROV 系統功能架構
備可以透過這樣的架構互傳資料,甚至達到遠端監看控制的目的。由於 ROV 是一 個比較昂貴的儀器,而且在使用時環境現場的資訊可能需要交由多種專家判斷 後,才能執行任務(如水底殘骸判定、深海生物觀察)。我們希望系統除了能提供 感應器資料的彙整,也希望藉著運用網際網路傳輸技術,讓使用者不需親自到現 場就可以監控 ROV 的狀態或是動作。而且透過網際網路的傳輸就可以將 ROV 最 新的狀態資訊即時上網,可以使儀器專家在遠端透過網際網路操控 ROV。我們希 望發展一個泛用型感應器資料彙整系統,提供多個通道(Channels),讓不論是以序 列埠(Serial port)的形式連接,或者是需要經過類比數位轉換(A/D Conversion)後才 能使用的訊號簡易的硬體及通訊介面。而資料的傳遞也由彙整系統以封包(packet) 的形式傳送至水面的人機介面電腦。現在網際網路傳輸技術發達,頻寬逐年成長, 網際網路設備涵蓋的範圍更廣及世界各個角落。利用網路傳輸的技術,使用者除 了可以瞭解遠端電腦硬體設備上的資訊,也可以遠端遙控其他的硬體設備,這樣 的概念可以應用在工廠生產線遠端控制上,也可應用於 ROV 本體與水面上人機介 面操控電腦間的溝通。
RTLinux 即時控制器
ROV 上除了需要一個感應器整合系統之外,也需要一個運動控制器,以便執行如 定向(heading control)、或定深(depth control)等功能。不論是那一種運動控制演算 法,都要需要穩定的閉回路特性,這有賴於一個所謂的即時控制器(real-time controller)。目前建構控制系統的選擇為:(1)專用的 DSP(數位訊號處理器)及作業 系統(Operating system),以 C 或組合語言撰寫控制程式;(2)以 PC 為硬體架構,以 DOS 為作業系統,以 C 或組合語言撰寫控制程式;(3) 以 PC 為硬體架構,不過以 Linux 為為作業系統,以 C 或組合語言撰寫控制程式。我們採用第三種方式因為, 為該作業系統為免費授權軟體,而且已有不少學術領域的使用者組成討論社群。 RTLinux 就是以 Linux 加以修改其系統核心,在原本的 Linux 核心和硬體間嵌入 RTLinux Kernel,並且將原本的 Linux 優先權設為最低,使得 RTLinux 的即時工作 (Real-Time Task)可以即時的被執行。也就是說 RTLinux 基本上是一個獨立的Linux Kernel RTLinux Kernel Hardware RT Ta -sk User Process Software Interrupts Hardware Interrupts Direct Hardware Access I/O 圖 2: RTLinux 核心的架構圖 RT-Scheduler RT-Task RT-Task
PIO Bi-Polar DA Bi-Polar AD RS232 Serial Port PC 104 壓力計 PZT 攝影機 推進器 聲納 圖 4: 系統架構圖 圖 3: PC104 及其 Add-On 卡
micro-kernel,而把原本的 Linux 作業系統當作其中的一部份,因此 RTLinux 可以 掌握所有的硬體資源。如圖 2為 RTLinux 核心的架構示意圖。RTLinux 作業系統 所執行的即時控制程式,可以由使用者自行設定執行序(thread)執行的週期時間。 藉由調整即時控制程式的執行序執行的週期時間,達到即時控制的要求。當執行 序執行的速度達到最快的狀況下,電腦的其它硬體周邊設備和軟體應用程式不會 因此而無法工作,仍然可以正常動作,如鍵盤、滑鼠、WWW 伺服器、FTP、telnet 等等,這就是 RTLinux 所能執行的極限即時控制週期。
系統架構
我們架構的 RTLinux 即時系統硬體由以下的元件組成:PC104 單板電腦,Transmeta Crusoe 800 MHz CPU, 256M RAM, 1G CF 儲存卡 RS 232 ×3 (com1, com2 及 com3), RS 485×1 (com4)
On-Board 16 bit DI/O
12 bit×8 CH, Bi-polar Add-On DA Output
在這塊主機板上,所有其他的 IO 都已經內建,因此如網路,鍵盤、多媒體等,或 USB 介面等都無須外加。因此系統的尺寸很小,如圖 3所示,體積約為 105mm × 116mm ×130mm。 DI/O 通常是被用來控制繼電器電子元件的開啟或是關閉,也可用來監控一個開關 目前的狀態。這可以用在燈光及可轉向水下攝影機的控制上;D/A 卡輸出命令電 壓值來控制推進器馬達的轉速;RS232 序列埠被使用來讓各式各樣的儀器與電腦 系統作傳輸溝通。以上這些硬體配置在工廠自動化的應用也相當普遍。目前我們 所整合的元件包括:PZT 可轉向攝影機,燈光、深度計、高度計、環場聲納等。 PC104 與水面上通訊採用 RS232 加上 Current Loop 轉換。Current Loop 可以抵抗較 多的雜訊,而且可以傳送超過 1000 公尺左右的距離。
5. 實驗
今年的實驗進度先就即時系統在中斷運算上的穩定性做探討。我們讓 DI/O 卡的 Output Port 在每一個中斷週期都轉換輸出狀態,在 5V 與 0V 間交替,因此可以由 示波器觀察到輸出為一個方波。然後逐漸增加系統即時控制的中斷頻率讓 DI/O 所 輸出的方波頻率越來越高,直到系統不穩定。這裏所指的系統不穩定,是指滑鼠、 鍵盤停止反應,視窗畫面停止更新,且無法由 TCP/IP 通訊命令 real-time 程式停止0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 x 10-4 -2 0 2 4 6 Channel 1 - 14kHz second Volt 圖 5: 以 8255 I/O 的一個 Port 輸出方 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 x 10-4 -2 0 2 4 6 Channel 1 - 8kHz second Volt 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 x 10-4 -2 0 2 4 6 Channel 2 - 7.98kHz second Volt 圖 6: 以 8255 I/O 的兩個 Port 輸出兩個 方波(8KHz 和 7.98KHz) 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 x 10-3 -2 0 2 4 6 Channel 1 - 14kHz second Volt 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 x 10-3 -2 0 2 4 6 Channel 2 - 500Hz second Volt 圖 7: 以 I/O 的二個 Port 輸出兩個方 波.(14kHz and 500Hz) 0 2 4 6 8 10 12 14 16 18 20 22 24 0 100 200 300 400 500 600 700 800 900 1000 Thread Scheduling (KHz) number of sin Critical Loading for RTLinux
圖 8: 不同的即時控制中斷頻率,系統所 能承受的最大負載值。 執行。就此我們得到的最高單一中斷程序的服務頻率約為 28KHz, 因此輸出之方波 應該為 14KHz。以數位示波器來量得實際的輸出波形,得到的是 14.04KHz 的方波 輸出,如圖 5為輸出的波形。這是非常精確的一個值,僅誤差 0.3%。 在這個實驗中,系統核心只處理一個執行序(thread)控制 IO 輸出。接下來的實 驗將讓系統核心控制兩個執行序,並各自使用不同但很接近即時控制的中斷頻 率,16KHz 和 15.96KHz。因此應該可以得到 8KHz 和 7.98KHz 的方波輸出。根據 數位示波器的量測顯示波形數據如圖 6。Channel 1 和 Channel 2 各自對應 8KHz 和 7.98KHz,而量測得到的數據為 8.025KHz 和 7.96KHz。誤差僅有 0.3%。這個實驗 目的是指出系統有能力可以處理兩個很接近的中斷頻率,但還是可以區隔出來。 另外一個很相似的實驗,是讓系統處理兩個相差很大的中斷頻率,28KHz 和 1KHz。結果如圖 7 所示。不過在示波器上我們可以觀察到在 500Hz 的方波上有些 小雜訊。找們推估原因為系統核心分別以兩個執行序執行 PI/O 的 Port A 和 Port B 輸出方波,因此當有一個 Port 輸出在轉換電壓值時,會影響到另一個 Port 輸出的 穩定,而有突出的脈衝出現。但這並不影響系統對即時控制的能力。 我們逐步增加 PI/O 輸出方波的實驗,系統所執行的工作相當的簡單,只是命 令 PI/O 卡輸出 On/Off 的狀態。為了了解系統可以處理多複雜的運算,接下來在系 統即時控制的中斷週期之間加上了 Sin(q)三角函數的運算。參數 q 是一個隨機值。 然後慢慢的增加 Sin(q)的運算次數直到系統變的不穩定。在機械手臂的控制上,需 要使用到大量的三角函數運算,因此我們找出系統在即時控制的中斷頻率下所能 承受的最多 Sin(q)負載的個數;當有複雜的函數要運算時,就可以推算系統能夠承 受多少個函數。實驗的結果如圖 8 所示。圖中顯示出設定的中斷頻率所能處理的 最大三角函數的數目。如果超過最大的三角函數數目,系統就會變的不穩定,甚 至當機。
6. 結論
在本年度計畫中,我們完成以 RTLinux 為平台建構一個原型資料彙整系統, 提供一個可以讓周邊設備擷取資料與及時控制程式運作的平台。在初步實驗中, 系統以一個執行序做即時控制時,可以得到系統即時控制中斷頻率的上限為 24KHz;而且系統不只可以執行兩個即時控制的中斷頻率相差極小的執行序,也可 以執行兩個中斷頻率相差很大的執行序;我們也找出系統在各種中斷週期設定 下,所能執行的最大運算負載值。這些資訊可以提供給下一階段運動控制器開發 子計畫作為基本設計參數。參考文獻
[1] Paul G. Backes and Gregory K. Tharp, The Web In-terface for Telesicience(WITS). In IEEE Int. Conf. on Robotics and Automat., New Mexico-April 1997.
[2] C. Sayers, A. Lai, and R. Paul, Visual Imagery for Subsea Teleprogramming, in IEEE Int. Conf. on Ro-botics and Automation, May 1995, pp.1567-1572.
[3] T. Sheridan, "Space teleoperation through time delay: Review and prognosis," IEEE Trans. Robot. Automat., vol. 9, pp. 592-606, Oct.
[4] 許友貞,"JAVA 在網路遠端遙控之應用",國立中山大學海下技術研究所,2000。
[5] Sayers and et al, Teleprogramming for Subsea Teleop-eration Using Acoustic Communication, in the IEEE J. of Oceanic Engr. VOL. 23, NO. 1, JANUARY 1998.
[6] A. Braune and Janschek, Requirements to The Design of Local Automation Systems for Web-Based Tele-control, In 1st IFAC Conf. Telematics Applications in Automation and Robotics, Germany, 2001.
[7] A. Weaver, Monitoring and Control Using the Internet and Java, In Proc. of Industrial Electron Soc., pp. 1152-1158, 1999.
[8] R. Luo and et al, Desktop Rapid Prototyping System With Supervisory control and Monitoring Through Internet, in IEEE Trans. on Mechatronics, vol. 6, no. 4, pp. 399-409, 2001.
[9] http://ragib.hypermart.net/linux/
[10] http://www.gnu.org/philosophy/free-sw.html [11] http://fsmlabs.com/community/