《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Zedboard的視覺導航除草機器人控制系統(tǒng)設計
基于Zedboard的視覺導航除草機器人控制系統(tǒng)設計
2014年電子技術應用第6期
肖志遠,杜啟亮,田聯(lián)房,秦傳波,張 勤
華南理工大學 自動化科學與工程學院,廣東 廣州510640
摘要: 現(xiàn)階段水田除草大部分采用農(nóng)藥噴灑方式,這樣會對環(huán)境造成污染。詳細討論了水田除草機器人控制系統(tǒng)的分析設計及實現(xiàn)過程,該系統(tǒng)采用Zedboard為控制核心,上位機通過ZigBee向機器人發(fā)送指令,驅動電機完成指定動作。重點研究設計了人機交互界面及視頻遠程監(jiān)控。實驗效果表明,該控制系統(tǒng)具有良好的動態(tài)響應特性,穩(wěn)定性強。
中圖分類號: 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

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

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

1 機器人控制系統(tǒng)整體設計

1.1 控制系統(tǒng)需求分析

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

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

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

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

1.2 系統(tǒng)主控方案

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

2 機器人控制系統(tǒng)實現(xiàn)

2.1 上位機部分

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

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

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

2.2 運動控制部分

2.2.1 運動控制部分結構框圖

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

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

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

2.2.2 增量式PID算法

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

       

 

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

2.2.3 PWM模塊的IP核設計

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

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

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

2.2.4 Linux下PWM模塊驅動程序的開發(fā)

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

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

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

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

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

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

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

2.3 視頻采集方案

2.3.1 搭建嵌入式Web服務器

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

        下載與移植Boa服務器,這里需要修改源碼目錄下的一些文件以及已經(jīng)發(fā)現(xiàn)的一些bug。

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

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

2.3.2 網(wǎng)絡攝像機的移植和搭建

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

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

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

3 實驗測試

測試:imsmod  pwm_driver.ko

cd  /sys/class/pwm_driver/pwm_device

echo  1000>pwm_frequency

echo  50>pwm_duty

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

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

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

參考文獻

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

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

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

