<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于多種圖像壓縮算法和網絡傳輸技術實現機器人自動控制平臺的設計

電子設計 ? 來源:電子技術應用 ? 作者:付昊桓,戴梅萼, ? 2021-04-08 10:33 ? 次閱讀

作者:付昊桓,戴梅萼,周健,常劍

1 自動控制平臺概述

網絡和多媒體技術飛速發展的今天,通過網絡傳輸的遠程機器人圖像對機器人進行控制已經成了一種可行的技術。利用這種技術,可以對遠程機器人的活動進行檢測,從而獲得實時的信息,再據此向遠端的機器人發出某種命令。但如果由人直接在遠端進行控制,就需要其長時間地通過傳輸過來的圖像監測機器人的行為,同時還要不斷向遠端機器人發送相同的命令。顯然由電腦進行智能化的自動控制更合適。

遠程機器人的自動控制平臺正是基于這種考慮而研制的。本課題組研制的原有的遠程機器人實時圖像傳輸和實時控制系統分為兩個部分:一是遠程機器人站點,二是控制站點。其中遠程機器人站點負責圖像信息的采集、壓縮、傳輸,同時接收控制端發送的命令并執行;控制站點對圖像進行解壓、顯示,同時向遠程機器人站點發送命令。自動控制平臺就是在原有系統的基礎上,在控制站點的應用程序中加上了對遠端傳送過來的圖像進行判斷、并依據判斷自動發送命令的部分。

2 相關技術

2.1 圖像的采集與顯示

在遠程機器人站點,需要對機器人現場進行圖像采集;而在控制端,則需要對機器人的圖像進行顯示。

在本系統的應用程序中,采集和顯示是通過對VFW的調用來實現的。VFW(Video for Windows SDK)是Microsoft公司于1992年推出的被稱為AVICap窗口類函數的系統調用接口。通過VFW的調用,可以通過發送信息或是設置屬性來采集或播放視頻剪輯。如在程序中,調用capCreateCaptureWindow就可以創建一個視頻采集窗口,調用capSetCallbackonFrame就可以設定采集到一幀圖像時的回調函數,在回調函數中可以進一步作顯示或對圖像作其它處理。

VFW只有VC和VB版本,而本系統采用Delphi進行開發,以便獲得Delphi優良的界面功能和多線程機制。為此需要先用Pascal對vfw.h進行改寫,得到在Delphi中可以直接調用的vfw.pas文件。

盡管在編程時使用的是VFW,但是由于程序運行在Windows2000下,實際上驅動程序仍是使用WDM(Windows Driver Model)。WDM也是由Microsoft公司推出的,相對于VFW,在視頻會議、PC/TV等方面有較大優勢。

2.2 圖像壓縮

本系統中采用了多種圖像壓縮算法,以適應多種網絡傳輸環境和實時性要求,其中包括顯示質量好但開銷大的MPEG4,以及開銷小適用于遠程傳輸但網絡傳輸率低的H.26x。此外還有本課題組自行開發的一個Tsinghua H.263壓縮算法,在系統使用時可以根據網絡的情況來進行選擇。如果網絡情況好,則使用顯示質量好的MPEG4,如果網絡不好,則使用開銷小的H.263。

2.3 網絡傳輸的自適應

除了壓縮算法可靈活選擇之外,本課題組還設計了兩種自適應的方法來對傳輸進行調節,以便更好地適應網絡條件。一種是幀頻的自適應,通過調節機器人端視頻發送速率來實現對圖像質量的自適應;另一種是通信帶寬的自適應,通過調節關鍵幀和非關鍵幀的質量來調節單位時間發送的數據量,從而與網絡情況相適應。

2.4 多進程、多線程的使用

本系統可同時控制多個機器人站點。每當連接一個新的遠程機器人站點時,控制站點會自動產生一個新的進程對該機器人站點進行控制。在對一個機器人站點進行控制的進程中,同時會有幾個線程來分別實現幾方面的功能。ChatThread線程負責機器人站點和控制站點之間的文字通信,SyncThread線程則負責兩站點傳送和接收的同步性,最大的也是最主要的DrawThread線程負責圖像的接收、解壓縮以及顯示,同時實現自動控制功能。

2.5 自動控制

如前所述,自動控制包括兩方面:一是對傳送過來的圖像信息進行分析,獲得機器人的實時狀態。二是依據機器人目前所處的狀態發出相應的命令。

對圖像信息進行分析是通過與標準圖像進行比較來實現的,以此來確定機器人是否已經進入了某種狀態。如果發現機器人當前處于某種標準圖像對應的狀態,則控制站點會發出與該狀態相對應的命令。

由于目前機器人不可能有很靈活的細膩的動作方式,所以只需要對幾個關鍵部位(例如頭部、手臂等)的圖像進行比較,即可確定機器人當前的狀態。由此,為標準圖像的存儲和識別提供了有利條件,也為自動控制平臺的設計和實現提供了前提。

3 自動控制平臺的設計與實現

