伴隨著(zhù)科技發(fā)展、社會(huì )進(jìn)步,人類(lèi)對未知領(lǐng)域的探索不斷深入,能夠代替人類(lèi)進(jìn)行危險、惡劣環(huán)境作業(yè)的遙操作機器人技術(shù)越來(lái)越成為研究的熱點(diǎn)。19世紀40年代,美國阿爾貢國立實(shí)驗室ANL(Argonne National Laboratory)制造的用于核環(huán)境的Model-M1型機械式主從操作手可作為遙操作機器人的發(fā)端。20世紀60年代早期,美國與法國的海軍開(kāi)始在潛水艇上安裝遙操作手和攝像機進(jìn)行深水作業(yè),將遙操作技術(shù)應用于海洋;70年代以后,研制出登陸火星的遙操作機器人;80年代末90年代初,以加拿大SPAR公司建造的20 m長(cháng)的遙操作臂RMS(Remote Manipulator System)為代表出現了幾種非常著(zhù)名的空間遙操作系統。21世紀以來(lái)信息網(wǎng)絡(luò )化的發(fā)展,促使研究者將網(wǎng)絡(luò )和遙操作機器人技術(shù)相結合,為遙操作機器人技術(shù)帶來(lái)了巨大變革[2-4]。當代數字圖像信息作為最重要的信息之一被越來(lái)越廣泛地使用,人們獲取信息的70%來(lái)自視覺(jué)系統,也就是說(shuō)在所有多媒體數據中,圖像提供的信息量最多,將機器人惡劣環(huán)境的作業(yè)情況以圖像的形式實(shí)時(shí)反饋給控制室,控制者通過(guò)圖像獲得更多的現場(chǎng)信息,這種遙操作機器人中的視頻監控技術(shù)獲得廣泛的應用和研究[5-6]。采用進(jìn)一步提高反饋視頻預測精度的H.263壓縮算法,目的就是以盡量少的bit數來(lái)表征圖像,同時(shí)保持復原圖像的質(zhì)量,使圖像在網(wǎng)絡(luò )上傳輸延時(shí)在允許范圍內,避免操作者因延時(shí)產(chǎn)生的誤操作[7-9]。雖然選擇適當的壓縮算法,能夠滿(mǎn)足圖像傳輸要求,可以減輕圖像存儲和傳輸的負擔,但是在工業(yè)生產(chǎn)中需要機器人的精確作業(yè)(如焊接機器人焊接時(shí)焊縫必須精準無(wú)誤)[10-11]。因此,控制命令如何在網(wǎng)絡(luò )介質(zhì)里實(shí)現快速傳輸、準確抵達、實(shí)時(shí)處理,檢測機器人的作業(yè)精確度使機器人能對誤操作及時(shí)做出調整的技術(shù)問(wèn)題成為遙操作機器人領(lǐng)域新的挑戰。 1 系統總體結構 針對以上情況,本文提出采用建立標準坐標系使仿真機器人和反饋視頻在同一界面融合的方法,仿真模型預演作業(yè)任務(wù)而反饋視頻則跟蹤其軌跡進(jìn)行作業(yè),通過(guò)兩者對比及時(shí)發(fā)現機器人作業(yè)情況,一旦越界違規立刻停止。操作者也能根據兩者的比較了解現場(chǎng)環(huán)境,如出現障礙物或機器人傷人事件時(shí),立刻做出下一步命令以避免危險發(fā)生。系統總體結構如圖1所示。具體工作流程:攝像頭采集真實(shí)機器人的視頻數據傳送到服務(wù)器端圖像采集卡的靜態(tài)內存中對其進(jìn)行H.263壓縮,視頻數據壓縮后經(jīng)網(wǎng)絡(luò )傳輸送到客戶(hù)機端?蛻(hù)機對數據進(jìn)行解壓、還原、顯示、在仿真模型界面顯示視頻使兩者融合,同時(shí)客戶(hù)機實(shí)現操作界面程序編寫(xiě)。操作界面包括視頻融合模塊、視頻處理模塊和控制模塊。視頻融合模塊對視頻進(jìn)行相應的坐標變換后使其同仿真機器人在一個(gè)界面上重合顯示。視頻處理模塊包括視頻放大、視頻縮小、視頻保存、打開(kāi)視頻、視頻截圖、存位圖、存JPEG圖、打開(kāi)位圖、打開(kāi)JPEG圖等功能。仿真三維立體模型采用3DSMAX建立,在OPENGL編程環(huán)境下對其進(jìn)行相應的繪制及控制。反饋視頻數據經(jīng)壓縮、傳輸、解壓、相應的坐標變換及比例縮放后在客戶(hù)端顯示。服務(wù)器完成視頻采集、壓縮、存儲、傳輸?蛻(hù)機完成仿真模型控制、解壓、顯示視頻,以及對視頻進(jìn)行相應的放大、縮小、截圖、保存。由于網(wǎng)絡(luò )傳輸存在延時(shí),而且這種延時(shí)除了傳輸指定距離所需的固定延時(shí)及指令執行延時(shí)外,還有一些隨機擾動(dòng)延時(shí),如果這種延時(shí)不能夠及時(shí)發(fā)現,操作者根據視頻反饋會(huì )做出錯誤判斷。根據這種情況在客戶(hù)端繪制接收數據字節曲線(xiàn),可形象直觀(guān)地觀(guān)察到網(wǎng)絡(luò )狀況對視頻傳輸的影響,如圖2所示。 控制模塊如圖3所示,包括每個(gè)關(guān)節的啟動(dòng)、停止按鈕、速度輸出及速度變量輸出顯示。 2 仿真模型建立及視頻融合實(shí)現 2.1 通信建立與視頻傳輸 網(wǎng)絡(luò )通信分為同步方式和異步方式。同步方式是發(fā)送方不等接收方響應,便接著(zhù)發(fā)下一個(gè)數據包的通信方式;異步方式是發(fā)送方發(fā)出數據后,等收到接收方發(fā)回的響應,才發(fā)下一個(gè)數據包的通信方式。本系統開(kāi)發(fā)的是客戶(hù)端/服務(wù)器(C/S)結構的軟件,該軟件是異步非阻塞模式。此模式的優(yōu)點(diǎn)是既可以同步執行,也可以重疊執行。圖像在網(wǎng)絡(luò )中傳輸時(shí),不可避免地要牽涉到傳輸協(xié)議的問(wèn)題。TCP/IP是一組協(xié)議,其中底層的協(xié)議TCP和UDP對于圖像的傳輸起著(zhù)至關(guān)重要的作用。TCP是面向連接的,即在端與端的通信中,TCP協(xié)議建立一條端與端之間的虛電路。UDP是一種面向無(wú)連接的,它取消了重傳校驗機制,能夠達到很高的通信效率,很適合于可靠性要求不高的數據傳輸。由于本機器人系統對視頻的丟幀情況要求不高,故采用客戶(hù)/服務(wù)器模式的UDP協(xié)議方式。視頻傳輸采用UDP傳輸,建立Socket類(lèi)直接傳輸圖像數據,客戶(hù)端調用自寫(xiě)show函數在OPENGL編程環(huán)境下繪制反饋視頻,實(shí)現視頻再現。系統中,使用MFC來(lái)開(kāi)發(fā)通信程序及操作界面。這是因為MFC主要是基于窗口和文檔的應用軟件編程,它集成了大量的數據和方法,將許多煩瑣的任務(wù),如應用程序初始化、文檔處理和磁盤(pán)I/O封裝起來(lái),為使用者的編程帶來(lái)了巨大的方便。 2.2 仿真機器人模型繪制 采用3DSMAX建立MOTOMAN機器人三維仿真機器人模型后,采用Deep Explortation轉換軟件轉換成VC代碼,在VC的工程設置中加入OPENGL的鏈接庫,建立工程并調用轉化的仿真機器人代碼。在創(chuàng )建、裝入、相乘模型變換和投影變換矩陣時(shí)都用到堆棧操作,一般來(lái)說(shuō),矩陣堆棧常用于構造具有繼承性的模型,即由一些簡(jiǎn)單目標構成的復雜模型。MOTOMAN機器人仿真模型中,復雜的機械手臂是由多個(gè)簡(jiǎn)單的長(cháng)方體依據繼承關(guān)系構成的,而這種繼承關(guān)系由矩陣堆棧順序決定。機械手臂、關(guān)節、底座均按照實(shí)際機器人的比例進(jìn)行相應縮放。規定好了底座的坐標系后,其他關(guān)節、手臂則根據自身的立體尺寸就能計算出坐標位置進(jìn)行繪制。本機器人模型由3層支撐底座、4個(gè)旋轉關(guān)節、1個(gè)橫梁、1個(gè)豎柱、手爪及其他一些零部件構成,仿真機器人模型如圖4(a)所示。它的繼承性表現在當末端執行器手爪運動(dòng)時(shí)(如垂直上升),首先是關(guān)節3向上啟動(dòng),然后關(guān)節2向手爪方向轉動(dòng),接著(zhù)是關(guān)節1微轉,整個(gè)機器人垂直平移,如此進(jìn)行下去,整個(gè)機器人協(xié)調配合保持末端執行器(手爪)垂直上升。三維模型在OPENGL中的顯示流程是:世界坐標系中的三維物體經(jīng)三維幾何變換后投影并進(jìn)行三維裁剪及視口變換,最后在屏幕坐標系中顯示圖形。 2.3 視頻融合及控制實(shí)現 仿真機器人底座視點(diǎn)坐標系確定后,視頻機器人根據仿真機器人的大小進(jìn)行縮放繪制,使底座同仿真機器人底座在一個(gè)坐標位置。視頻中機器人的其他部分同底座一樣進(jìn)行相應的映射,因此,初始時(shí)刻視頻和仿真模型的關(guān)節、視角位置是基本重合的。視頻融合界面通過(guò)VC控件SLIDER調節視頻透明度,操作者根據實(shí)際情況選擇清晰度,也可以將反饋視頻設置成完全透明(此時(shí)只能看到模型而看不到視頻)。本仿真機器人在OpenGL三維編程中實(shí)現3DSMAX數據模型的程序控制。3DSMAX是一種簡(jiǎn)便快捷的建模軟件,比同類(lèi)軟件進(jìn)一步完善了建模功能,更側重于復雜模型的建模,可以很容易地用C++和OpenGL結合實(shí)現圖形學(xué)算法,再把本算法作為插件嵌入3DSMAX環(huán)境中,而不用考慮物體模型的生成和處理的復雜代碼,利用3DSMAX的渲染計時(shí)器可以方便地檢驗所編算法的效率和效果[12]。在仿真機器人制作時(shí)應遵循一個(gè)原則:在能夠保證視覺(jué)效果的前提下,盡量采用比較簡(jiǎn)單的模型,而且若能夠用參數化方法構建的對象盡量用參數化方法構建。同時(shí),在模型創(chuàng )作過(guò)程中,對模型進(jìn)行分割、獨立建模,以利于進(jìn)行操作和考察。仿真機器人視頻融合前后對比如圖4所示?刂瞥绦驅(shí)現仿真模型控制,控制過(guò)程是:按下相應操作按鈕,2個(gè)線(xiàn)程同時(shí)運行,1個(gè)線(xiàn)程將控制指令傳送到仿真模型使虛擬機器人運動(dòng),另1個(gè)線(xiàn)程將控制命令通過(guò)網(wǎng)絡(luò )傳輸送到服務(wù)器控制真實(shí)MOTOMAN機器人完成一致作業(yè)。在仿真模型和視頻融合界面中,模型走過(guò)的軌跡在程序中用紅線(xiàn)標定(為方便觀(guān)察者,紅色軌跡線(xiàn)采用10個(gè)像素的粗實(shí)線(xiàn)繪制),反饋視頻隨后跟蹤此軌跡運行,操作者觀(guān)察視頻中機器人的運行情況并判斷運行是否達標及決策下一步。 該視頻融合方法應用于遙操作機器人系統中,能夠使控制者準確判斷機器人作業(yè)精準度,同時(shí)將傳統的遙操作機器人視頻監控及仿真預測相結合,提出將視頻融合應用于遙操作機器人技術(shù)中。實(shí)驗結果表明,這種方法對于精準度要求高的機器人系統非常實(shí)用,將來(lái)可以將該視頻融合方法拓展在搶險救災、災情調查、工程運行、水利監測、城市調查中,除了能對現場(chǎng)完成監測錄像、圖像傳輸等功能外,還可以比較預測與實(shí)際的差異。 |