[4] 陸佳華,江舟,馬岷.嵌入式系統(tǒng)軟硬件協(xié)同設計實戰(zhàn)指南基于Xilinx Zynq[M].北京:機械工業(yè)出版社,2013.

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

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

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

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

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

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
最新日韩中文字幕| 久久精品夜色噜噜亚洲a∨| 国产人成一区二区三区影院| 欧美日韩亚洲一区三区 | 亚洲高清一二三区| 狠狠入ady亚洲精品经典电影| 国产精品五区| 国产精品国产馆在线真实露脸 | 欧美午夜视频一区二区| 欧美人与禽性xxxxx杂性| 欧美激情91| 欧美激情一区二区三区成人| 欧美成人激情在线| 欧美激情中文字幕一区二区| 欧美福利视频| 欧美美女操人视频| 欧美日韩一区高清| 欧美亚洲第一区| 国产精品久久久久久av福利软件 | 亚洲狼人精品一区二区三区| 91久久久在线| avtt综合网| 亚洲一级高清| 亚洲欧美视频在线观看视频| 午夜精品福利视频| 久久精品国产精品亚洲| 久久久成人网| 激情久久综艺| 亚洲福利国产| 亚洲国产小视频| 亚洲美女淫视频| 中文精品视频一区二区在线观看| 亚洲永久视频| 久久久亚洲精品一区二区三区| 美女网站久久| 欧美片在线观看| 国产精品福利在线观看网址| 国产女优一区| 伊人蜜桃色噜噜激情综合| 亚洲精品视频在线播放| 亚洲调教视频在线观看| 欧美一区免费| 亚洲乱码国产乱码精品精98午夜| 一本到12不卡视频在线dvd| 亚洲欧美日韩专区| 久久亚洲欧美| 欧美三级免费| 国产一二精品视频| 亚洲国产另类精品专区| 一区二区日韩精品| 欧美中文字幕视频| 夜夜爽99久久国产综合精品女不卡| 亚洲制服丝袜在线| 久久看片网站| 欧美色精品天天在线观看视频 | 欧美aⅴ99久久黑人专区| 欧美私人啪啪vps| 国内成+人亚洲| 一区二区三区高清在线| 亚洲福利视频一区二区| 亚洲网站在线播放| 久久精品视频在线播放| 欧美日韩不卡合集视频| 国产欧美91| 亚洲精品一区二区三区不| 午夜精品久久久久久久99黑人| 亚洲啪啪91| 欧美影院精品一区| 欧美人在线视频| 国内精品久久久久影院优| 99国产精品自拍| 亚洲国产成人在线| 亚洲欧美在线看| 欧美伦理影院| 影音先锋日韩精品| 亚洲中午字幕| 一区二区av在线| 免费试看一区| 国产视频精品va久久久久久| 99视频精品在线| 亚洲精品视频在线| 久久久久国产精品人| 国产精品大片wwwwww| 亚洲国产黄色片| 欧美一区二区在线免费观看| 在线亚洲精品福利网址导航| 久久资源在线| 国产精品一区二区在线| 亚洲最快最全在线视频| 亚洲精品久久久久久久久久久久| 欧美中文在线观看| 国产精品久久久久av| 亚洲日本在线观看| 亚洲国产精品久久久| 久久精品亚洲热| 国产欧美 在线欧美| 在线一区免费观看| 中文在线一区| 欧美美女喷水视频| 亚洲国产日韩欧美| 欧美在线三级| 久久国产免费| 国产视频一区在线| 亚洲制服av| 午夜日韩激情| 国产精品久久久久一区二区三区 | 久久精品视频在线| 欧美在线免费观看视频| 国产精品嫩草久久久久| 中文一区在线| 亚洲欧美另类久久久精品2019| 欧美日韩免费观看一区| 亚洲激情偷拍| 99国产精品自拍| 欧美激情精品久久久久久久变态| 在线看欧美日韩| 亚洲欧洲一区二区天堂久久| 美国十次成人| 亚洲国产毛片完整版| 亚洲国内欧美| 欧美不卡福利| 亚洲激情女人| 一区二区欧美在线观看| 欧美日韩视频在线| 亚洲图片欧美一区| 欧美一级二级三级蜜桃| 国产九九精品视频| 欧美一区二区三区啪啪| 久久久国产精品亚洲一区 | 美女图片一区二区| 亚洲高清免费在线| 日韩视频专区| 欧美三级午夜理伦三级中文幕 | 久久经典综合| 激情文学一区| 亚洲久久视频| 欧美特黄视频| 西西人体一区二区| 久久网站热最新地址| 在线免费日韩片| 一区二区日韩欧美| 国产精品美女久久久| 欧美亚洲网站| 美女国内精品自产拍在线播放| 在线日本成人| 亚洲视频在线观看免费| 国产精品免费视频观看| 欧美一区国产二区| 欧美福利在线| 一区二区三区产品免费精品久久75| 亚洲欧美激情视频| 国内外成人免费激情在线视频网站| 亚洲国产另类精品专区| 欧美日本一道本| 亚洲欧美另类国产| 免费观看30秒视频久久| 99热在线精品观看| 欧美在线一二三四区| 亚洲电影视频在线| 亚洲一区二区av电影| 国产日韩欧美亚洲| 亚洲免费av电影| 国产精品揄拍一区二区| 最新国产の精品合集bt伙计| 欧美无砖砖区免费| 欧美一级黄色网| 欧美日韩国产在线播放| 亚洲欧美日本日韩| 欧美国产精品v| 亚洲欧美日韩综合aⅴ视频| 欧美成人精品在线| 亚洲在线观看免费视频| 欧美阿v一级看视频| 亚洲一品av免费观看| 免费黄网站欧美| 亚洲一区二区三区四区中文 | 欧美大片在线看| 亚洲欧美韩国| 欧美片在线观看| 欧美伊久线香蕉线新在线| 欧美伦理视频网站| 欧美专区日韩专区| 国产精品久久久久久久久久久久久久 | 国产精品视区| 日韩一区二区福利| 国内偷自视频区视频综合| 亚洲午夜国产成人av电影男同| 国产综合久久| 亚洲男人第一av网站| 一区在线视频| 欧美伊人久久久久久午夜久久久久| 亚洲人成免费| 久久久欧美精品| 亚洲欧美国内爽妇网| 欧美日本中文字幕| 亚洲第一中文字幕| 国产日韩一区二区| 亚洲欧美另类在线| 亚洲免费观看高清完整版在线观看熊 | 亚洲精品一级|