《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Zedboard的視覺導航除草機器人控制系統設計
基于Zedboard的視覺導航除草機器人控制系統設計
2014年電子技術應用第6期
肖志遠,杜啟亮,田聯房,秦傳波,張 勤
華南理工大學 自動化科學與工程學院,廣東 廣州510640
摘要: 現階段水田除草大部分采用農藥噴灑方式,這樣會對環境造成污染。詳細討論了水田除草機器人控制系統的分析設計及實現過程,該系統采用Zedboard為控制核心,上位機通過ZigBee向機器人發送指令,驅動電機完成指定動作。重點研究設計了人機交互界面及視頻遠程監控。實驗效果表明,該控制系統具有良好的動態響應特性,穩定性強。
中圖分類號: TP271.4
文獻標識碼: A
文章編號: 0258-7998(2014)06-0027-03
The design of visual navigation of weeding robot control system based on Zedboard
Xiao Zhiyuan,Du Qiliang,Tian Lianfang,Qin Chuanbo,Zhang Qin
School of Automation Science and Engineering,South China University of Technology,Guangzhou 510641,China
Abstract: Paddy field weeding methods at this stage were most of the use of pesticides spraying.This method will cause pollution to the environment. The paper discussed the analysis,design and implementation process of the robot control system.The system uses Zedboard as the control core. PC sends instructions to the robots through ZigBee,and drives motor to complete the specified action. This paper focuses on the designs of human-computer interaction interface and remote video monitoring. Experimental results show that the control system has good dynamic response and strong stability.
Key words : paddy field weeding robot;Zedboard;motor drive;remote monitoring;control system

       水田除草機器人是指具備人工智能識別功能、能夠通過圖像或者其他傳感器對雜草的具體情況進行識別并能夠通過推理判斷以產生具體的指令來指示機械除草機構進行除草的一種智能裝置[1]

        隨著工業機器人的發展,一些發達國家(如日本、美國等)紛紛展開農業機器人的研究和開發并已經取得了一些階段性成果。但由于一些經濟特殊性的問題,還沒有達到實用化的程度。日本發明了一種小型水田除草機器人,它體積很小,由電池供電,完成一次除草作業后,可通過轉彎的方式換到另一除草位置進行下一輪除草作業[2]。我國也開始了農業機器人的研究,南京林業大學的陳勇等發明了一種高效除草機器人,它是由自動導航和雜草識別攝像裝置、行間切割涂抹與行內除草機構以及控制系統組成[2]的。

1 機器人控制系統整體設計

1.1 控制系統需求分析

        根據除草機器人所要完成的功能可將系統劃分為如圖1所示的控制框圖。由圖可以看出,控制系統主要分為三大部分:第一部分為上位機監控部分;第二部分為運動控制部分;第三部分為視頻采集及識別部分。

        (1)上位機監控部分:此部分主要實現對機器人的實時控制和合理操作。上位機要與運動控制部分進行數據通信[3]

        (2)運動控制部分:此部分主要負責接收上位機命令,并負責將這些數據進行判斷解析,將其轉換為電機控制信號來完成機器人的運行。

        (3)視頻采集方案:此部分要實時采集水田秧苗圖像,并將圖像實時傳到PC,從而可以在PC上用瀏覽器來實時觀察圖像。因此,這里采用WiFi是非常合適的。

1.2 系統主控方案

        本設計采用Zynq-7000平臺,Zynq-7000實現了雙核Cortex-A9 MPcore和最新的28 nm 7系列可編程邏輯的緊密集成。Zynq芯片內部可以分為PS(Processing System)和PL(Programmable Logic)兩部分,ZedBoard是基于Xilinx ZynqTM-7000擴展式處理平臺的低成本開發板。它的可擴展接口使得用戶可以方便訪問處理系統和可編程邏輯,創建獨特而強大的設計[4-5]

2 機器人控制系統實現

