色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

基于WLAN和LAN的混和組網實現移動機器人遠程控制系統的設計

電子設計 ? 來源:電子技術應用 ? 作者:陳洋 , 陸宇平 ? 2020-04-22 08:00 ? 次閱讀

近年來,隨著無線網絡技術的發展和日益成熟,利用WLAN和LAN的混和組網,使基于網絡的機器人遠程控制成為一個熱門的研究領域。

本文設計了一套移動機器人遠程控制系統。該系統可用于如時延網絡環境下控制系統的穩定性理論、實時控制系統的網絡通信協議、基于事件驅動方式的網絡系統控制策略、目標識別技術等方面的研究。

1、 硬件環境

被控的機器人采用了美國Activmedia Robotics公司的P3-DX多功能智能移動機器人。它配備了車載計算機(裝有無線網卡、視頻采集卡)、帶抓手的5自由度手臂、水平轉動/傾斜攝像頭及4組共16個聲納。

在實驗室內搭建了無線網絡環境, 無線路由器通過其廣域連接端口連接到校園網,并能通過校園網訪問Internet,從而構成了一個廣域網系統。機器人通過其車載計算機上的無線網卡與實驗室內的無線局域網互聯,從網絡的任何節點都可以遠程控制機器人。

2、 機器人實時遠程控制系統的設計

本機器人遠程控制系統以實時性及可靠性為前提進行設計。

2.1 基本結構

如圖1所示,整個遠程控制系統由遠程控制平臺、本地控制系統兩部分組成。整套軟件系統建立在Windows2000上。

基于WLAN和LAN的混和組網實現移動機器人遠程控制系統的設計

圖1 系統結構圖

基于WLAN和LAN的混和組網實現移動機器人遠程控制系統的設計

如圖2左半部分所示,整個遠程控制平臺分為控制區和狀態反饋區。在控制區,用戶通過圖形化控制接口觸發指令發送模塊中的相應指令,并按照命令包的協議進行封包(根據所設計的通信協議,可以選擇是否進行加密和壓縮),通過網絡發送給本地控制系統。

狀態反饋區負責接收從本地控制系統實時發送過來的機器人狀態反饋信息和視頻數據并顯示。

2.3 本地控制系統

如圖2右半部分所示,整個本地控制系統分為控制執行區和反饋發送區。

在控制執行區,當收到命令包并解包后,可以選擇進行命令包的實時性檢查,然后通過指令轉發模塊將指令轉發:如果是基本的控制指令則直接通過ARIA接口發送給機器人;如果是高級任務指令則轉發給高級任務模塊,調用高級任務模塊中對應的子模塊進行控制,由它發送一系列的命令給機器人。

在反饋發送區,系統定時接收從串口發來的機器人狀態數據并打包發送給遠程控制平臺,同時采集現場的視頻數據,并進行壓縮編碼,然后根據視頻數據包的協議打包發送到遠程控制平臺。此外狀態和視頻數據將作為高級任務模塊的輸入數據來源。圖2中的心跳包用于處理通信異常斷開的情況。

3 、關鍵技術

3.1 采用UDP協議

TCP協議提供了可靠的數據傳輸,但是其擁塞控制、數據校驗、重傳機制的網絡開銷很大,不適合實時通信,所以選擇開銷很小的UDP協議來傳輸數據。

UDP協議是無連接的數據傳輸協議并且無重傳機制,會發生丟包、收到重復包、亂序等情況。而對于數據精確性要求不高的狀態數據以及視頻數據,丟包的影響不大。因為會不斷收到新的包,丟失的個別包會有新的包來覆蓋,所以只需在遠程控制系統的通信部分自行處理亂序及重復包的問題,而對于丟包的問題一般不作處理。

但對于命令包這種需要精確收發的數據, 可在程序的開發中加入丟包重發和超時丟棄的處理。

當然,如果開發的是對于實時性要求不高的事件型控制命令的傳輸,不希望發生指令的丟失也可以直接采用TCP協議。TCP的重傳機制正好適合這種情況。

3.2 使用非阻塞套接字結合多線程進行通信

整個系統的通信部分采用Winsock API進行開發,摒棄了其他遠程控制系統中多采用的阻塞字加多線程的編程模式,而使用了非阻塞套接字并采用了異步事件選擇I/O模型。這是因為非阻塞套接字能更好地在非占先的Windows環境下工作,而阻塞套接字在性能上要差一些。基于整個系統的實時性要求,采用了非阻塞的套接字。

