郭曉旗,丑武勝,方 斌
(北京航空航天大學(xué) 機(jī)器人研究所,北京 100191)
核電已經(jīng)成為當(dāng)今世界的重要能源。因?yàn)楹俗鳂I(yè)環(huán)境的特殊性,需要一些核電站專(zhuān)用機(jī)器人來(lái)替代人工完成任務(wù)[1,2]。核電站水下機(jī)器人就是其中的一種,它用在核電站的反應(yīng)堆水池、乏燃料水池等場(chǎng)所執(zhí)行測(cè)查和檢測(cè)任務(wù)[3]。由于核輻照的影響,工作人員需要在遠(yuǎn)離反應(yīng)堆水池的地方對(duì)水下機(jī)器人實(shí)施遠(yuǎn)程控制,所以要開(kāi)發(fā)適用于核電站微小型水下機(jī)器人的遠(yuǎn)程地面站系統(tǒng)。
國(guó)內(nèi)外在核電站水下機(jī)器人地面站系統(tǒng)的設(shè)計(jì)上取得了一定的成果。中國(guó)科學(xué)院成都光電研究所研制的核電站水下機(jī)器人地面站根據(jù)安置在機(jī)器人前方的攝像頭和燈采集到的圖像回傳信息實(shí)現(xiàn)對(duì)機(jī)器人的實(shí)時(shí)控制[4]。該系統(tǒng)可以初步實(shí)現(xiàn)水下機(jī)器人周?chē)h(huán)境信息的檢測(cè),但無(wú)法確定水下機(jī)器人在工作水池中的定位位置,此外,受攝像頭視角的影響,無(wú)法全面獲得水下機(jī)器人周?chē)h(huán)境信息,這大大增加了機(jī)器人發(fā)生事故的概率和工人操控機(jī)器人的難度。文獻(xiàn)[5]中研制的一款韓國(guó)KeproVt核電站水下機(jī)器人的地面站系統(tǒng),利用機(jī)器人頂部安置的攝像頭和小燈進(jìn)行圖像信息回傳,由反應(yīng)堆水池上方的攝像頭進(jìn)行水下機(jī)器人定位,利用回傳的圖像信息和機(jī)器人定位信息對(duì)水下機(jī)器人進(jìn)行人工遙感控制。這種方式可以在一定范圍內(nèi)實(shí)現(xiàn)機(jī)器人的超視距遠(yuǎn)程控制,但是需要在工作水池岸邊增加設(shè)備,而且對(duì)機(jī)器人的運(yùn)動(dòng)空間有嚴(yán)格的限制,不能超出岸邊攝像頭的視角,減小了水下機(jī)器人的有效工作區(qū)域。
本文利用可視化技術(shù)建立三維動(dòng)畫(huà)空間和水下機(jī)器人的3D姿態(tài)模型,利用深度計(jì)、加速度計(jì)、陀螺儀多傳感器系統(tǒng)信息控制3D姿態(tài)顯示,結(jié)合聲納成像圖、攝像機(jī)回傳圖設(shè)計(jì)了一套功能完善的水下機(jī)器人地面站系統(tǒng),實(shí)現(xiàn)了對(duì)水下機(jī)器人的遠(yuǎn)程可視化控制。
地面站的主要任務(wù)是對(duì)水下機(jī)器人采集的傳感器回傳數(shù)據(jù)進(jìn)行實(shí)時(shí)分析,動(dòng)態(tài)顯示水下機(jī)器人運(yùn)動(dòng)狀態(tài)、目標(biāo)現(xiàn)場(chǎng)圖像及位置信息并定時(shí)向機(jī)器人本體發(fā)送控制指令,實(shí)現(xiàn)對(duì)水下機(jī)器人的實(shí)時(shí)控制。該系統(tǒng)主要分為水下機(jī)器人運(yùn)動(dòng)狀態(tài)監(jiān)測(cè)顯示模塊、運(yùn)動(dòng)控制模塊和任務(wù)控制模塊3個(gè)部分,系統(tǒng)框架見(jiàn)圖1。
水下機(jī)器人的運(yùn)動(dòng)狀態(tài)監(jiān)測(cè)是遙控地面站的核心功能之一,要求地面站對(duì)水下機(jī)器人運(yùn)動(dòng)的全過(guò)程進(jìn)行狀態(tài)控制。通過(guò)遠(yuǎn)程485串口與水下機(jī)器人實(shí)現(xiàn)實(shí)時(shí)通訊,將水下機(jī)器人的運(yùn)動(dòng)姿態(tài)、位置坐標(biāo)以及水下機(jī)器人周?chē)h(huán)境狀態(tài)信息及時(shí)回傳,實(shí)時(shí)對(duì)水下機(jī)器人的運(yùn)動(dòng)狀態(tài)監(jiān)測(cè)。其主要組成及功能如下:①反應(yīng)堆水池虛擬空間,主要功能是輔助水下機(jī)器人3D模型顯示水下機(jī)器人當(dāng)前在水池中的姿態(tài),以及輔助聲納和深度計(jì)回傳信息顯示水下機(jī)器人位置;②水下機(jī)器人3D姿態(tài)模塊,用于動(dòng)態(tài)顯示機(jī)器人當(dāng)前姿態(tài)信息,實(shí)現(xiàn)水下機(jī)器人的俯仰角、滾轉(zhuǎn)角和航向角的3D姿態(tài)的動(dòng)態(tài)顯示;③聲納顯示模塊,用于顯示掃描聲納的平面掃描成像圖,精確顯示水下機(jī)器人所在深度及周?chē)沫h(huán)境信息;④傳感器數(shù)據(jù)顯示部分,顯示水下機(jī)器人的各項(xiàng)運(yùn)動(dòng)參數(shù),操作人員可以通過(guò)該部分了解到水下機(jī)器人的運(yùn)動(dòng)狀態(tài);⑤視頻顯示模塊,用于顯示水下機(jī)器人前、后兩個(gè)攝像機(jī)回傳的圖像信息,操作人員可以通過(guò)此部分了解水下機(jī)器人周?chē)沫h(huán)境信息及水下機(jī)器人的工作狀態(tài)。
圖1 遙控系統(tǒng)的系統(tǒng)框圖
地面站運(yùn)動(dòng)控制功能主要包括控制水下機(jī)器人運(yùn)動(dòng)模式切換、姿態(tài)控制、位置控制3個(gè)方面,主要通過(guò)系統(tǒng)控制箱實(shí)現(xiàn)運(yùn)動(dòng)控制功能。水下機(jī)器人運(yùn)動(dòng)模式的切換可以使水下機(jī)器人在手動(dòng)遙控模式、半自動(dòng)航行模式、半自動(dòng)定深控制模式之間切換。姿態(tài)控制實(shí)現(xiàn)水下機(jī)器人的滾轉(zhuǎn)、俯仰、航向3個(gè)姿態(tài)角的實(shí)時(shí)控制,滿足水下機(jī)器人作業(yè)時(shí)的姿態(tài)要求。位置控制主要通過(guò)操控?fù)u桿實(shí)現(xiàn)水下機(jī)器人在水下的平面位置、深度等工作位置的改變來(lái)滿足工作要求。
地面站的任務(wù)控制功能主要包括工作任務(wù)切換、工作任務(wù)執(zhí)行兩個(gè)方面。任務(wù)切換主要是在水下機(jī)器人巡航任務(wù)和機(jī)械手任務(wù)模式之間進(jìn)行切換。工作任務(wù)執(zhí)行包括水下機(jī)器人半自主巡航模式下的水下檢查任務(wù)以及機(jī)械手水下作業(yè)任務(wù)。
利用可視化技術(shù)在超視距狀態(tài)下對(duì)水下機(jī)器人本體有效控制是地面站系統(tǒng)的核心功能。可視化技術(shù)主要是通過(guò)現(xiàn)場(chǎng)環(huán)境的視頻圖像、水下機(jī)器人的3D姿態(tài)圖、掃描聲納的環(huán)境成像圖、虛擬工作空間輔助顯示實(shí)現(xiàn)。操作人員通過(guò)虛擬工作空間中水下機(jī)器人的3D姿態(tài)圖來(lái)了解當(dāng)前水下機(jī)器人的姿態(tài)信息,通過(guò)掃描聲納的環(huán)境成像圖來(lái)了解水下機(jī)器人當(dāng)前深度位置的二維平面信息,通過(guò)現(xiàn)場(chǎng)環(huán)境的視頻圖像了解現(xiàn)場(chǎng)實(shí)際工作情況,在視野之外通過(guò)控制箱操縱水下機(jī)器人,使其完成當(dāng)前的工作任務(wù)。
3.1.1 模型的建立與轉(zhuǎn)換
在OpenGL中很容易實(shí)現(xiàn)模型的各種變換,但是由于OpenGL中并沒(méi)有提供建模的高級(jí)命令,其是通過(guò)基本的幾何圖元——點(diǎn)、線、多邊形來(lái)建立三維模型的,構(gòu)建復(fù)雜模型過(guò)程十分繁瑣。本文利用Pro/E建模軟件建立三維模型,然后轉(zhuǎn)換成OpenGL的C代碼,以實(shí)現(xiàn)水下機(jī)器人的3D姿態(tài)圖。[6,7]
首先利用Pro/E建立水下機(jī)器人的3D姿態(tài)模型并保存為*.igs格式,為了以后設(shè)計(jì)中的導(dǎo)出和導(dǎo)入,還需要利用3DMAX將*.igs模型導(dǎo)成*.3ds格式。關(guān)于如何用OpenGL讀取和操作3ds文件的方法有很多,這里使用view3ds將3ds文件進(jìn)行格式轉(zhuǎn)換,生成水下機(jī)器人模型的OpenGL的C代碼。轉(zhuǎn)換后生成*.gl、*.h文件,*.h文件中定義了模型的材質(zhì)數(shù)組、坐標(biāo)點(diǎn)數(shù)據(jù)集和顯示列表函數(shù)。
3.1.2 仿真模型導(dǎo)入
將view3ds生成的*.h和*.gl兩個(gè)文件復(fù)制到工程中,之后在OpenGL的初始化函數(shù)中調(diào)用*h文件中的顯示列表函數(shù),就可以將核電站水下機(jī)器人模型導(dǎo)入工程中。OpenGL中生成的水下機(jī)器人模型如圖2所示。
圖2 OpenGL中生成的水下機(jī)器人模型
3.1.3 模型姿態(tài)的仿真與控制
水下機(jī)器人模型導(dǎo)入顯示后,利用glRotatef(angle,x,y,x)旋轉(zhuǎn)函數(shù)和glTranslatef(x,y,z)平移函數(shù)可以模擬水下機(jī)器人的前后、左右、上下六個(gè)自由度的航向運(yùn)動(dòng)。利用485串口將傳感器回傳信息與旋轉(zhuǎn)平移中的函數(shù)參數(shù)相對(duì)應(yīng),實(shí)現(xiàn)水下機(jī)器人姿態(tài)在虛擬環(huán)境中的實(shí)時(shí)顯示。
掃描聲納是利用發(fā)射基陣在水中發(fā)射出聲脈沖,通過(guò)這些脈沖產(chǎn)生的回聲對(duì)水下目標(biāo)進(jìn)行測(cè)距。聲納從掃描的各個(gè)方位接收到回波信號(hào),如果在某個(gè)方向上存在障礙物,該方向返回的聲波就會(huì)出現(xiàn)強(qiáng)度的波動(dòng),而不存在物體(背景)和被物體遮擋住的地方波動(dòng)會(huì)非常小甚至沒(méi)有回波。同時(shí),由于水下混響和噪聲的影響,還會(huì)接收到一些無(wú)意義的干擾信號(hào)[8,9]。掃描聲納首先對(duì)信號(hào)進(jìn)行預(yù)處理,然后繪制環(huán)境成像圖。
3.2.1 掃描聲納的信號(hào)預(yù)處理
預(yù)處理可消除大量無(wú)用的信號(hào)和噪聲的干擾,數(shù)據(jù)量會(huì)顯著減少,提高運(yùn)算效率。這里使用閾值法進(jìn)行去噪,根據(jù)回波強(qiáng)度的領(lǐng)域,可以將聲納數(shù)據(jù)的一個(gè)聲像分為目標(biāo)區(qū)域、背景區(qū)域和陰影區(qū)域。根據(jù)回波返回特性可知,信號(hào)采樣閾值的選擇對(duì)目標(biāo)檢測(cè)有重要的影響,如果閾值選擇過(guò)低,會(huì)保留過(guò)多的背景信息,使得目標(biāo)信號(hào)不明顯,甚至?xí)蜎](méi)在背景中;如果閾值選擇過(guò)高反而會(huì)保留過(guò)多的噪聲,并且丟失部分目標(biāo)信息。因?yàn)樗略肼曅盘?hào)一般集中在高頻段,所以在信號(hào)濾波時(shí)我們?cè)O(shè)定上、下兩個(gè)采樣閾值T1和T2,用來(lái)濾除信號(hào)強(qiáng)度較大的噪聲信息和部分信號(hào)強(qiáng)度大于背景區(qū)域和陰影區(qū)域的信息。這里把采樣閾值上限T1設(shè)定在50dB~60dB之間,下限T2設(shè)定在10dB~20dB之間,既可以較好地保留目標(biāo)信息也可以去除部分高強(qiáng)度噪聲的干擾。
3.2.2 掃描聲納的界面設(shè)計(jì)
掃描聲納的界面是根據(jù)圖像生成原理和信號(hào)預(yù)處理后得到的數(shù)據(jù),在MFC中開(kāi)發(fā)實(shí)現(xiàn)的。在Windows窗口繪圖,在DC(Device Content)中進(jìn)行操作,DC保存了輸出設(shè)備上所需繪圖的GDI屬性,負(fù)責(zé)翻譯繪圖操作并將結(jié)果傳送到實(shí)際設(shè)備[10]。在 MFC中,調(diào)用CreateCompatibleDC()函數(shù)創(chuàng)建兼容DC,然后調(diào)用GDI函數(shù)繪制聲納界面和處理后的聲納數(shù)據(jù),最后拷貝到屏幕DC上完成聲納圖形繪制。聲納每完成360°掃描,刷新圖像,把聲納回傳新數(shù)據(jù)顯示在聲納圖中。
根據(jù)上述幾個(gè)功能模塊的實(shí)現(xiàn),在水池內(nèi)進(jìn)行系統(tǒng)調(diào)試試驗(yàn)。系統(tǒng)運(yùn)行結(jié)果如圖3~圖5所示。該實(shí)驗(yàn)表明系統(tǒng)達(dá)到了目標(biāo)要求,能夠完成既定工作任務(wù)。
本文設(shè)計(jì)的基于虛擬現(xiàn)實(shí)技術(shù)的面向核電站水下機(jī)器人的地面站系統(tǒng),可以實(shí)時(shí)對(duì)水下機(jī)器人進(jìn)行運(yùn)動(dòng)控制、調(diào)節(jié)運(yùn)動(dòng)姿態(tài),操控機(jī)械手進(jìn)行水下作業(yè)。基于可視化技術(shù),系統(tǒng)通過(guò)建立水下機(jī)器人的3D姿態(tài)模型,融合掃描聲納、深度計(jì)、多傳感器和前后攝像頭回傳的圖像信息,實(shí)時(shí)動(dòng)態(tài)顯示水下機(jī)器人的姿態(tài)、位置、狀態(tài)信息,從而實(shí)現(xiàn)了水下機(jī)器人在超視距狀態(tài)下的遠(yuǎn)程遙控操作,運(yùn)行效果良好。該系統(tǒng)在核電站檢修、檢查、異物打撈方面有廣闊的應(yīng)用前景。
圖3 水下機(jī)器人3D姿態(tài)及空間位置顯示圖
圖4 掃描聲納成像圖
圖5 前、后攝像頭回傳圖像
[1] Mitsuru O,Yutaka K,Masahiro K,et al.Advanced inspection technologies for nuclear power plants[J].Hitachi Review,2009,58(2):82-87.
[2] 劉青松,張一心,董亞超,等.核電站機(jī)器人技術(shù)應(yīng)用現(xiàn)狀及發(fā)展趨勢(shì)[J].機(jī)器人技術(shù)與應(yīng)用,2011(3):12-16.
[3] Seungho K,Seung 圖 圖,Sung U.Application of robotics for the nuclear power plants in Korea[C]//2010 1st International Conference on Applied Robotics for the Power Industry.Montréal:[s.n.],2010:1-5.
[4] 李聲.多功能水下機(jī)器人:中國(guó),200610089503.6[P].2006-12-13.
[5] Byung-Hak C,Seung-Hyun B,Chang-Hoon S,et al.Underwater robotic system for visual inspection of nuclear reactor internals [J].Nuclear Engineering and Design,2004,231:327-335.
[6] 朱曉林,葉家瑋.基于OpenGL和3DMAX水下機(jī)器人運(yùn)動(dòng)可視化研究[J].科學(xué)技術(shù)與工程,2009,9(24):7528-7529.
[7] 劉一凡,劉國(guó)昌.基于Pro/E的仿真技術(shù)研究與應(yīng)用[J].機(jī)械制造與研究,2007(4):22-23.
[8] Burguera Antoni,Gonzalez Yolanda,Oliver Gabriel.The UspIC:performing scan matching localization using an imaging sonar[J].Sensors,2012,12,7855-7885.
[9] Burguera A,Gonzalez Y,Oliver G.Underwater scan matching using a mechanical scanned imaging sonar[G]//Proceedings of Intelligent Autonomous Vehicles(IAV).Lecce:[s.n.]:2010:6-8.
[10] 何斌,馬天予,王運(yùn)堅(jiān),等.Visual C++數(shù)字圖像處理[M].北京:人民郵電出版社,2001.