何 蕓
(云南交通職業技術學院,昆明 650500)
中國是個蔬菜、水果種植大國,改革開放以來,農村青壯年外出務工,導致農忙時節出現勞動力短缺現象。果蔬種植與農業勞動力短缺之間的矛盾日益突出,而替代勞動力只能通過采摘機器人技術的發展和研究來解決。新時代背景下,以網絡通訊為介質的機器人技術逐漸成為大家研究的熱點。本文采用TCP網絡通訊協議設計的采摘機器人遠程視頻監控系統,能夠實現對遠程視頻監控,可以給果蔬采摘機器人的研究開發帶來一定的促進作用。
TCP/IP協議網絡中傳輸層具有TCP協議及用戶數據報協議(User Datagram Protocol)UDP協議。TCP是一種面向連接的協議,在數據傳輸前,必須建立可靠的連接,多用于對可靠性要求較高的場合。結合系統對視頻數據的要求,視頻圖像的傳輸采用TCP的Socket網絡編程實現。
客戶端發起連接請求,第1次握手,發送初始序號J至服務端,服務端允許連接,確認信號ACK為1。因為已接收到序號為J的數據包,所以下一個接收的數據包序號為J+1,所以返回確認號Ack=J+1,進行第2次握手。同時,發送服務端初始序號K,客戶端接收確認信息準備建立連接,完成第3次握手,向服務器發送序列號K+1。同理,返回確認號也在K的基礎上加1。當數據傳輸完成后,需要斷開連接時,同樣具有一個“4次揮手”的過程。
在建立TCP連接的過程中,必須經過“3次握手”,而斷開連接,則需要4次揮手。3次握手過程示意圖如圖1所示;4次揮手過程示意圖如圖2所示。

圖1 3次握手過程示意圖Fig.1 The schematic diagram of the three handshake process

圖2 4次揮手過程示意圖Fig.2 The schematic diagram of the four wave process
第1次揮手,客戶端發送FIN報文,關閉客戶端到服務端的數據的發送,客戶端進入半關閉狀態;第2次揮手,當服務端接收FIN成功后,此時,服務端到客戶端的數據發送功能還未關閉,服務端仍可發送數據,發送應答與序號,其確認號Ack=M+1與3次握手數據傳輸原理相同;第3次揮手,服務端發送FIN報文,關閉服務端的數據發送功能,服務端進入半關閉狀態;第4次揮手,客戶端收到FIN報文后,進入等待狀態,同時發送應答、確認號,服務端進入完全關閉狀態。
TCP通信協議的Socket網絡編程,如圖3所示。

圖3 TCP的Socket網絡編程過程Fig.3 Socket network programming process of TCP
采摘機器人遠程視頻監控系統包含PC機、環境監測攝像頭和采摘機器人等部分,系統整體框架如圖4所示。

圖4 采摘機器人遠程視頻監控系統結構Fig.4 The structure of remote video monitoring system for picking robot
遠程視頻監控系統的PC機是整個系統的監測中心,負責對采摘機器人的行走、作業進行實時監控;環境監測攝像頭布置在采摘機器人作業環境周邊;采摘機器人由ARM控制器、機器人運動結構、紅外測距傳感器、USB攝像機和無線網絡組成。
采摘機器人遠程視頻監控系統,可以為采摘機器人提供周邊環境信息,為其正常的作業進行巡航、監測和報警等監測。采摘機器人可以采用無線通訊方式將PC機實時發送視頻圖像信息,以及接收和執行PC機發送的控制指令信息。
采摘機器人遠程視頻監控系統主要負責整個系統的圖像采集、數據傳輸和對機器人的預警等控制,其硬件結構是實現采摘機器人遠程視頻圖像采集、圖像處理、接收和執行PC機發送的控制指令信息的基礎,是整個控制系統的載體。根據系統需求,采用模塊化的思想進行設計,通過無線網絡保持和PC的實時信息共享,根據上位機設定的程序,對采摘機器人作業過程進行調整和控制,并實時將數據信息發送給PC機。采摘機器人遠程視頻監控系統的硬件結構如圖5所示。

圖5 采摘機器人遠程視頻監控系統的硬件結構圖Fig.5 Hardware structure of remote video surveillance system for picking robot
采摘機器人遠程視頻監控系統的硬件主要包括EXYNOS4412處理器、SDRAM、Nand Flash、USB攝像頭、電源管理單元、無線路由器、網絡通訊模塊和PC機等。
結合采摘機器人遠程視頻監控系統對硬件的要求,選用的微處理器單元必須要具備成本低、體積小、運算速度快、性能卓越、穩定性高,以及功耗低等特點。ARM架構微處理器性能參數比較如表1所示。
通過對各個內核體系和微處理器運行速度和性價比,可以看出:采用Cortex-A9內核的Exynos4412性價比和處理速度較高,能夠滿足采摘機器人遠程視頻監控系統對硬件的要求。因此,本文選用韓國三星公司的Exynos4412作為系統的核心。

表1 ARM架構微處理器性能參數比較Table 1 Comparison of performance parameters of ARM ARCHITECTURE MICROPROCESSOR
Exynos4412是一款基于ARM Cortex-A9內核體系的四核微處理器,每個核心的運行頻率都有1.4GHz,最高可達1.6GHz,運算能力達到2000DMIPS;另外,該處理器配備了64kB一級緩存(D/L Cache)以及1MB二級緩存(L2 Cache),可以實現更高主頻的高性能運算能力。該芯片支持MMU和內存映射管理,具有更高的主頻和更豐富的外設,具有穩定性強、可靠性高、能適用于對性能和處理能力有更高要求的嵌入式系統應用場合,適用于對CCD攝像機采集到的視頻圖像信息的處理與傳輸。Exynos4412內部資源如圖6所示。

