• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

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

      0 引言

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

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

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

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

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

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

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

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

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

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

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

      3 軟件設(shè)計

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

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

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

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

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

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

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

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

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

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

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

      3.4 水面控制平臺程序設(shè)計

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

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

      Fig.6 Water platform control program flow圖6 水面平臺控制程序流程

      4 實驗與分析

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

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

      接著測試通信系統(tǒng),連接電腦,分別進(jìn)行串口通信測試以及網(wǎng)絡(luò)調(diào)試,完成后訪問水下機器人地址。圖7、圖8為調(diào)試界面,圖9、圖10 為測試結(jié)果和實物圖。水下機器人控制界面包含指示燈、電池剩余電量、系統(tǒng)延時、LED 燈亮度、鐳射燈開關(guān)、定深狀態(tài)、艏向以及攝像頭畫面等功能。通過手機和PC 在陸上環(huán)境中測試,對水下機器人進(jìn)行控制。通過持續(xù)觀察視頻畫面,發(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)行實驗,將水下本體放入水中進(jìn)行運動姿態(tài)測試及系統(tǒng)數(shù)據(jù)傳輸測試,水下本體由上位機通過水面通信模塊控制。根據(jù)操作者離通信模塊的遙控距離測試系統(tǒng)丟包率等性能,數(shù)據(jù)如表2 所示。與文獻(xiàn)[15]水下機器人無線遙控數(shù)據(jù)收發(fā)性能相比,在遙控距離同為20m 的情況下,丟包率從5% 提升到3.7%。

      Fig.10 Robot ontology圖10 機器人本體

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

      5 結(jié)語

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

      猜你喜歡
      終端設(shè)備微控制器串口
      淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
      視頻監(jiān)視系統(tǒng)新型終端設(shè)備接入方案
      物聯(lián)網(wǎng)技術(shù)在微控制器實驗教學(xué)中的應(yīng)用
      電子制作(2017年14期)2017-12-18 07:07:58
      配電自動化終端設(shè)備在電力配網(wǎng)自動化的應(yīng)用
      電子制作(2016年15期)2017-01-15 13:39:12
      車站信號系統(tǒng)終端設(shè)備整合及解決方案
      USB接口的多串口數(shù)據(jù)并行接收方法探索
      基于藍(lán)牙串口適配器的GPS接收機與AutoCAD的實時無線通信
      地礦測繪(2015年3期)2015-12-22 06:27:26
      Atmel針對新一代物聯(lián)網(wǎng)應(yīng)用發(fā)布全新32位微控制器
      最新STM32設(shè)計工具增加對混合信號微控制器的支持
      基于并行控制的FPGA多串口拓展實現(xiàn)
      夏津县| 洞头县| 湘阴县| 弥渡县| 阳西县| 白玉县| 临漳县| 海晏县| 白水县| 永靖县| 左贡县| 扎鲁特旗| 呼伦贝尔市| 如东县| 铁岭市| 印江| 吉木萨尔县| 白沙| 武定县| 舞阳县| 浦江县| 呼伦贝尔市| 喜德县| 尼木县| 益阳市| 西丰县| 安化县| 太白县| 连城县| 军事| 临武县| 奇台县| 武安市| 秭归县| 景谷| 沂源县| 特克斯县| 聊城市| 盐源县| 读书| 上犹县|