3.1 設計思想

機器人的某一個運動過程一般可以分解為若干個關鍵狀態。當其處于某一狀態時,需要通過向它下達某一種指令才能使之向下一個狀態轉換。因此,可以在某一個文件中存儲完成該運動過程所需要的各個關鍵狀態的圖像信息,并存儲與該狀態相對應的指令。要執行該運動過程時,通過應用程序讀入該文件,獲得各狀態的信息,然后即可開始將實時的圖像信息與關鍵狀態的圖像信息相比較,如果相符,則發出相應命令。實際上,這個文件就相當于一個運行腳本??梢栽谑謩涌刂频倪^程中,制作好這樣的運行腳本。下次要執行同樣的操作時,只需要把這個腳本讀入,就可以實現自動控制功能。

3.2 數據結構

在程序中,建立了一個名為scformat的數據結構,來描述和存放運行腳本。scformat的基本結構如圖1所示。

pIYBAGBubcSAaHguAACDzwHIBdk855.png

一個scformat即對應于一個完整的腳本文件。由于對數據文件采用鏈表方式來組織,所以其中可以含有任意多個標準圖像及其對應的命令。scformat中包含諸如色深/colordepth(1表示8位色,依此類推)、圖像個數/framenum、圖像寬度/framewidth、圖像高度/frameheight等數據塊,datahead、datatail則是數據鏈表的頭尾指針。

一個data則對應于一幅圖像,除了fwidth、fheight、depth這些基本的信息之外,order是一個字符數組,用來存放對應的命令,segnum表示這幅圖像中所截取的幾個最重要的反映機器人基本運動情況的關鍵部分,pnext則指向數據鏈表中的下一個data。對于一個data圖像中截取的各個部分,同樣采用鏈表結構來組織,seghead、segtail則分別指向鏈表的頭尾。

一個seg對應于從圖像中截取的一個關鍵部分,其中,width、height表示該部分的寬度、高度,topx、topy則是該部分左下角在該圖像中的坐標,以適應圖像的數據從左下角開始存儲的規則。segdata指向該部分具體的圖像數據。

圖2是各個結構在圖像上的具體關系。

pIYBAGBubdKAC268AACEhsHhfSI451.png

上述數據結構的優點是其具有充分的多方面的靈活性。因為對應于不同的運動過程的腳本文件可能需要不同數目的標準圖像,而對應于機器人處于不同狀態的圖像,為了反映機器人的運動狀態,也可能需要截取不同數目的關鍵部分。由于上述數據結構的靈活性,對于標準圖像的數據data和圖像中的關鍵部分seg,都采用鏈表結構來組織,所以可以適應各種不同情況。

同時,對于scformat、data、seg這些數據結構,分別提供了各種函數以及過程,使得在進行圖像的截取、腳本文件的存儲、腳本文件的讀取和顯示時都相當方便。

3.3 流程要點

具體的流程分為以下兩個方面:

其一是控制腳本的獲得,由人工進行手動控制實現?;谏厦娴倪@種數據結構,此過程可以準確完成。在此過程中,首先創建一個scformat結構。由于其中的數據是按照鏈表結構組織,所以可以隨時加入標準圖像及相應的命令。同時對于某一幅特定圖像,可以選取圖像中的若干關鍵部分。此過程結束后,可以調用scformat的writescfile,將得到的腳本文件存放到硬盤文件中。

其二是自動控制過程。在進行自動控制時,首先從硬盤上讀入文件,調用readscfile將文件中的數據加入到一個scformat結構中。然后按照這個scformat腳本文件中的數據進行自動控制。由于系統中采用壓縮技術,所以在控制站點取得壓縮包之后,進行解壓,得到實時圖像,然后將實時圖像與運行腳本中的圖像逐個進行比較。如果比較相符,則停止比較,同時將相應的命令傳送給遠端機器人;如果獲得相符的結果,則說明機器人當前不處于任何特定的狀態,所以繼續循環檢測和比較。

4 平臺運行環境

本系統在實驗室中進行了充分的測試和修改,硬件和軟件的環境如下。

硬件環境:

Intel Pentium 4 處理器

nVidia TNT2 M64 圖像顯示卡

Intel ProShare Personal Conferencing 攝像頭,Leadtek WinFast TV2000視頻采集卡

10M/100M自適應網卡,100M以太網

軟件環境:

Microsoft Windows 2000 Advanced Server

Borland Delphi 6.0 (With Update pack 2)

Microsoft Visual C++ 6.0 (Service Pack 5)

5 實際測試