2.1 上位機部分

        利用VC++6.0開發了除草機器人的人機交互界面,開發類庫是基于MFC的對話框設計的,通過ZigBee實現了上位機與Zedboard的通信。人機交互界面如圖2所示,主要分為3部分來控制。通過手柄和界面上的按鈕發送指令和數據。

        行走電機是通過M0和M1編輯框中的數值設置速度大小,運動方向可由Up和Down來控制,注意這里不選擇Select按鈕。

        在圖2所示界面中,選中Select,這時,為控制4個推桿電機,鉤選R1、R2、1、2、3、4、L1、L2、Up、Down、Left、Right選項,每兩個選項控制一個推桿電機,如R1控制一號推桿的前進,R2控制一號推桿的后退,推桿復位、設置p參數、解除復位這3個按鈕用于4個推桿電機初始化的設置。

2.2 運動控制部分

2.2.1 運動控制部分結構框圖

        運動控制部分結構框圖如圖3所示。

        Zedboard通過ZigBee接收從上位機來的數據,通過增量式PID算法整定控制PWM波形。Zedboard作為帶FPGA的處理器,利用FPGA的邏輯資源十分有意義。本文將介紹產生一路PWM發生器的IP核,如果要產生多路PWM發生器,對FPGA來說僅僅是多消耗一些邏輯資源而已,其過程是一樣的。

        在Zedboard中運行Linux系統,要使用本設計FPGA的IP核,必須為這個IP核開發Linux系統上的設備驅動,使得運行在Linux系統上的應用程序可以使用這個驅動程序與FPGA端進行通信,從而控制PWM的輸出。

2.2.2 增量式PID算法

        PID算法廣泛應用于控制系統中,本系統使用增量式PID算法,即:

       

 

        增量式PID的輸出只與當前拍和前兩拍的誤差有關,因此累積誤差相對更小。上式中,e(n)對應給定和反饋的偏差,u(n)對應著輸出。增量式PID輸出的是控制量增量,并無積分作用,因此該方法適用于執行機構帶積分部件的對象,如電機等[6]。由于增量式PID輸出的是控制量增量,當控制板出現故障時,誤動作影響較小,而執行機構本身有記憶功能,可保持原位,不會嚴重影響系統的工作。

2.2.3 PWM模塊的IP核設計

        在Zynq上制作用戶IP核需要考慮如何與PS交換數據。有兩種方案,一種是EMIO交換數據,一種是制作滿足AXI協議的IP核。通常采用第二種方案。Xilinx為用戶提供了Wizard,它會自動生成總線(AXI)相關的代碼,做好地址譯碼邏輯、讀寫控制邏輯,并在用戶工作區生成一些寄存器。本設計中的PL邏輯通過讀寫這些寄存器與PS交互[4]

        由于Zedboard運行的系統使用了FPGA資源,因此所開發的IP核必須在原有的工程里加入新的IP核,重新生成新的bit流文件,打開適合自己ise版本的官方demo,xps系統工程位于hw\xps_proj文件夾下,打開這個xps工程。在xps中單擊Hardware->Create or Import Periphera進入歡迎界面,按照自己的要求定制IP核,完成IP核制作的向導[4]

        接下來把這個IP核添加進xps工程,在IP Catalog中的USER選項中找到它,雙擊添加到系統中,然后在Bus Interface中,分別修改MPD、添加接口、修改HDL sources[7-8]。修改完畢后,在project菜單中選擇Rescan User Repositories,從port中可以看到新添加的引腳,選擇為External Ports把引腳引出去。分配地址,修改ucf約束文件,產生bit流文件。導入到SDK中,新建一個fsbl工程,重新生成BOOT.BIN文件。這樣用戶IP核的部分就完成了。