由于狀態數據和視頻數據的收發量大而且頻繁,所以仍需采用多線程技術將數據的收發放到子線程中,否則將影響主線程的運行。

3.3 本地控制系統中的高級任務模塊的作用

位于本地控制系統中的高級任務模塊使得本地控制系統具有自動避障、目標識別、自主漫游等高級任務的決策能力。這一設計的實質是將屬于遠程控制的復雜控制功能下放到本地控制系統實現。如圖2所示,只需從遠程控制平臺發出啟動某高級任務指令給本地控制系統,本地控制系統的高級任務模塊調用相應的子模塊并以本地實時更新的狀態數據和視頻數據作為輸入數據進行處理,實時發出一系列的指令給機器人,便可完成特定的任務。

該設計雖然增加了車載計算機的運算負荷,但是由于可以直接在本地實時收到狀態數據以及視頻數據,既避免了將這些數據發送到遠程控制平臺以及控制指令發回到本地控制系統所需的網絡時延,又降低了網絡的不可預測性造成的系統不可靠性,從而加快了系統的控制響應速度,保證了控制的實時性。同時也提高了遠程控制平臺操作的集成度、機器人的自主性和系統的可靠性。

3.4 心跳包的使用

圖2中的心跳包用于處理通信異常斷開的情況,例如突然斷電、網絡中斷等。心跳包是一個非常小的數據包,包里只包含時間戳、包的序號等信息,并使用UDP協議傳輸。遠程控制平臺每隔一定的時間(如1分鐘)就向本地控制系統發送一個心跳包。當本地控制系統收到該包,只需簡單地將該包發回來以表明它收到了這個包。

如果遠程控制平臺在超過一定的時間(如3分鐘)沒有收到已發送的心跳包的回包,就可以認為本地控制系統和遠程控制平臺已經異常斷開,從而停止發送心跳包,并立即啟動緊急處理模塊,執行如操作人員發出警報、重新建立網絡連接或者重新啟動遠程控制平臺等應急功能。

如果本地控制系統在一定的時間(如3分鐘)內都沒有收到從遠程控制平臺發來的心跳包,就可以認為本地控制系統已經與遠程控制平臺異常斷開,從而立即啟動本地控制系統中的緊急處理模塊,由該模塊發出如停止機器人或啟動自主控制程序的指令給機器人。同時如果網絡未斷,將恢復監聽網絡上的連接請求,以等待建立新的連接。

通過使用心跳包使系統的應急處理能力得到提高,從而提升了整個系統的可靠性。

3.5 應用層協議的設計

根據實時性要求,包的大小應盡可能小,以減少帶寬的占用,所以整套應用層傳輸協議的設計應該力求簡潔。以下的協議都是建立在UDP傳輸協議之上。

(1)命令包協議

|包頭|時間戳|序列號|命令|參數類型|參數|校驗和|包尾|

(2)狀態包協議

|包頭|時間戳|序列號|狀態數據塊|校驗和|包尾|

(3)心跳包協議

|包頭||時間戳|序列號|校驗和|包尾|

(4)視頻數據協議

|包頭|時間戳|序列號|同一時間戳數據塊數量|數據塊序號|數據塊|校驗和|包尾|

在以上協議中:時間戳用于實時性檢查;序列號用于丟包的檢測和統計;校驗和用于檢查包的完整性。

以上所設計的協議具有可擴展性,可根據設計要求增減字段。例如當需要考慮信息傳輸的安全性,可加入加密字段;當不考慮延時,可刪除時間戳字段等。

3.6 自適應實時視頻傳輸方案

現有的遠程視頻監控系統多采用RTP/RTCP協議(實時傳輸協議),它是因特網上針對多媒體數據流的一種傳輸協議。RTP是一種封裝協議,用于對多媒體數據塊進行封裝,然后用下層傳輸協議(如UDP)進行傳輸。RTCP封裝的是發送端或者接收端的統計報表。發送多媒體數據的端將根據接收到的RTCP反饋信息調整視頻數據傳輸質量。

但是針對本機器人遠程控制系統,該協議并不完全合適。由于該遠程控制系統是一對一的傳輸模式,只傳輸視頻數據而無其他多媒體數據流,所以具有特殊性。而RTP協議具有一般性,它的很多字段并不適合該系統。例如關于數據源的同步以及關于組播的部分,由于不斷發送RTCP包將占用有限的網絡帶寬,不如直接在遠程控制平臺進行丟包統計并在視頻質量明顯變化時發送調節視頻質量的命令給本地控制系統。根據這一思路,本系統以RTP協議的基本思想為基礎,針對系統的特殊性開發了一套自適應實時視頻傳輸方案。