本系統在實驗室中進行了充分的測試。在通常的情況下,對于反映某一運動狀態的圖像,系統默認可以抽取0~5個關鍵部分來反映該狀態的特征。而對于一個運行腳本而言,如果是有序化的簡單腳本(也就是說腳本中的圖像按照要進行的操作順序排列,系統只需將得到的實時圖像與目前應該處于的那一幅圖像進行比較即可),腳本中可以包含任意多幅(在存儲大小滿足的條件下)反映關鍵狀態的圖像;如果是無序的腳本,也就是說系統需將所獲取的圖像與腳本中的所有圖像進行比較以得到當前需要執行的指令。在測試中,腳本包含十幅圖像時,仍能很快得出比較的結果。從測試來看,本系統的關鍵設計思想均是可用的。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制系統
    +關注

    關注

    41

    文章

    6059

    瀏覽量

    109501
  • 機器人
    +關注

    關注

    206

    文章

    27273

    瀏覽量

    202009
收藏 人收藏

    評論

    相關推薦

    基于FPGA EtherCAT的六自由度機器人視覺伺服控制設計

    和增強系統處理圖像的實時性,本文提出了一種伊瑟特的六自由度機器人視覺伺服控制系統,將攝像頭集成到基于 Zynq的伊瑟特主站上,提高了視覺伺服的實時性.經測試,該平臺能夠對視覺檢測目標的
    發表于 05-29 16:17

    【Homidea物聯網】基于WIFI的遠程自動做飯機器人

    結構模擬人手進行抓取,投放,翻炒等動作,通過磁場感應渦流加熱原理對食物進行溫度控制,通過WIFI信號連接網絡服務器,實現物聯網功能,從而達到遠程控制的目的。烹飪
    發表于 12-31 11:07

    2016年德國機器人自動技術貿易博覽會

    ; 。機器人開發平臺與軟件技術:操作系統、開發平臺、仿真技術、測試技術與設備、
    發表于 10-15 16:32

    智能語音機器人

    ;3.可語音控制,可手機控制,可由電腦控制; 4.能夠實時傳回圖像;5.搭載溫度傳感器、濕度傳感器、氣壓傳感器、地磁場傳感器等多種傳感器,能
    發表于 12-02 19:08

    轉:基于i.mx27的機器人視頻監控系統

    的場所,就可以啟用低功耗模式;高清晰且連續的視頻碼流,適合于絕大多數算法應用的需求,便于實現機器人的功能?! 』趇.mx27機器人視頻監控系統也許是眾多
    發表于 07-26 10:27

    辰漢-如何實現服務機器人的運算與控制

    手機端的AR技術,在手機屏幕里可以給機器人加上各種效果,增加娛樂性。還有一些具有特殊用途的機器人,比如掃地機器人,根據內部的路徑算法清潔地面
    發表于 06-09 17:18

    基于深度學習技術的智能機器人

    ——工業機器人的智能化程度要求也越來越高,采用深度學習技術為工業機器人賦能是目前各大廠商的統一認知。本文結合實際案例,簡要說明一下智能機器人實現
    發表于 05-31 09:36

    工業機器人技術原理

    形成的高新技術,是當代研究十分活躍,應用日益廣泛的領域。機器人應用情況,是一個國家工業自動化水平的重要標志?! ?b class='flag-5'>機器人控制系統是
    發表于 11-23 10:40

    如何設計智能滅火機器人控制器?

    應用對象相結合后的系統,其是硬件和軟件緊密捆綁在一起的系統。將嵌入式系統應用于滅火機器人的設計中,對機器人的性能智能化、網絡化、小型化都有了明顯提高。比賽用滅火機器人需要
    發表于 07-31 06:23

    RIO嵌入式控制平臺怎么助力機器人應用?

    自動或半自動機器人常常需要嵌入式控制系統,從而能夠結合高度智能化的確定性控制,并且可以方便地連接到不同的傳感器和執行器上。NI提供了多種嵌入
    發表于 11-06 07:50

    競賽機器人制作技術(電路設計、編程方法、算法解析)

    《競賽機器人制作技術》通過實驗操作的方法向讀者傳授競賽機器人的制作技術,在介紹多種競賽機器人的功
    發表于 12-25 07:00

    服務機器人的視覺系統怎么設計?

    隨著計算機科學和自動控制技術的發展,越來越多的不同種類的智能機器人出現在工廠、生活當中,機器人視覺系統作為智能機器人系統中一個重要的子系統,
    發表于 04-07 07:27

    ABB機器人實訓平臺實驗

    ZN-IRB01ABB機器人實訓平臺一、概述ZN-IRB01ABB機器人實訓平臺包含六自由度工業機器人、傳感器檢測系統、PLC
    發表于 07-01 08:57

    機器人是如何實現運作的呢

    和伺服機構控制的重要部分。因而要了解機器人的運作過程,必然繞不過伺服系統?! ∷欧到y  伺服系統是以變頻技術為基礎發展起來的產品,是一種以機械位置或角度作為控制對象的
    發表于 09-17 08:22

    【IoT畢業設計】樹莓派開發板+機智云IoT+監測機器人

    ItChat設計微信框架ItChat既可以捕獲來自系統、好友和群聊的信息,又可以返回信息,能夠實現信息交互。系統融入了機智云AIoT的設備控制技術、百度AI開放平臺的語音
    發表于 04-27 17:55
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>