2.2.4 Linux下PWM模塊驅動程序的開發

        Linux提供了內核模塊機制,模塊本身不被編譯入內核映像,從而控制了內核的大小,模塊一旦被加載,它就和內核中的其他部分完全一樣。驅動程序是從來不主動運行的程序,而且等待應用程序來調用。應用程序通過內核來調用驅動程序[9],實現與實際硬件設備的通信。一般分為字符設備、塊設備和網絡設備3種類型[10]。需為上面生成的IP核進行字符設備驅動的開發。

        PWM模塊驅動程序主要分為4個部分:加載函數,卸載函數,設置PWM的周期函數,設置PWM的占空比函數[4]

        (1)加載函數,主要完成以下幾項工作:內核注冊設備驅動,創建PWM設備類,利用利用PWM設備類創建一個PWM設備,在PWM設備中創建周期和占空比兩個文件,將PWM模塊的物理地址映射到虛擬地址上[4]

        (2)卸載函數,這個主要是在rmmod模塊時完成清除的工作,注銷設備。

        (3)設置pwm的周期函數,修改前關閉pwm模塊,將數值寫入到寄存器中。

        (4)設置pwm的占空比函數,修改前關閉pwm模塊,將數值寫入到寄存器中。

        完成了pwm驅動程序的編寫后,需要對驅動程序進行編譯,驅動程序的編譯依賴于內核,這就和一般的應用程序不同了。因此除了要在Linux主機下安裝交叉編譯工具之外,還要編譯和運行與Zedboard板子上的內核版本一樣的內核,然后編寫Makefile。Makefile中必須指定內核所在的路徑,在這個Makefile的幫助下運行make即可生成編譯模塊。

2.3 視頻采集方案

2.3.1 搭建嵌入式Web服務器

        Web服務器是連接在網絡上提供Web訪問服務的一種設備/程序。在Zedboard上運行一個提供Web服務的程序,使得Zedboard成為一個可以提供Web訪問服務的設備,這里選擇Boa服務器。

        下載與移植Boa服務器,這里需要修改源碼目錄下的一些文件以及已經發現的一些bug。

        配置Boa服務器,在源碼目錄下找到boa.conf,在其基礎上做出自己的修改,配置Boa服務器。

        在編譯配置完Boa服務器后,就需要在Zedboard上進行部署,完成相關的設置,保證與boa.conf中的配置相符。

2.3.2 網絡攝像機的移植和搭建

        網絡攝像機可以提供實時捕獲的圖像。攝像頭捕獲的圖像數據很大,因此需要將其壓縮后進行網絡傳輸,接收端將接收到的壓縮數據進行解碼后播放。利用網絡攝像頭實時采集圖像的工作原理如圖4所示。

        在安裝編碼軟件mjpg-streamer之前,需要安裝libtool工具盒移植JPEG編碼庫,移植mjpg-streamer需要修改源碼目錄中plugins/input_uvc目錄下的Makefile,然后使用交叉編譯。編譯完成后可以找到input_uvc.so、output_http.so,使用這兩個庫,將JPEG編碼庫生成的libjpg庫拷貝到Zedboard文件系統,最好是/usr/lib/下。

        在視頻采集方案中,將mjpg-streamer與Boa結合使用,結合Web服務器一起將實時圖像嵌入到網頁中,這樣就可以通過瀏覽器輸入Zedboard的IP地址來觀看傳回來的實時圖像。

3 實驗測試

測試:imsmod  pwm_driver.ko

cd  /sys/class/pwm_driver/pwm_device

echo  1000>pwm_frequency

echo  50>pwm_duty

        產生頻率為10 kHz、占空比分別為50%和30%的PWM波,如圖5(a)、(b)所示。

        打開火狐瀏覽器,輸入開發板的IP地址192.168.1.10,這時可以觀察到機器人傳回的實時圖像。

        本設計是在Xilinx的Zynq平臺上進行實驗的。通過在機器人車身上安裝攝像頭可以實現對機器人的遠程控制。實驗結果表明,電機控制調節響應快,電機驅動器運行穩定可靠,實現了增量式PID閉環控制。通過WiFi接入機器人的無線路由,就可以獲取實時的圖像,能夠實現對機器人的準確控制,很好地滿足了實際的工程應用。