圖6 Exynos4412內部資源圖Fig.6 The internal resource diagram of Exynos4412
Exynos4412微處理器的主要優勢包括:CPU主頻可達1.6GHz*4核;內存:1GB+DDR3,FCK頻率:400MHz;閃存4GB eMMC,最高可擴展為16GB;網口為1個10/100M自適應以太網RJ45接口(采用DM9621);串口為2個DB9式RS232串口(另有4個TTL電平串口);USB為USB Host 2.0接口。
采摘機器人遠程視頻監控系統軟件設計主要包括圖像采集、行走控制和傳感器信息采集等,設計流程如圖7所示。

圖7 采摘機器人遠程視頻監控系統軟件設計流程圖Fig.7 Software design flow chart of remote video surveillance system for picking robot
采摘機器人遠程視頻監控系統的圖像獲取包括采摘機器人USB攝像頭和環境監測攝像頭組兩部分,二者實現了對USB攝像和有線連接攝像頭的圖像采集。采摘機器人自身搭載的USB攝像頭可以自主旋轉,能夠對對作業環境進行自動化圖像掃描;另外,環境監測攝像頭組在上下90°及左右270°內進行旋轉掃描,實現多方向的機器人作業環境的圖像采集。
1)交叉編譯環境的搭建。嵌入式系統的交叉開發是在PC機上完成Linux系統的Bootloader、Kernel和fs文件系統,然后下載移植到目標板運行。本文選用內核版本是Linux3-14,交叉工具鏈版本為gcc-4.6.4。其安裝流程如下:
Step1:解壓工具鏈壓縮包;
Step2:在環境變量文件中添加已解壓的工具鏈路徑;
Step3:測試該工具鏈是否安裝正確,安裝成功后繼續進行后面的流程。
2)Linux系統內核的裁剪。Linux系統內核是整個嵌入式平臺運行的基礎,為了讓系統在Exynos4412平臺上穩定的運行,對Linux內核需要進行一定程度的裁剪。將linux-3.14.tar.xz 拷貝到/home/linux 下并解壓,然后運行make menuconfig,并在配置菜單中依次對CPU、NANDFlash、Netwoking、USB,以及ramdisk 文件系統等進行配置與裁剪,配置過程不再贅述。
3)文件系統的移植。本系統采用RamDisk作為嵌入式系統的fs文件系統,實際上是從內存中劃出一部分作為一個分區使用,換句話說,就是把內存一部分當作硬盤使用,方便用戶存放文件。RamDisk文件系統制作流程如下:
Step1:下載并配置busybox工具;
Step2:編譯、安裝、新建RamDisk文件系統所需目錄;
Step3:添加庫,添加inittab、fstab、init.d和profile等系統啟動文件;
Step4:將busybox得到的文件夾制作一個大小為8M 的鏡像文件,然后進行格式化、創建initrd目錄作為掛載點、將鏡像文件掛載到/mnt/initrd下、復制到ramdisk目錄下,最后進行格式化為uboot 識別的fs文件系統格式。
遠程視頻監控系統通過采摘機器人自身的USB攝像頭采集作業環境的圖像信息,該攝像頭驅動采用Linux3.14內核中的視頻驅動模型V4L2驅動程序。該驅動最大的優勢是可以自定義驅動緩沖數量,另外用戶空間需要V4L2的操作,可以針對性地在底層實現相應的驅動。USB攝像頭圖像采集流程如圖8所示。

圖8 USB攝像頭圖像采集流程圖Fig.8 USB camera image acquisition flow chart
為了驗證采摘機器人遠程視頻監控系統是否符合設計要求,是否滿足遠程監測功能,在某獼猴桃種植區進行了實際采摘作業,驗證其是否具有可行性。結果表明:PC機的監測軟件可以實現USB攝像頭和環境監測攝像頭畫面的切換,能夠實現拍攝圖片和錄制食品等功能;另外,還可以根據監測到的環境信息,控制機器人進行避障運動。PC機監測軟件實際監測畫面如圖9所示。

圖9 PC機監測軟件實際監測畫面Fig.9 The actual monitoring picture of PC monitoring software
試驗表明:PC機的監測軟件可以實現USB攝像頭和環境監測攝像頭畫面的切換,可以根據需求旋轉攝像頭,已拍攝多方位的環境圖片;另外,該軟件還可以根據環境狀況控制采摘機器人的運動狀態,驗證了系統的可行性和可靠性。
采摘機器人遠程視頻監控系統運用了嵌入式、Linux技術、圖像采集和無線網絡傳輸技術,將視頻監控系統應用于采摘機器人中,可以實現對采摘過程的實時監控,并能及時對作業中的緊急狀況進行處理。采用TCP網絡通訊協議,搭載高性能的EXYNOS4412微處理器,并結合Linux操作系統,實現了采摘機器人遠程視頻監控系統。試驗測試表明:PC機的監測軟件能夠從多方位拍攝采摘環境圖片,還可以根據環境狀況控制采摘機器人的運動狀態,驗證了系統的可行性和可靠性。