如圖3所示,本地控制系統將采集的一幀視頻數據使用MPEG4或M-JPEG協議進行壓縮編碼;然后按照一定的大小(一般比MTU稍微小點,因為IP和UDP包頭要占用一定的字節數)對編碼后的視頻數據進行分塊,并使用視頻數據協議進行數據塊的封裝;最后使用UDP協議發送到遠程控制平臺。其中時間戳用于表明這些數據塊屬于同一視頻幀,數據塊序號用于表明該數據塊在此幀中的位置。

由于UDP協議的不可靠性會引發包的亂序、重復包以及丟包等情況,所以遠程控制平臺采用多級緩存池接收視頻數據。該緩存池是一個可以容納0.2s~0.4s視頻數據的多級緩存,每一級是一個緩存鏈表,用于存儲具有相同時間戳的所有數據塊。

該多級緩存池的基本算法是:

(1)當接收到的數據塊的時間戳在多級緩存中不存在時:如果該時間戳比緩存中最舊的時間戳要新,則在多級緩存池中插入屬于該時間戳的緩存鏈表,在該鏈表中加入該數據塊,并刪除時間戳最舊的數據鏈表;如果該時間戳比緩存中最舊的時間戳還要舊,就丟棄該數據塊。

(2)當接收到的視頻數據塊的時間戳在多級緩存中存在時:檢查該時間戳對應緩存鏈表,通過該數據塊序號判斷該數據塊是否存在該時間戳的緩存鏈表中。若不存在就加入該數據塊,否則丟棄。

(3)當接收到的數據塊使得同一時間戳的視頻數據完全收到,就將其解碼并顯示,然后釋放包括該時間戳在內的、所有小于該時間戳的緩存鏈表。

視頻的壓縮標準采用MJPEG或者MPEG4。MJPEG屬于幀內編碼,傳輸中發生丟幀不會影響其他的幀;而MPEG4屬于幀間編碼,傳輸中發生丟幀,特別是關鍵幀的丟失將嚴重影響其他幀的完整。所以在實際的系統設計中,如果網絡的通信狀況很好,則選擇MPEG4,因為它的壓縮比高;如果網絡的通信狀況很差,則選擇MJPEG,雖然壓縮比相對較小,但是發生丟幀時不會影響其他幀。

在接收視頻數據的同時,應根據時間戳和序列等進行視頻傳輸狀況統計,主要是丟包及延時統計。根據統計信息,當視頻傳輸狀況發生了明顯變化時,就發送調節視頻質量的命令給本地控制系統:

(1)當傳輸的狀況變差(如丟包、延時嚴重等)時就給本地控制系統發送降低視頻質量的命令,使其降低視頻采集的頻率或者提高壓縮比率。至于是降低視頻采集的頻率還是提高壓縮比率,將根據當前機器人的移動速度來決定:當機器人移動較快時,并不需要非常高的畫面質量,所以優先采用提高圖像壓縮比率的方法。當只提高壓縮比率效果不明顯時,再同時采用降低視頻采集頻率的方法;當機器人移動速度很慢時如抓取東西時,需要更高的視頻清晰度,此時優先采用降低視頻采集頻率的方法。當只降低視頻采集頻率效果不明顯時,再同時采用提高壓縮比率的方法。

(2)同理,如果傳輸的狀況較好,則可以發送提高視頻質量的命令給本地控制系統,根據移動速度決定采取優先提高視頻采集的頻率或者優先降低壓縮比率的方法來提高視頻的質量。

4、 機器人遠程控制系統開發庫

4.1 目的與用處

提供一套使開發者擺脫編程細節的、快速開發的、模塊化的、可擴展的機器人遠程控制開發庫,可以方便研究人員進行軟件的開發,降低其在軟件編程方面的重復勞動。

4.2 設計原則

(1)采用面向對象的思想,以C++類進行設計,并將類封裝到動態鏈接庫中。

(2)開發庫具有多選擇性,使開發庫的使用者有多種技術可選,如提供多種視頻編碼庫。

(3)在類中對多線程進行封裝 ,并加入線程的同步,使類具有線程安全性。