參考文獻

[1] 張濱,杜啟亮,田聯房.基于FPGA的步進電動機加減速控制器[J].微特電機,2012(08):71-74.

[2] 夏歡.水田用除草機器人的結構與實現[D].廣州:華南理工大學,2012.

[3] 呂常智,姚志科.基于無線通信的移動機器人遠程控制系統[J].煤礦機械,2012,33(3):239-241.

[4] 陸佳華,江舟,馬岷.嵌入式系統軟硬件協同設計實戰指南基于Xilinx Zynq[M].北京:機械工業出版社,2013.

[5] 何賓.Xilinx All Programmable Zynq-7000 Soc設計指南[M].北京:清華大學出版社,2013.

[6] 杭啟樂,司賓強,朱紀洪,等.基于DSP和CPLD的四相容錯電機控制系統硬件設計[J].計算機測量與控制,2012,20(9):2413-2415.

[7] 吳厚航.深入淺出玩轉FPGA[M].北京:北京航空航天大學出版社,2010.

[8] 夏宇聞.Verilog數字系統設計教程[M].北京:北京航空航天大學出版社,2003.

[9] 韋東山.嵌入式Linux應用開發完全手冊[M].北京:人民郵電出版社,2008.

[10] 宋寶華.Linux設備驅動開發詳解[M].北京:人民郵電出版社,2008.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美一区二区三区四区高清 | 久久精品亚洲乱码伦伦中文 | 一区二区91| 久久精品欧美日韩精品| 亚洲一区激情| 亚洲图片欧美午夜| 亚洲国产美女久久久久| 激情综合自拍| 国产一区二区三区的电影| 欧美午夜精彩| 欧美猛交免费看| 欧美成人一区二区| 久久人人爽人人爽爽久久| 性做久久久久久免费观看欧美| 一区二区欧美在线观看| 亚洲人体大胆视频| 亚洲国产成人91精品| 午夜精品理论片| 国产精品99久久久久久白浆小说| 亚洲精品国产视频| 亚洲国产成人av好男人在线观看| 国一区二区在线观看| 国产精品一区二区在线| 国产精品hd| 欧美三级午夜理伦三级中文幕| 欧美激情免费在线| 欧美成人xxx| 美女性感视频久久久| 久久久久久久久久久一区| 亚欧成人在线| 亚洲欧美三级在线| 亚洲欧美自拍偷拍| 午夜精品一区二区在线观看| 亚洲午夜精品久久久久久浪潮| 99v久久综合狠狠综合久久| 亚洲精品久久久久久久久久久久久 | 欧美一区二区在线免费观看| 中文av一区特黄| 亚洲美女中出| 最新国产拍偷乱拍精品| 亚洲国产三级| 亚洲人成人99网站| 亚洲免费观看高清在线观看| 亚洲毛片在线观看| 一本一道久久综合狠狠老精东影业| 日韩视频在线观看免费| 99精品国产一区二区青青牛奶| 亚洲美女尤物影院| 日韩视频在线免费| 亚洲色图自拍| 亚洲欧美日韩成人| 亚洲欧美日韩一区| 欧美在线一二三| 久久久欧美精品| 美女91精品| 欧美黄色网络| 欧美无乱码久久久免费午夜一区| 国产精品剧情在线亚洲| 国产免费亚洲高清| 国产一区999| 亚洲高清精品中出| 99精品国产热久久91蜜凸| 亚洲网站在线| 欧美一区二区三区在| 久久精品国产99国产精品| 亚洲人成在线影院| 亚洲一区二区三区高清| 午夜精品久久久久99热蜜桃导演| 久久国产欧美| 欧美顶级少妇做爰| 欧美视频中文一区二区三区在线观看| 国产精品久久二区| 国产一区二区三区高清| 亚洲高清不卡在线| 一本色道久久综合亚洲精品按摩| 亚洲免费在线视频一区 二区| 久久福利毛片| 一区二区三区黄色| 久久aⅴ乱码一区二区三区| 久久综合婷婷| 欧美午夜美女看片| 国产精品日韩| 国内外成人在线视频| 在线精品在线| 99精品福利视频| 亚洲综合首页| 欧美一区二区三区免费视频| 亚洲图片在线| 欧美在线关看| 一区二区精品在线| 亚洲欧美国产精品桃花| 欧美在线一区二区三区| 久久久五月天| 欧美午夜在线视频| 国产亚洲欧美一区二区三区| 亚洲激情影视| 亚洲综合精品自拍| 亚洲高清在线观看一区| 一区二区欧美在线观看| 羞羞漫画18久久大片| 毛片一区二区三区| 欧美日韩国产综合久久| 国产精品亚发布| 激情综合自拍| 亚洲女同同性videoxma| 91久久久久久久久| 亚洲影院色在线观看免费| 久久免费黄色| 欧美日韩一区二区三区视频 | 亚洲精品精选| 久久国产99| 亚洲欧美一区二区激情| 欧美大色视频| 国产精品免费看| 亚洲成人在线视频播放| 中文亚洲字幕| 亚洲欧洲在线免费| 亚洲欧美综合v| 欧美激情中文不卡| 国产午夜久久| 一本色道久久99精品综合| 久久精品免费看| 亚洲午夜视频在线| 欧美成人国产一区二区| 国产精品久久网站| 最新中文字幕亚洲| 久久aⅴ国产欧美74aaa| 亚洲欧美日韩国产成人精品影院| 欧美精品v日韩精品v国产精品| 一区二区在线观看av| 亚洲欧美精品suv| 亚洲在线观看视频网站| 欧美欧美在线| 亚洲精品乱码久久久久久黑人| 亚洲高清av| 久久久久一区二区三区四区| 国产麻豆成人精品| 亚洲欧美不卡| 亚洲欧美日韩一区二区在线| 国产精品wwwwww| 亚洲剧情一区二区| 亚洲精选视频免费看| 免费成人黄色片| 精品成人在线观看| 久久精品国产精品亚洲精品| 久久久久久久久久久久久久一区| 国产私拍一区| 午夜亚洲视频| 久久国产精品第一页| 国产一区二区三区高清| 欧美一区网站| 久久综合九色欧美综合狠狠| 尤物精品在线| 亚洲伦理一区| 欧美日韩美女一区二区| 日韩视频中文字幕| 亚洲新中文字幕| 国产精品黄视频| 亚洲午夜未删减在线观看| 午夜久久影院| 国产九色精品成人porny| 欧美亚洲午夜视频在线观看| 亚洲欧美中文另类| 国产嫩草一区二区三区在线观看 | 亚洲美女尤物影院| 欧美日韩精品三区| 亚洲无线观看| 久久精品国产第一区二区三区| 国产色产综合色产在线视频| 欧美在线视频一区二区三区| 久久免费黄色| 亚洲福利视频一区二区| 亚洲国产精品福利| 老司机午夜精品视频在线观看| 国产一区二区三区久久精品| 欧美一级淫片播放口| 久久久久久尹人网香蕉| 狠狠入ady亚洲精品经典电影| 午夜久久久久久| 久久av老司机精品网站导航| 国产欧美一区二区三区国产幕精品| 午夜日韩电影| 久久综合久久久久88| 亚洲夫妻自拍| 一区二区三区四区五区视频| 国产精品扒开腿爽爽爽视频| 一本久道久久综合中文字幕| 中日韩在线视频| 国产欧美在线观看| 亚洲激情欧美| 欧美色精品在线视频| 亚洲午夜视频在线| 欧美电影在线观看| 亚洲一区二区三区四区在线观看| 久久夜色精品国产| 一本色道久久加勒比88综合| 久久九九热免费视频| 亚洲精品免费一二三区| 欧美影院在线| 91久久综合亚洲鲁鲁五月天|