亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        便攜式水下機(jī)器人系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        2021-02-04 06:53:38
        軟件導(dǎo)刊 2021年1期
        關(guān)鍵詞:終端設(shè)備微控制器串口

        (江蘇科技大學(xué)電子信息學(xué)院,江蘇鎮(zhèn)江 212000)

        0 引言

        水下機(jī)器人種類(lèi)很多,在不同研究領(lǐng)域應(yīng)用廣泛,本文研究一種超小型水下機(jī)器人,屬于ROV(Remotely Oper?ated Vehicle,ROV)系統(tǒng)[1]。ROV 系統(tǒng)一般分為水上控制終端、臍帶纜和水下機(jī)器人本體[1]。臍帶纜負(fù)責(zé)給水下潛體供電并作為水上水下通信信道,包括視頻信號(hào)、數(shù)據(jù)及控制命令。目前設(shè)計(jì)的水下機(jī)器人具備水下探測(cè)和簡(jiǎn)單作業(yè)能力,但是整體平臺(tái)設(shè)備繁瑣,通過(guò)岸上多根線纜連接,需要攜帶較重的控制箱,只能通過(guò)固定操作實(shí)現(xiàn)控制[2];文獻(xiàn)[3]實(shí)現(xiàn)一種基于串口通信的水下機(jī)器人平臺(tái),分別通過(guò)RS232 接口和RS485 實(shí)現(xiàn)控制端、轉(zhuǎn)換器和水下本體之間的數(shù)據(jù)傳輸。雖然通信效果良好,但視頻與數(shù)據(jù)、控制信號(hào)采用不同線纜,增加了成本,視頻信號(hào)易受干擾;文獻(xiàn)[4]設(shè)計(jì)的小型水下機(jī)器人集成多種功能,通過(guò)遠(yuǎn)程控制可完成基本的偵察和清障任務(wù),通過(guò)簡(jiǎn)化設(shè)計(jì)降低成本與功耗,但是控制平臺(tái)軟件不夠完善。本文設(shè)計(jì)的系統(tǒng)實(shí)現(xiàn)水下視頻信號(hào)、數(shù)據(jù)和控制命令一體化傳輸,利用陸上無(wú)線網(wǎng)絡(luò)傳輸技術(shù)的便捷性,設(shè)計(jì)一種更加靈活方便的水面控制系統(tǒng),可由手機(jī)或電腦控制,適用于個(gè)人在水下拍攝與觀察。

        1 系統(tǒng)總體設(shè)計(jì)

        本系統(tǒng)整體框架采用水下線纜、水上無(wú)線方式實(shí)現(xiàn)機(jī)器人本體與控制終端之間的通信與控制,主要由水下機(jī)器人本體、水面通信浮標(biāo)、水上控制終端以及交互軟件組成,系統(tǒng)整體架構(gòu)如圖1 所示。水下機(jī)器人本體通過(guò)接收經(jīng)過(guò)水面通信浮標(biāo)轉(zhuǎn)化后的控制命令完成水下運(yùn)動(dòng),并將視頻信號(hào)和數(shù)據(jù)信號(hào)傳輸至通信浮標(biāo)并顯示在終端設(shè)備上。通信浮標(biāo)放置于水面,通過(guò)線纜與機(jī)器人本體連接,以無(wú)線方式與終端設(shè)備連接,負(fù)責(zé)本體與控制終端的協(xié)議轉(zhuǎn)換、信號(hào)處理與轉(zhuǎn)發(fā)。水上控制終端負(fù)責(zé)接收視頻與傳感器數(shù)據(jù),并控制機(jī)器人運(yùn)動(dòng)和攝像頭拍攝。

        Fig.1 System overall architecture圖1 系統(tǒng)總體架構(gòu)

        水下機(jī)器人本體通過(guò)100m 的輕型系繩與水面通信浮標(biāo)連接建立通信,將系繩轉(zhuǎn)換為以太網(wǎng)電纜連接無(wú)線模塊,以便輕松連接到控制端,其中系繩線通過(guò)使用接口板和USB 電纜轉(zhuǎn)換為以太網(wǎng)電纜。纜繩在本體和控制端之間來(lái)回傳輸數(shù)據(jù),包括測(cè)量數(shù)據(jù)和視頻以及操作命令。為實(shí)現(xiàn)視頻信號(hào)、數(shù)據(jù)和命令一體化傳輸系統(tǒng),在水面平臺(tái)和機(jī)器人本體之間搭建一個(gè)局域網(wǎng),將視頻信號(hào)、傳感器采集的數(shù)據(jù)、控制信號(hào)共用同一鏈路同時(shí)傳輸,減少系統(tǒng)線纜和視頻電路硬件。視頻信號(hào)經(jīng)過(guò)水面通信浮標(biāo)處理后傳輸至終端設(shè)備,處理數(shù)據(jù)信號(hào)時(shí)采用串口服務(wù)器將主控制器輸出轉(zhuǎn)化為以太網(wǎng)信號(hào),然后通過(guò)通信浮標(biāo)傳輸?shù)浇K端設(shè)備,最后將控制命令處理后發(fā)送到串口服務(wù)器,轉(zhuǎn)換為串口信號(hào)傳輸?shù)街骺刂破?。終端設(shè)備與水下機(jī)器人本體IP 地址建立連接,即可與該設(shè)備建立通信,對(duì)水下潛體進(jìn)行控制。通信系統(tǒng)結(jié)構(gòu)如圖2 所示。

        Fig.2 Communication system structure圖2 通信系統(tǒng)結(jié)構(gòu)

        2 硬件結(jié)構(gòu)

        2.1 水下機(jī)器人本體

        機(jī)器人本體由主控模塊、傳感器模塊、電源模塊和機(jī)械動(dòng)力模塊組成,其中控制模塊主要負(fù)責(zé)接收水下傳感器傳送的數(shù)據(jù),直接控制水下機(jī)器人硬件(推進(jìn)器、LED 燈、高清攝像頭、攝像頭微伺服、紅外遙感),是機(jī)器人控制中心,核心控制板包括Beagle Bone Black(以下簡(jiǎn)稱BBB)開(kāi)發(fā)板及Arduino Mega2560[5-6]。

        Arduino 微控制器連接到BBB。BBB 是機(jī)器人系統(tǒng)大腦,使用Node.js 運(yùn)行系統(tǒng)軟件,接收命令并轉(zhuǎn)發(fā)給水下機(jī)器人硬件。用戶從控制端發(fā)送BBB 命令,由Arduino 微控制器處理后執(zhí)行。Arduino 微控制器負(fù)責(zé)將電機(jī)命令轉(zhuǎn)發(fā)到每個(gè)電機(jī)(速度/方向),并接收遙測(cè)數(shù)據(jù)供用戶在控制設(shè)備上查看。Arduino 微控制器具有較高的時(shí)間精度,能有效處理脈沖寬度調(diào)制(PWM)信號(hào)。除Arduino 微控制器外,還使用3 個(gè)電動(dòng)速度控制器(ESC)控制水下機(jī)器人本體中的電機(jī)。電子穩(wěn)定控制系統(tǒng)可改變電子馬達(dá)的速度和方向。通過(guò)使用ESC,用戶在操作機(jī)器人時(shí)不需要考慮每個(gè)電機(jī)的方向或精確轉(zhuǎn)速,只需發(fā)送一個(gè)命令信號(hào)即可。根據(jù)指令信號(hào),Arduino 為每個(gè)電子穩(wěn)定控制系統(tǒng)分配相應(yīng)的電機(jī)操作和轉(zhuǎn)速。

        其它硬件包括推進(jìn)器、LED 燈、高清攝像頭、攝像頭微伺服、紅外遙感、IMU 姿態(tài)傳感器和電池。HitecHS-81 伺服系統(tǒng)控制攝像頭傾斜角度,使用無(wú)刷電機(jī)作為系統(tǒng)推進(jìn)器,型號(hào)為T(mén)urnigy Aerodrive DST-700kv。

        系統(tǒng)采用3 個(gè)推進(jìn)器實(shí)現(xiàn)水下機(jī)器人上升、下降、前進(jìn)、左移和右移運(yùn)動(dòng)[6]。水平方向布局兩個(gè)推進(jìn)器,分別為左舷馬達(dá)和右舷馬達(dá),垂直方向布局一個(gè)推進(jìn)器。姿態(tài)傳感器型號(hào)為IMU:BNO055,壓力傳感器為MS5837,傳感器最大工作壓力為30 bar(435 psi,水深200m),擁有自動(dòng)校準(zhǔn)羅盤(pán)功能,適用于磁北優(yōu)化的IMU 輸出[8],可以平滑顯示滾動(dòng)和俯仰。通過(guò)I2C 提供水下機(jī)器人深度、導(dǎo)航航向、水溫和加速度計(jì)/陀螺儀遙測(cè),在終端設(shè)備界面顯示。

        2.2 水面通信浮標(biāo)與水上控制終端

        用于操控和監(jiān)測(cè)水下機(jī)器人的水面通信浮標(biāo)硬件結(jié)構(gòu)較為簡(jiǎn)單,主要由頂部通信盒、無(wú)線路由器、顯示和操作的終端設(shè)備組成。頂部通信盒組件包含電源管理模塊和以太網(wǎng)通信模塊,主要負(fù)責(zé)將鋰電池輸出電壓分別轉(zhuǎn)換為12V、5V 和3.3V,為水下潛體各種設(shè)備器件進(jìn)行供電,并提供以太網(wǎng)RJ-45 接口與無(wú)線路由器進(jìn)行通信。無(wú)線路由器通過(guò)AP 模式將終端設(shè)備接入局域網(wǎng),把有線網(wǎng)絡(luò)轉(zhuǎn)換為無(wú)線網(wǎng)絡(luò),使用DHCP 與水下機(jī)器人以太網(wǎng)連接。水下本體DHCP 服務(wù)器分發(fā)IP 地址并充當(dāng)DNS 服務(wù)器,從而正確解析終端設(shè)備上輸入的IP 地址,以便操作人員方便地控制水下機(jī)器人和觀察水下情況。水上控制終端包括用于控制機(jī)器人運(yùn)動(dòng)的手柄,以及用于顯示控制界面的手機(jī)或PC,對(duì)手柄按鍵進(jìn)行編碼控制。水下本體發(fā)送到通信浮標(biāo)的傳感器數(shù)據(jù)和視頻信號(hào)通過(guò)手機(jī)或PC 的無(wú)線串口接收并顯示。

        3 軟件設(shè)計(jì)

        3.1 系統(tǒng)軟件工作流程

        系統(tǒng)硬件核心主要是BBB 及以Arduino Mega2560 為核心的主控板,這兩個(gè)硬件核心編程語(yǔ)言并不相同,其中Beagle Bone Black 整體使用Node.js 開(kāi)發(fā)[7],而Arduino Mega2560 主要開(kāi)發(fā)語(yǔ)言為C 或C++。

        為了讓BBB 請(qǐng)求Arduino 執(zhí)行命令,必須在客戶端、BBB 和Arduino 微控制器之間建立事件驅(qū)動(dòng)編程。通俗地說(shuō),事件驅(qū)動(dòng)程序是為響應(yīng)用戶或系統(tǒng)生成的操作而編寫(xiě)的程序[8],這些動(dòng)作包括點(diǎn)擊鼠標(biāo)、按鍵或移動(dòng)操縱桿。本系統(tǒng)客戶端、BBB 和Arduino 微控制器都以不同語(yǔ)言運(yùn)行,圖3 為系統(tǒng)客戶端、BBB 和Arduino 微控制器之間的簡(jiǎn)單信號(hào)流。每個(gè)事件循環(huán)包含多個(gè)代碼文件,用于定義用戶觸發(fā)的函數(shù)和任務(wù),執(zhí)行某些代碼文件,如按鍵含義、電機(jī)狀態(tài)、馬達(dá)輸出功率等。

        Fig.3 Workflow system software圖3 系統(tǒng)軟件工作流程

        3.2 通信系統(tǒng)程序設(shè)計(jì)

        在控制信號(hào)與數(shù)據(jù)信號(hào)通信協(xié)議設(shè)計(jì)中,主控板與整個(gè)局域網(wǎng)之間采用串行服務(wù)器通信,采用串行通信協(xié)議方式實(shí)現(xiàn)。在水下機(jī)器人通信系統(tǒng)中數(shù)據(jù)是逐幀發(fā)送的,其中每一幀數(shù)據(jù)包含一個(gè)字節(jié)。為解決發(fā)送數(shù)據(jù)有多個(gè)字節(jié)情況,在發(fā)送前用指針存放實(shí)際值,把數(shù)據(jù)信號(hào)分為若干字節(jié)再打包發(fā)送,接收時(shí)再還原。在單片機(jī)程序中,主控板與終端設(shè)備通信協(xié)議相同,以減少信號(hào)處理的復(fù)雜度。后臺(tái)主程序是一個(gè)重復(fù)過(guò)程,從數(shù)據(jù)和控制信號(hào)的處理然后驅(qū)動(dòng)機(jī)器人運(yùn)動(dòng),再將數(shù)據(jù)打包發(fā)送給水上控制端,前臺(tái)串口利用自動(dòng)中斷接收命令,程序結(jié)構(gòu)如圖4 所示。

        Fig.4 Control signal program structure圖4 控制信號(hào)程序結(jié)構(gòu)

        通信系統(tǒng)程序主要由水控平臺(tái)上運(yùn)行的客戶端程序和服務(wù)器端運(yùn)行的服務(wù)器程序兩部分組成??蛻舳伺c服務(wù)端程序之間的傳輸協(xié)議為T(mén)CP/IP,建立連接之后,通過(guò)UDP 維持長(zhǎng)時(shí)間通信[9]。程序流程如下:客戶端認(rèn)證成功后,持續(xù)獲取水下機(jī)器人通信模塊的IP 地址,確保每一次IP 變化都能檢測(cè)到,然后定時(shí)打包發(fā)送。等到服務(wù)器收到后確認(rèn)并返回消息,接著更新域名映射關(guān)系,如果失敗則重復(fù)這個(gè)流程。服務(wù)器會(huì)持續(xù)檢測(cè)發(fā)送過(guò)來(lái)的數(shù)據(jù)包并負(fù)責(zé)不斷更新,保證收發(fā)雙端的IP 地址與域名相對(duì)應(yīng),如圖5 所示。

        Fig.5 The client and server workflow圖5 客戶端與服務(wù)器工作流程

        3.3 傳感器模塊與數(shù)據(jù)管理程序設(shè)計(jì)

        水下機(jī)器人傳感器數(shù)據(jù)采集模塊非常重要,該模塊可獲取水下環(huán)境的各種參數(shù)(包括溫度、深度、機(jī)器人俯仰角和偏航角等),這些數(shù)據(jù)是水下勘探必須獲取的基本數(shù)據(jù)。數(shù)據(jù)采集模塊分為慣性測(cè)量單元模塊和深度數(shù)據(jù)采集模塊,以I2C 串行總線開(kāi)發(fā),使用函數(shù)及流程如下:Wire.begin(adderss)初始化地址,請(qǐng)求數(shù)據(jù)發(fā)送,使用wire.read()讀取發(fā)送的數(shù)據(jù)。調(diào)用Transmission()建立雙方連接,執(zhí)行程序后調(diào)用write()發(fā)送數(shù)據(jù)至MCU,寫(xiě)入數(shù)據(jù)后進(jìn)一步計(jì)算處理,最終得到傳感器測(cè)得的具體數(shù)值。

        3.4 水面控制平臺(tái)程序設(shè)計(jì)

        水面控制平臺(tái)軟件設(shè)計(jì)包括操作水下機(jī)器人的人機(jī)交互界面和控制系統(tǒng),是控制水下機(jī)器人的核心,并且基于最新的Web 標(biāo)準(zhǔn)與微控制器配合使用,為系統(tǒng)提供遠(yuǎn)程機(jī)器人控制。工作時(shí)可以很快連接到移動(dòng)設(shè)備、平板電腦和PC 上,無(wú)需安裝,在瀏覽器中可錄制和觀看視頻以及遙測(cè)數(shù)據(jù),可更改電機(jī)配置,增加游戲手柄、鍵盤(pán)和操縱桿控制選項(xiàng),可添加插件,配置陀螺儀/加速度計(jì)以保證水下運(yùn)動(dòng)的穩(wěn)定性。

        基于上述網(wǎng)絡(luò)協(xié)議,使用Socket 編程完成水面控制平臺(tái)程序設(shè)計(jì)。Socket 是應(yīng)用層與TCP/IP 協(xié)議族通信的中間軟件抽象層,是一組接口[10],應(yīng)用流程如圖6 所示。水面平臺(tái)首先建立并初始化Socket()函數(shù),設(shè)置為非阻塞,在后臺(tái)持續(xù)監(jiān)聽(tīng)整個(gè)網(wǎng)絡(luò)。收到水下機(jī)器人本體connect()請(qǐng)求后,水面平臺(tái)調(diào)用accept()函數(shù)接收請(qǐng)求,雙方建立連接。機(jī)器水下本體控制器執(zhí)行客戶端指令,隨后發(fā)送數(shù)據(jù),水面控制端采集客戶端數(shù)據(jù)進(jìn)行后續(xù)處理。

        Fig.6 Water platform control program flow圖6 水面平臺(tái)控制程序流程

        4 實(shí)驗(yàn)與分析

        首先測(cè)試各個(gè)模塊硬件的性能和工作情況,包括推進(jìn)器、電子速度控制器(ESCS)、LED、紅外激光以及網(wǎng)絡(luò)攝像頭云臺(tái)。此外,測(cè)試和調(diào)試外殼框架、電子艙、無(wú)線模塊等硬件結(jié)構(gòu),確保外殼耐水性和整體機(jī)械結(jié)構(gòu)合理性[11-14]。確保水面的無(wú)線模塊穩(wěn)定性,數(shù)據(jù)和電源傳輸線纜連通且互不干擾。完成硬件平臺(tái)搭建后,對(duì)上述模塊工作情況進(jìn)行調(diào)試。水下機(jī)器人各項(xiàng)指標(biāo)如表1 所示。

        Table 1 Robot the attributes and indicators表1 機(jī)器人各項(xiàng)屬性與指標(biāo)

        接著測(cè)試通信系統(tǒng),連接電腦,分別進(jìn)行串口通信測(cè)試以及網(wǎng)絡(luò)調(diào)試,完成后訪問(wèn)水下機(jī)器人地址。圖7、圖8為調(diào)試界面,圖9、圖10 為測(cè)試結(jié)果和實(shí)物圖。水下機(jī)器人控制界面包含指示燈、電池剩余電量、系統(tǒng)延時(shí)、LED 燈亮度、鐳射燈開(kāi)關(guān)、定深狀態(tài)、艏向以及攝像頭畫(huà)面等功能。通過(guò)手機(jī)和PC 在陸上環(huán)境中測(cè)試,對(duì)水下機(jī)器人進(jìn)行控制。通過(guò)持續(xù)觀察視頻畫(huà)面,發(fā)現(xiàn)視頻能流暢持續(xù)顯示,并且延遲穩(wěn)定在140ms,切換拍攝角度未出現(xiàn)卡頓現(xiàn)象。

        Fig.7 A serial port debug interface圖7 串口調(diào)試界面

        Fig.8 Network debug interface圖8 網(wǎng)絡(luò)調(diào)試界面

        Fig.9 Control interface圖9 控制界面

        最后在水池中進(jìn)行實(shí)驗(yàn),將水下本體放入水中進(jìn)行運(yùn)動(dòng)姿態(tài)測(cè)試及系統(tǒng)數(shù)據(jù)傳輸測(cè)試,水下本體由上位機(jī)通過(guò)水面通信模塊控制。根據(jù)操作者離通信模塊的遙控距離測(cè)試系統(tǒng)丟包率等性能,數(shù)據(jù)如表2 所示。與文獻(xiàn)[15]水下機(jī)器人無(wú)線遙控?cái)?shù)據(jù)收發(fā)性能相比,在遙控距離同為20m 的情況下,丟包率從5% 提升到3.7%。

        Fig.10 Robot ontology圖10 機(jī)器人本體

        Table 2 The wireless remote control test results表2 無(wú)線遙控測(cè)試結(jié)果

        5 結(jié)語(yǔ)

        本文設(shè)計(jì)了一套便攜式超小型水下機(jī)器人平臺(tái),通過(guò)實(shí)驗(yàn)測(cè)試驗(yàn)證了該系統(tǒng)性能。通過(guò)在機(jī)器人本體中嵌入一個(gè)B/S 架構(gòu)的Web 服務(wù)器,基于TCP 協(xié)議進(jìn)行Socket編程完成數(shù)據(jù)傳輸,使用數(shù)據(jù)和控制命令一體化傳輸和無(wú)線網(wǎng)絡(luò)傳輸方法實(shí)現(xiàn)水下機(jī)器人通信與控制。研究表明,在硬件結(jié)構(gòu)簡(jiǎn)單的情況下,建立局域網(wǎng)能有效實(shí)現(xiàn)水下機(jī)器人通信。與其它平臺(tái)相比,本設(shè)計(jì)具有體積小、成本低、便于攜帶、易于操作等特點(diǎn),適于不同操作系統(tǒng)的終端設(shè)備,無(wú)需使用體積較大的控制箱。但本系統(tǒng)在軟件優(yōu)化方面還存在不足,后續(xù)需要豐富系統(tǒng)功能,增加更多傳感器,在軟件上實(shí)現(xiàn)自主控制,提升系統(tǒng)智能化,使水下機(jī)器人遠(yuǎn)距離工作時(shí)狀態(tài)更加穩(wěn)定。

        猜你喜歡
        終端設(shè)備微控制器串口
        淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
        視頻監(jiān)視系統(tǒng)新型終端設(shè)備接入方案
        物聯(lián)網(wǎng)技術(shù)在微控制器實(shí)驗(yàn)教學(xué)中的應(yīng)用
        電子制作(2017年14期)2017-12-18 07:07:58
        配電自動(dòng)化終端設(shè)備在電力配網(wǎng)自動(dòng)化的應(yīng)用
        電子制作(2016年15期)2017-01-15 13:39:12
        車(chē)站信號(hào)系統(tǒng)終端設(shè)備整合及解決方案
        USB接口的多串口數(shù)據(jù)并行接收方法探索
        基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無(wú)線通信
        Atmel針對(duì)新一代物聯(lián)網(wǎng)應(yīng)用發(fā)布全新32位微控制器
        最新STM32設(shè)計(jì)工具增加對(duì)混合信號(hào)微控制器的支持
        基于并行控制的FPGA多串口拓展實(shí)現(xiàn)
        欧美性受xxxx黑人猛交| 国产午夜视频在线观看免费| 久久精品中文字幕| 亚洲精品乱码久久久久久蜜桃不卡| 色 综合 欧美 亚洲 国产| 一本久道久久综合婷婷五月| 18无码粉嫩小泬无套在线观看| 国产伦精品一区二区三区视| 国产人成亚洲第一网站在线播放| 精品视频一区二区杨幂| 国产精品高清视亚洲乱码| 内射人妻视频国内| 久久国产成人午夜av影院| 国产又黄又爽视频| 午夜无码无遮挡在线视频| 天堂网av在线免费看| 四虎国产成人永久精品免费| 国产乱子伦农村xxxx| 成人无码午夜在线观看| 日本五十路熟女在线视频| 国产一区二区三区白浆肉丝| 久久精品国产99久久久| 人与禽交av在线播放| 亚洲在AV极品无码天堂手机版| 精品国产福利一区二区三区| 国内嫩模自拍偷拍视频| 国产成人精品无码免费看| 亚洲熟女乱色综合亚洲图片| 四月婷婷丁香七月色综合高清国产裸聊在线 | 青青草国产成人99久久| 白白色发布永久免费观看视频| 少妇高潮免费在线观看| 亚洲美女毛片在线视频| 色婷婷综合久久久久中文字幕| 夜夜综合网| 亚洲码无人客一区二区三区| 日本a爱视频二区三区| 亚洲 中文 欧美 日韩 在线| 人妻忍着娇喘被中进中出视频| 亚洲男人堂色偷偷一区| 日韩精品高清不卡一区二区三区 |