(4)函數中的算法要力求效率高、運算速度快,以減少因為占用過多的計算時間造成的網絡時延。

(5)類中定義的接口應設計完整,不可隨便改動,以保證今后升級和擴展時接口的一致性。

(6)類的代碼要多采用基本C/C++標準庫函數來開發,而盡量不要使用依靠平臺的如MFC庫,以方便移植到Linux平臺。

4.3 開發庫CyLib介紹

圖4是依照以上設計原則設計的機器人遠程控制系統開發庫CyLib的類層次圖。該庫由4個動態鏈接庫文件組成:CyCore.dll、CyTools.dll、CyRobot.dll、CyGUI.dll。其中基類加陰影顯示,其他的為派生類。

圖4 開發庫的類層次圖

圖5 遠程控制平臺

CyCore.dll封裝了應用層數據包協議、遠程控制命令、數據傳輸接口、延時及丟包模擬等。

CyRobot.dll包含了對機器人編程接口ARIA的封裝、控制指令的執行、狀態數據的輪詢和發送、視頻的采集壓縮發送以及色彩識別、漫游等智能控制功能等。

CyTools.dll提供了一系列的工具類用于輔助研究人員的程序開發。其中包含線程進程同步類、時間類、算術類、日志功能、壓縮解壓縮、加密解密、視頻采集等。

CyGUI.dll提供了圖形化顯示類,如多功能按鈕、地圖生成、聲納圖形顯示等。

5、 開發實例

根據以上的系統結構設計并利用開發庫CyLib,開發了一套P3-DX機器人遠程控制系統。圖5展示了機器人遠程控制平臺的控制現場。該平臺實現了機器人本體、機械臂和攝像頭的控制、狀態數據的顯示、聲納羅盤數據圖形化顯示、視頻監控以及自動漫游、色彩識別等智能控制功能。機器人本地控制系統的軟件開發為車載計算機的一個Windows2000常駐服務程序。它實現了命令的解析和中轉、智能任務控制的執行、狀態及視頻數據的采集、打包、發送等功能。

本機器人遠程控制系統開發庫目前還不夠完善,需要繼續改進和擴展。最后介紹的開發實例基本達到了設計的要求,但是部分高級任務如機械臂智能控制、自主控制等尚未完成,需要進一步加以研究和開發。

責任編輯:gt


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

    關注

    2

    文章

    660

    瀏覽量

    73514
  • 控制系統
    +關注

    關注

    41

    文章

    6697

    瀏覽量

    111198
  • 機器人
    +關注

    關注

    212

    文章

    28933

    瀏覽量

    209705
收藏 人收藏

    評論

    相關推薦

    一種小型移動機器人控制系統研究

    一種小型移動機器人控制系統研究
    發表于 08-20 15:53

    移動機器人運動控制系統設計及控制算法研究

    移動機器人運動控制系統設計及控制算法研究
    發表于 08-20 15:54

    Labview My RIO 移動機器人

    初次使用 NI MyRIO控制器開發四輪全向移動機器人,由四個全向輪和直流電機與增量式編碼器和NI 9001控制器組成,安裝了紅外距離和光電傳感器。驅動板由官方提供的H橋驅動板。NI 9001由
    發表于 08-21 12:20

    基于FPGA怎么實現三輪全方位移動機器人運動控制系統

    研究了一種用FPGA技術實現三輪全方位移動機器人運動控制系統的方法,與雙DSP結構,DSP+CPLD結構,以及DSP+專用集成電路結構等相比,該方法具有簡單可靠,擴展性強等特點。且FPGA設計簡單,使用方便,開發周期短,能夠
    發表于 10-22 07:35

    如何實現移動機器人的設計?

    ,導航技術,計算機技術,人工智能等多個領域,因而對移動機器人控制部分提出很高的要求,特別是視覺傳感器的出現,要求控制系統不僅存儲量大,而且處理速度快等。以往基于PLC和單片機控制
    發表于 11-23 15:08

    請問怎么設計一種室外移動機器人組合導航定位系統

    怎么設計一種室外移動機器人組合導航定位系統?如何實現室外移動機器人組合導航定位系統的硬件設計?如何實現
    發表于 04-19 10:50

    什么是移動機器人軟硬件系統問題

    的實踐經驗,來系統的梳理一下什么是移動機器人軟硬件系統問題。文中涉及到的開源項目網站地址如下:開源項目網站Handsfree
    發表于 08-06 06:13

    移動機器人的三種主要運動系統

    構建機器人 | 制作移動機器人 | 構建第一個機器人 | 機器人電子 | 機器人控制器 |
    發表于 09-01 08:12

    【科普】干貨!帶你從0了解移動機器人(三) ——自主導航系統及上位機軟件設計與實現

    移動機器人外部調度軟件和管理平臺調度軟件和管理平臺是指在上位機(服務器)上實現的軟件,用于對移動機器人進行遠程管理和控制。 通過調度軟件
    發表于 06-28 09:36

    基于無線局域網的移動機器人遠程控制系統

    針對Pioneer3-AT移動機器人的特點,基于無線局域網設計并實現了一種移動機器人遠程控制系統。簡要介紹了系統的工作原理及
    發表于 08-06 11:41 ?40次下載

    PLC的漿液下移動機器人控制系統

    PLC的漿液下移動機器人控制系統   摘要:結合漿液下移動機器人系統的功能要求及PLC的特點,構建了槳液下移動機器人
    發表于 04-21 17:58 ?842次閱讀
    PLC的漿液下<b class='flag-5'>移動機器人</b><b class='flag-5'>控制系統</b>

    ARM的移動機器人遠程控制

    設備、Android手機和Android平板的使用己非常廣泛。為了更加便于人們對遠程設備的使用,本文設計了基于ARM的移動機器人遠程控制系統。該系統主要由搭載了嵌入式的
    發表于 02-12 15:20 ?0次下載

    如何使用Web移動機器人控制系統研究及Java實現資料說明

    以WMR- 1 型移動機器人為實驗對象, 應用Java 技術, 構建了包括HTTP 服務器、圖像服務器、機器人服務器和數據服務器的自主移動機器人遠程控制系統, 可以為Internet
    發表于 03-05 17:22 ?5次下載
    如何使用Web<b class='flag-5'>移動機器人</b><b class='flag-5'>控制系統</b>研究及Java<b class='flag-5'>實現</b>資料說明

    移動機器人控制系統設計與仿真

    移動機器人控制系統的作用是生成控制信息,控制機器人的執行機構進行運動。跟蹤設定軌跡是設計
    發表于 06-12 14:49 ?3748次閱讀
    <b class='flag-5'>移動機器人</b><b class='flag-5'>控制系統</b>設計與仿真

    移動機器人控制系統的發展方向?

    在對國內外移動機器人控制系統的常見類型進行全面的剖析后,得知移動機器人技術涵蓋了控制技術、電子技術、傳感技術以及信息處理技術等多項領域。對此,在此
    發表于 06-12 15:19 ?1568次閱讀
    主站蜘蛛池模板: 久久精品一区二区三区资源网 | 朝鲜美女bbwbbw撒尿 | 娇妻归来在线观看免费完整版电影 | 久热在线这里只有精品7 | 又硬又粗又大一区二区三区视频 | 在公交车上被JB草坏了被轮J了 | 精品一品国产午夜福利视频 | 四库影院永久国产精品 | 免费在线视频一区 | 99无人区码一码二码三 | 精品国产自在现线拍国语 | 青春禁区动漫免费观看 | 精品亚洲午夜久久久久 | 特黄AAAAAAA片免费视频 | 日韩精品卡1卡2三卡四卡乱码 | 放射源分类办法 | 青青青久久久 | 恋孩癖网站大全在线观看 | 捆绑白丝粉色JK震动捧喷白浆 | 国产人妻精品久久久久久很牛 | 国产精品免费大片一区二区 | 婷婷亚洲五月色综合久久 | 男生脱美女内裤内衣动态图 | 欲香欲色天天影视大全 | 亚洲欧美自拍清纯中文字幕 | 国产亚洲精品AAAAAAA片 | 男人扒开添女人下部口述 | 欧美含羞草免费观看全部完 | 国产精品久久久久久免费播放 | 另类重口bdsm日本tv | xxxxx中国明星18 | 久久er99热精品一区二区 | 国产 在线 亚洲 欧美 动漫 | 欧美日韩中文在线字幕视频 | 日韩欧美 亚洲视频 | 久久亚洲伊人中字综合精品 | 一抽一出BGM免费50分动漫 | 91精品国产高清久久久久久 | ai换脸女明星被躁在线观看免费 | aa级毛片毛片免费观看久 | 国产亚洲精品久久综合阿香蕉 |