




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
摘要本論文設(shè)計(jì)了一種基于STM32的滾球控制系統(tǒng),重點(diǎn)研究了該系統(tǒng)的機(jī)器視覺(jué)控制算法。該系統(tǒng)通過(guò)OpenMV攝像頭獲取小球的圖像信息,分析鎖定小球所處的坐標(biāo),通過(guò)一些相對(duì)應(yīng)的PID算法來(lái)控制電機(jī)的運(yùn)行。通過(guò)數(shù)字舵機(jī)的運(yùn)行將平板傾斜到所需要的角度,從而驅(qū)動(dòng)小球滾動(dòng)到特定的位置。其目的是實(shí)現(xiàn)對(duì)小球的滾動(dòng)方向和停留位置的控制以及小球運(yùn)行軌跡的追蹤。其中主要涉及的研究?jī)?nèi)容有:圖像識(shí)別、圖像處理、運(yùn)動(dòng)控制和智能控制。文中介紹了整個(gè)系統(tǒng)的結(jié)構(gòu)和制作過(guò)程,詳細(xì)探討了其控制算法的調(diào)試與實(shí)現(xiàn)。對(duì)于單片機(jī)程序的設(shè)計(jì)和滾球系統(tǒng)的硬件搭建提出了自己的看法。針對(duì)系統(tǒng)的需求使用了多組PID相互串聯(lián)或并聯(lián)使用來(lái)控制系統(tǒng)。對(duì)于實(shí)際編寫(xiě)和制作及調(diào)試過(guò)程中所遇到的各種問(wèn)題及處理辦法都進(jìn)行了深入的探討。關(guān)鍵詞:滾球控制系統(tǒng);機(jī)器視覺(jué);OpenMV;智能控制;多組PID
ABSTRACTInthispaper,arollingballcontrolsystembasedonSTM32isdesigned,andthemachinevisioncontrolalgorithmofthissystemismainlystudied.ThesystemobtainstheimageinformationoftheballthroughtheOpenMVcamera,analyzesthecoordinatesofthelockedball,andcontrolstheoperationofthemotorthroughsomecorrespondingPIDalgorithms.Theplateistiltedtothedesiredanglebytheoperationofthedigitalservo,thusdrivingtheballtorolltoaspecificposition.Itspurposeistorealizethecontroloftherollingdirectionandresidencepositionoftheballandthetrackingofthetrajectoryoftheball.Themainresearchcontentsinvolvedare:imagerecognition,imageprocessing,motioncontrolandintelligentcontrol.Thispaperintroducesthestructureandproductionprocessofthewholesystem,anddiscussesthedebuggingandimplementationofitscontrolalgorithmindetail.Heputforwardhisownviewsonthedesignofthesingle-chipmicrocomputerprogramandthehardwareconstructionoftherollingballsystem.Accordingtotheneedsofthesystem,multiplegroupsofPIDsareusedinseriesorparalleltocontrolthesystem.Variousproblemsencounteredintheactualwriting,productionanddebuggingprocessandtreatmentmethodswerediscussedindepth.Keywords:controlsystem;machinevision;OpenMV;intelligentcontrol;multiplesetsofPIDs第一章緒論1.1研究背景及意義1.1.1研究背景滾球控制系統(tǒng)是一個(gè)典型的自動(dòng)控制系統(tǒng)。從上個(gè)世紀(jì)80年代開(kāi)始,國(guó)內(nèi)外就有很多學(xué)者對(duì)這個(gè)系統(tǒng)進(jìn)行了各種設(shè)想和構(gòu)建。通過(guò)滾球系統(tǒng)這個(gè)系統(tǒng),可以對(duì)很多控制算法進(jìn)行研究和校驗(yàn),并且可以很方便的將其運(yùn)用在生活的各個(gè)方面。大部分的研究人員在研究和設(shè)計(jì)自己的滾球系統(tǒng)時(shí),通常通過(guò)視覺(jué)傳感器,或者壓力傳感器來(lái)估測(cè)和定位小球的位置坐標(biāo),然后通過(guò)對(duì)該坐標(biāo)的位置信息進(jìn)行計(jì)算,來(lái)控制輸出的脈沖寬度調(diào)制造(PulseWidthModulation,PWM)信號(hào)的大小從而控制電機(jī)的運(yùn)行以達(dá)到驅(qū)動(dòng)平板傾斜,控制小球滾動(dòng)到指定的位置的目的。生活中的很多方面都會(huì)應(yīng)用到滾球系統(tǒng)的研究成果。例如對(duì)于小球在平板上的位置進(jìn)行定位、對(duì)小球未來(lái)的運(yùn)動(dòng)方向進(jìn)行預(yù)測(cè),都需要應(yīng)用到比例積分微分控制(Proportional-Integral-DerivativeControl,PID)算法和計(jì)算機(jī)視覺(jué)算法,這可以應(yīng)用于工業(yè)機(jī)械化的許多方面,例如無(wú)人機(jī)對(duì)目標(biāo)的自動(dòng)跟蹤和無(wú)人駕駛車(chē)輛的行人檢測(cè)技術(shù)。同樣,系統(tǒng)控制算法也非常重要。如今,許多工業(yè)機(jī)器人和智能機(jī)器人的研發(fā)都離不開(kāi)自動(dòng)控制算法的發(fā)展。因此,滾球控制系統(tǒng)是一個(gè)非常價(jià)值的研究課題,也是研究和驗(yàn)證算法的重要平臺(tái)。板球系統(tǒng)是經(jīng)典控制一維桿球系統(tǒng)的二維擴(kuò)展,是欠驅(qū)動(dòng)性系統(tǒng),它運(yùn)用了機(jī)器視覺(jué)和自動(dòng)控制原理,通過(guò)機(jī)器視覺(jué)模塊(OpenMachineVision,OpenMV)采集小球的位置坐標(biāo)以及運(yùn)動(dòng)速度信息,利用PID控制及模糊規(guī)則限定舵機(jī)運(yùn)動(dòng),來(lái)調(diào)節(jié)平板的傾斜角度,控制小球在板上定點(diǎn)運(yùn)動(dòng)[1]。1.1.2研究意義今天計(jì)算機(jī)技術(shù)正在飛速的發(fā)展,而計(jì)算機(jī)視覺(jué)一直都是計(jì)算機(jī)技術(shù)中最為重要的內(nèi)容之一,人們熱切的希望計(jì)算機(jī)可以擁有類(lèi)似人眼的觀察能力和大腦的分析能力,即使用攝像頭作為計(jì)算機(jī)的人眼,通過(guò)對(duì)應(yīng)的處理器使計(jì)算機(jī)也能擁有像人類(lèi)那樣對(duì)目標(biāo)的識(shí)別和分析能力。如果將計(jì)算機(jī)視覺(jué)和智能控制系統(tǒng)相結(jié)合,就可以使計(jì)算機(jī)自行識(shí)別環(huán)境中所需要的物品,并且根據(jù)設(shè)定的程序去執(zhí)行相應(yīng)的操作,實(shí)現(xiàn)我們想實(shí)現(xiàn)的功能。目前,該技術(shù)在工業(yè),農(nóng)業(yè),制造業(yè),軍事等方面得到了廣泛的應(yīng)用。隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,許多學(xué)者開(kāi)始將目光投向了計(jì)算機(jī)視覺(jué)與智能控制領(lǐng)域。為此,本文設(shè)計(jì)了滾珠控制系統(tǒng),對(duì)其進(jìn)行了深入的研究,并對(duì)其理論進(jìn)行了驗(yàn)證。由中外學(xué)者設(shè)計(jì)了許許多多不相同的滾球控制系統(tǒng)來(lái)驗(yàn)證自己的觀點(diǎn),由于滾球系統(tǒng)本身具有的強(qiáng)耦合性、非線性的特點(diǎn),因此成為了驗(yàn)證和控制算法的一個(gè)理想的平臺(tái)。1.2國(guó)內(nèi)外研究現(xiàn)狀從2000年前后開(kāi)始,清華大學(xué)自動(dòng)化系在已有的基礎(chǔ)上,對(duì)滾球控制系統(tǒng)中的多變量模糊控制策略進(jìn)行了深入的探討?;谠撃P?,設(shè)計(jì)了一種基于該模型的小球軌道規(guī)劃與目標(biāo)跟蹤算法。,并且使用計(jì)算機(jī)制作仿真進(jìn)行檢驗(yàn)。其后教研組自主設(shè)計(jì)并獨(dú)立制作了一個(gè)基于計(jì)算機(jī)視覺(jué)的滾球控制系統(tǒng)的物理仿真平臺(tái),并將其研究成果應(yīng)用在這個(gè)平臺(tái)上。美國(guó)的倫斯勒理工學(xué)院自主設(shè)計(jì)了一個(gè)滾球系統(tǒng),他們使用觸摸面板來(lái)識(shí)別小球的坐標(biāo)。建立了一組簡(jiǎn)單的、線性的數(shù)學(xué)模型.其通過(guò)狀態(tài)反饋控制器對(duì)系統(tǒng)進(jìn)行實(shí)時(shí)控制,實(shí)現(xiàn)了對(duì)小球定位控制誤差小于5mm,跟蹤圓的軌跡半徑誤差小于18mm,小球的運(yùn)動(dòng)速度誤差小于4.2mm·s-1。韓國(guó)漢陽(yáng)大學(xué)的研究人員提出了一種以層次化模糊CMAC神經(jīng)網(wǎng)絡(luò)為核心的變結(jié)構(gòu)自適應(yīng)控制器,并在此基礎(chǔ)上實(shí)現(xiàn)了對(duì)球體位置的準(zhǔn)確控制。1.3研究的主要內(nèi)容滾球控制系統(tǒng)通過(guò)OpenMV采集到滾球系統(tǒng)中小球與板面的圖像信息,并利用相關(guān)的圖像處理算法對(duì)其進(jìn)行處理,將小球在板面上的位置信息轉(zhuǎn)換成板面上小球的位置坐標(biāo),并將該位置坐標(biāo)傳輸?shù)絊TM32單片機(jī)中,對(duì)板面的X軸與Y軸進(jìn)行PID控制,使操縱器與板面在這兩個(gè)正交點(diǎn)上互相協(xié)調(diào)地傾斜,進(jìn)而間接地控制小球做直線、繞環(huán)等動(dòng)作。操作方式及參數(shù)的選擇使用按鈕及LCD顯示。1.4本文的組織結(jié)構(gòu)本文各章按下列順序進(jìn)行編寫(xiě):第一章為緒論,主要介紹了論文選題的背景、意義、國(guó)內(nèi)外相關(guān)研究的現(xiàn)狀及發(fā)展趨勢(shì),并提出了本論文的研究方向。第二章為本論文的總體設(shè)計(jì),主要是對(duì)本論文所要完成的任務(wù)、所涉及到的各個(gè)方面進(jìn)行了詳細(xì)的說(shuō)明,并說(shuō)明了本論文所涉及到的各個(gè)方面的問(wèn)題,以及所涉及到的各個(gè)方面的問(wèn)題。第三章為系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn),主要闡述了系統(tǒng)的工作原理,并對(duì)系統(tǒng)的主要技術(shù)指標(biāo)、主要功能指標(biāo)以及系統(tǒng)的主要性能指標(biāo)作了較為詳盡的分析與對(duì)比。第四章為本論文的軟件設(shè)計(jì)和實(shí)現(xiàn)部分,著重介紹了滾球控制系統(tǒng)的總體結(jié)構(gòu),并對(duì)MCU的編程方法作了簡(jiǎn)單的總結(jié),對(duì)各模塊的編程方法作了較詳盡的論述。第五章為系統(tǒng)測(cè)試,主要是對(duì)系統(tǒng)在調(diào)試過(guò)程中所遇到的一些問(wèn)題進(jìn)行記錄,并思考提出解決方法,并對(duì)最終修改后的運(yùn)行結(jié)果進(jìn)行總結(jié)記錄。第六章是對(duì)整個(gè)文章的總結(jié)和展望,它對(duì)整個(gè)文章做了一個(gè)總結(jié),歸納出了該系統(tǒng)的特征和所能完成的功能,并針對(duì)該系統(tǒng)存在的缺陷,給出了一些改善的辦法。,并對(duì)系統(tǒng)未來(lái)將會(huì)實(shí)現(xiàn)的功能進(jìn)行展望。
第二章系統(tǒng)總體設(shè)計(jì)2.1系統(tǒng)功能在邊長(zhǎng)為40cm光滑的正方形平板上均勻分布著9個(gè)外徑3cm的圓形區(qū)域,其編號(hào)從左上到右下以此為1~9號(hào)。(1)把一顆小球放到該形狀的范圍4上,并控制該小球至少在該范圍內(nèi)保持5秒鐘。(2)控制球體從第1區(qū)進(jìn)入第5區(qū),持續(xù)15秒,并至少在第5區(qū)逗留2秒。(3)控制球體從第1區(qū)進(jìn)入第9區(qū),持續(xù)30秒,并至少在第9區(qū)保持2秒。該系統(tǒng)主要由六個(gè)主要部件組成:控制器,執(zhí)行器,平板和球體,相機(jī),圖像處理單元。整個(gè)裝置的工作流程是這樣的:相機(jī)對(duì)小球在運(yùn)動(dòng)過(guò)程中的圖像進(jìn)行記錄,利用圖像處理單元來(lái)計(jì)算小球相對(duì)于平板的坐標(biāo),將此坐標(biāo)作為測(cè)量值與給定的坐標(biāo)期望值一起送入控制器,由控制器來(lái)比對(duì)并計(jì)算數(shù)據(jù),在經(jīng)過(guò)控制器的計(jì)算之后,將輸出結(jié)果傳送到執(zhí)行器,進(jìn)而控制小球的運(yùn)動(dòng)到指定位置。在圖2-1中顯示了該設(shè)計(jì)的體系結(jié)構(gòu)方框圖。圖2-1滾球系統(tǒng)流程圖2.2現(xiàn)有方案比較目前的主流滾球控制系統(tǒng)大致為以下幾種方案:第一種:主控制器為STM32,攝像頭為iMac拆機(jī)攝像頭,電機(jī)選擇使用數(shù)字舵機(jī)。優(yōu)點(diǎn)為價(jià)格便宜,容易購(gòu)買(mǎi),但由于圖像處理功能是在STM32中進(jìn)行,而STM32在圖像處理方面并沒(méi)有突出的優(yōu)點(diǎn),圖像傳輸需要傳輸時(shí)間導(dǎo)致系統(tǒng)延時(shí)過(guò)大,而且STM32在圖像處理方面效率較慢,處理略有卡頓,從而很難控制小球到達(dá)指定位置,因此本次系統(tǒng)設(shè)計(jì)并未采用此方案。第二種:主控制器為STM32,攝像頭為iMac拆機(jī)攝像頭,圖像處理器為Nanopi2Fire處理器,電機(jī)選擇使用數(shù)字舵機(jī)。優(yōu)點(diǎn)為解決了方案一中STM32對(duì)于圖像處理方面略顯卡頓的問(wèn)題,而且在圖像處理方面Nanopi2Fire處理器具有強(qiáng)大的優(yōu)勢(shì),但是其對(duì)小球識(shí)別功能的實(shí)現(xiàn)較為復(fù)雜,需要將采集的照片進(jìn)行灰度化處理,再進(jìn)行邊緣檢測(cè)、轉(zhuǎn)化為二值圖像等一系列操作,最終才能檢測(cè)到圖像的邊緣并且輸出。由于使用了Nanopi2Fire處理器導(dǎo)致此方案喪失了方案一中價(jià)格便宜的優(yōu)點(diǎn),因此本次系統(tǒng)設(shè)計(jì)并未采用此方案。第三種:主控制器為STM32,攝像頭為OpenMV模塊,電機(jī)選擇直線電機(jī)。其優(yōu)點(diǎn)為使用了OpenMV模塊作為攝像頭和圖像處理器,這樣就不用額外尋找圖像處理器,而且OpenMV模塊本身預(yù)留了很多資源豐富的硬件接口,使用起來(lái)非常方便。而且在圖像處理方面比使用STM32效率更高,反應(yīng)速度更快。但由于直線電機(jī)和數(shù)字舵機(jī)不同,直線電機(jī)不能直接接收由STM32產(chǎn)生的PWM信號(hào),所以需要驅(qū)動(dòng)電路將PWM信號(hào)轉(zhuǎn)化為相應(yīng)的電壓后才能驅(qū)動(dòng)直線電機(jī)運(yùn)行,因此本次系統(tǒng)設(shè)計(jì)并未采用此方案。第四種:主控制器為STM32,攝像頭為OpenMV模塊,電機(jī)選擇數(shù)字舵機(jī)。使用OpenMV作為圖像處理器可以更加快速的鎖定小球,并且更加快速的確定小球的坐標(biāo)。對(duì)于圖像處理方面比其他的圖像處理器更加快速便捷,可以加快整個(gè)系統(tǒng)的反應(yīng)速度。數(shù)字舵機(jī)比起直線電機(jī)更加便宜小巧易于攜帶,而且數(shù)字舵機(jī)可以直接接收STM32發(fā)出的PWM信號(hào),不需要額外設(shè)計(jì)驅(qū)動(dòng)電路,對(duì)于平板傾斜度的把控更加精準(zhǔn),對(duì)于PID算法的調(diào)試也更加簡(jiǎn)便。因此本系統(tǒng)使用的設(shè)計(jì)方案為第四種,本系統(tǒng)采用OpenMV作為圖像傳感器和圖像處理器。OpenMV采用的STM32F427芯片,提供了大量便捷且功能強(qiáng)大的外圍功能和多功能接口,可以更方便的與其他模塊相連接。而且其開(kāi)發(fā)環(huán)境較為簡(jiǎn)單,只要有一個(gè)USB接口,就能將它連接到計(jì)算機(jī)上,還擁有集成開(kāi)發(fā)環(huán)境OpenMVIDE,幫助它完成編程、調(diào)試和更新硬件等工作,而且OpenMV比其他的攝像頭更加靈活且不需要其他圖像處理設(shè)施,使整個(gè)系統(tǒng)更加簡(jiǎn)潔,運(yùn)行速度也更加迅速。而且可以直接和STM32進(jìn)行串口通信。相比于傳統(tǒng)的電機(jī)驅(qū)動(dòng)和直線電機(jī)的組合,本系統(tǒng)選擇使用數(shù)字舵機(jī)。相比于笨重的直線電機(jī),數(shù)字舵機(jī)更加小巧輕便,而且不需要電機(jī)驅(qū)動(dòng),直接接收PWM波即可運(yùn)行。價(jià)格便宜而且擺放位置響應(yīng)速度更加快速。在控制平板的精細(xì)度方面也略有優(yōu)勢(shì)。綜上所述,本系統(tǒng)最終采用的方案為:核心控制單元:STM32F103ZET6;運(yùn)動(dòng)控制單元:舵機(jī);圖像采集及預(yù)處理單元:OpenMV;平臺(tái):400×400×3mm的啞光黑色亞克力板;小球:1.8cm氧化鋯小球。本課題針對(duì)小球控制精度較差的問(wèn)題進(jìn)行研究,提出了采用多個(gè)串級(jí)PID算法,以達(dá)到對(duì)小球的精準(zhǔn)定位和軌跡追蹤的實(shí)驗(yàn)?zāi)繕?biāo)。2.3系統(tǒng)設(shè)計(jì)方案確定2.3.1主控制器方案一:采用樹(shù)莓派作為系統(tǒng)的控制器。樹(shù)莓派是一種只有信用卡大小的卡片式電腦,具有價(jià)格低、體積小的優(yōu)點(diǎn),與常見(jiàn)的51單片機(jī)和STM32等嵌入式微控制器相比,不僅可以完成IO引腳控制,還能運(yùn)行Linux操作系統(tǒng),因此可以完成更復(fù)雜的任務(wù)管理與調(diào)度,支持更上層應(yīng)用的開(kāi)發(fā)[2]。盡管樹(shù)莓派與常見(jiàn)的51單片機(jī)和STM32等嵌入式微控制器相比,能夠運(yùn)行相應(yīng)的操作系統(tǒng),還可以完成更復(fù)雜的任務(wù)管理與調(diào)度,但樹(shù)莓派的最大優(yōu)勢(shì)同時(shí)也是自身的短板,它提供了比嵌入式微控制器更多選擇與應(yīng)用的同時(shí),犧牲了自身的性能優(yōu)勢(shì)[3]。方案二:采用FPGA作為系統(tǒng)的控制器。高端FPGA還集成了通用性較強(qiáng)的內(nèi)嵌功能單元(如DSP、CPU等)和專(zhuān)用硬核(如乘法器等)滿足復(fù)雜的需求[4]。而且其獨(dú)有的超低延遲,可以更加快捷的運(yùn)行程序,但FPGA編譯過(guò)程過(guò)于漫長(zhǎng),相對(duì)于其他兩種控制單元而言,F(xiàn)PGA的入門(mén)門(mén)檻高,價(jià)格高,特別適用于專(zhuān)用設(shè)備的開(kāi)發(fā)[5]。方案三:采用STM32F103C8T6單片機(jī)為系統(tǒng)控制器。STM32F103C8T6最小系統(tǒng)板STM32F103C8T6是一款基于Cortex-M3內(nèi)核的32位微控制器,具有功耗低、性能高、功能強(qiáng)大、可塑性好等優(yōu)點(diǎn)[6]。開(kāi)發(fā)環(huán)境簡(jiǎn)單便捷,性能高,成本低,功耗低,編程也相對(duì)簡(jiǎn)單。STM32可以配置PWM模式。在此設(shè)計(jì)中可以使用PWM模式來(lái)穩(wěn)定的輸出PWM信號(hào),可以更加方便的控制舵機(jī)的運(yùn)行速度。在整個(gè)滾球系統(tǒng)中,需要對(duì)兩個(gè)方向采集到的信息分別進(jìn)行對(duì)應(yīng)的PID運(yùn)算,為了滿足高速運(yùn)算的算力需求,系統(tǒng)的主控制器選擇了性能好,功耗低的STM32F103C8T6單片機(jī)。2.3.2圖像處理器方案一:采用普通攝像頭模塊。常用的攝像頭模塊傳感器一般為OV7670。美國(guó)半導(dǎo)體公司OmniVision的OV7670型號(hào)傳感器,它體積小、工作電壓低、靈敏度高,采用標(biāo)準(zhǔn)的SCCB接口和I2C協(xié)議,與單片機(jī)能進(jìn)行良好的通信[7]。采用SCCB總線控制。OV7670具有體積小、工作電壓低等優(yōu)點(diǎn),但是其視場(chǎng)角只有23°,為了實(shí)現(xiàn)測(cè)量需要把攝像頭抬高,這樣影響模型的穩(wěn)定,同時(shí)較小的視場(chǎng)角將會(huì)使得系統(tǒng)整體最大測(cè)量值受到影響[8]。方案二:使用OpenMV模塊。OpenMV是一個(gè)功能龐大的機(jī)器視角模塊,有相關(guān)例程,且容易上手,提供人臉識(shí)別、口罩識(shí)別等相關(guān)知識(shí),與其他硬件通信時(shí)可以選擇通過(guò)UART,I2C,SPI和GPIO等接口,該模塊集成了0V7725攝像頭芯片,相比于市場(chǎng)上的OpenCV擁有豐富的視覺(jué)開(kāi)發(fā),在硬件上,通過(guò)算法的編程高精度的核心視覺(jué)算法[9]??紤]到不需要重復(fù)地制作輪子和工具,我選擇了這個(gè)系統(tǒng)的設(shè)計(jì)方案二。2.3.3舵機(jī)方案一:采用直流減速電機(jī)。直流減速電機(jī)振蕩小,噪音低,節(jié)能高。但直流減速電機(jī)在對(duì)外輸出力的時(shí)候,會(huì)對(duì)平板的進(jìn)一步運(yùn)動(dòng)有所阻礙。方案二:采用模擬舵機(jī)。模擬舵機(jī)的動(dòng)作控制主要通過(guò)信號(hào)線輸入PWM波,通過(guò)改變占空比的值來(lái)決定舵機(jī)轉(zhuǎn)動(dòng)的角度,容易產(chǎn)生誤差,且每個(gè)舵機(jī)的機(jī)械特性都不是線性的,這樣給舵機(jī)調(diào)試帶來(lái)了不便[10]。方案三:使用步進(jìn)馬達(dá)。由于步進(jìn)馬達(dá)的轉(zhuǎn)角是通過(guò)在程序中輸入的脈寬調(diào)制脈沖數(shù)目來(lái)決定的。因此在操作時(shí),必須精確地計(jì)算出馬達(dá)的轉(zhuǎn)角,以確保板面的傾角。但是,在實(shí)際的操作過(guò)程中,對(duì)數(shù)據(jù)精度的要求過(guò)高。步進(jìn)電機(jī)很難達(dá)到如此精準(zhǔn)的要求,而且步進(jìn)電機(jī)正負(fù)極切換較為緩慢,這會(huì)使電機(jī)更難使平板處于平衡狀態(tài)。方案四:采用數(shù)字舵機(jī)。數(shù)字舵機(jī)依靠接收的PWM波來(lái)控制轉(zhuǎn)動(dòng)速度和轉(zhuǎn)動(dòng)角度,其控制精度高、線性度好、響應(yīng)速度快。圖2-2為數(shù)字舵機(jī)旋轉(zhuǎn)角度與PWM波的關(guān)系圖。本系統(tǒng)選用數(shù)字舵機(jī)。數(shù)字舵機(jī)相對(duì)于傳統(tǒng)的模擬舵機(jī)存在一定優(yōu)勢(shì),數(shù)字舵機(jī)的控制電路比模擬舵機(jī)多了微處理器和晶振,因此這就可以使輸入的信號(hào)脈沖在到達(dá)馬達(dá)之前參數(shù)進(jìn)行了一定的處理,以適應(yīng)不同功能的要求,而且優(yōu)化了舵機(jī)的性能,此外還有響應(yīng)快,防抖動(dòng)的優(yōu)點(diǎn)[11]。2.3.4角度測(cè)量模塊第一種方法:采用加速度計(jì)。采用加速度傳感器,可根據(jù)地面的重力加速度,得到底板的傾角。當(dāng)這個(gè)組件被固定在一個(gè)位置上時(shí),它是受重力影響的,所以它有一個(gè)1克的重力加速度。根據(jù)這一特性,在X、Y方向上測(cè)定重力加速度的各分量,就可求出其在豎直面上的傾角。但由于在轉(zhuǎn)動(dòng)過(guò)程中自身存在額外的加速度,并非一直處于靜止?fàn)顟B(tài),所以角度計(jì)算不是很準(zhǔn)確。計(jì)算公式如下所示[12]:a=arctanAx2圖2-2數(shù)字舵機(jī)旋轉(zhuǎn)角度與PWM波的關(guān)系第二種方法:采用回旋式傳感器。采用六軸陀螺傳感器,能夠直接對(duì)角速和加速度進(jìn)行測(cè)量,并且不會(huì)受到外部信息的干擾,利用卡爾曼濾波算法將加速度與陀螺儀的數(shù)據(jù)融合后,可以在動(dòng)態(tài)的情況下進(jìn)行測(cè)角,而Z軸角則是由積分得到的,但是長(zhǎng)期運(yùn)轉(zhuǎn)會(huì)產(chǎn)生累積誤差。圖2-3為陀螺儀傳感器的原理圖。六軸陀螺儀精準(zhǔn)度更高,使用起來(lái)更加方便,可以保證動(dòng)態(tài)時(shí)角度的準(zhǔn)確和良好的性能,因此本系統(tǒng)選擇六軸陀螺儀作為角度傳感器。2.3.5滾球模塊方案一:選用乒乓球作為滾球模塊。乒乓球價(jià)格便宜,但內(nèi)部為空心的,因此質(zhì)量較輕,體積較大,容易受到外部因素影響。且表面不是很平滑可控性低,控制不穩(wěn)定。方案二:選用不銹鋼小球作為滾動(dòng)模塊。不銹鋼小球是由不銹鋼制作而成,因此質(zhì)量較大,相比于乒乓球,被外界因素影響的情況更少,更方便系統(tǒng)控制。但由于不銹鋼的反光特性,我們?cè)谑褂脭z像頭對(duì)小球進(jìn)行識(shí)別時(shí),容易因?yàn)橥饨绛h(huán)境的不同小球呈現(xiàn)不同的顏色,對(duì)于顏色閾值的調(diào)控十分困難。而且在系統(tǒng)運(yùn)圖2-3陀螺儀傳感器原理圖行過(guò)程中,極容易出現(xiàn)小球丟失的情況。方案三:選用氧化鋯小球作為滾動(dòng)模塊。氧化鋯小球?yàn)閷?shí)心小球,質(zhì)量較大,基本不會(huì)受外界因素影響。而且氧化鋯小球全身為純白色,無(wú)論外部如何變化小球的顏色閾值幾乎不變,基本上不用擔(dān)心小球丟失問(wèn)題。由于其質(zhì)量較大因此對(duì)于傾斜角的靈敏度非常高。圖2-4為各種小球示意圖。圖2-4各類(lèi)小球示意圖綜上所述,由于表面越光滑的小球,可控程度就越高。例如,將平板的傾斜度設(shè)置為傾斜度5°,乒乓球在平板上可能會(huì)保持靜止,而氧化鋯小球可能在傾斜度為1°的時(shí)候就發(fā)生移動(dòng)了。如果可控度太低的話,就需要通過(guò)大量的算法來(lái)消除這個(gè)問(wèn)題可能帶來(lái)的誤差。而且效果也不會(huì)很好,因此本系統(tǒng)的滾球模塊選擇使用氧化鋯小球。2.4小結(jié)通過(guò)OpenMV接受圖像并對(duì)圖像進(jìn)行處理分析,對(duì)被測(cè)對(duì)象進(jìn)行了識(shí)別,并對(duì)被測(cè)對(duì)象的位置進(jìn)行了判定,將位置信息經(jīng)串行口發(fā)送到STM32。用STM32對(duì)接收到的數(shù)據(jù)作了處理.經(jīng)過(guò)處理后,STM32對(duì)處理后的數(shù)據(jù)做出判斷,并控制操縱器,使小球在指定位置進(jìn)行停留。
第三章系統(tǒng)硬件設(shè)計(jì)與實(shí)現(xiàn)3.1滾球控制系統(tǒng)的硬件組成整個(gè)系統(tǒng)的硬件構(gòu)建框圖如圖3-1所示。使用陀螺儀模塊對(duì)平板的角度進(jìn)行實(shí)時(shí)測(cè)量計(jì)算,并控制每次任務(wù)結(jié)束后平板所處的位置都是水平狀態(tài)。當(dāng)球放在平板上的時(shí)候,OpenMV會(huì)對(duì)小球的位置進(jìn)行坐標(biāo)轉(zhuǎn)換并將轉(zhuǎn)換后的小球坐標(biāo)信息傳送給STM32單片機(jī),由單片機(jī)進(jìn)行相應(yīng)的算法來(lái)決定發(fā)送給數(shù)字舵機(jī)的PWM波,從而控制舵機(jī)將平板傾斜到相應(yīng)的位置使小球滾動(dòng)到任務(wù)要求的位置。矩陣鍵盤(pán)可以選擇所需要的任務(wù)模式來(lái)完成所對(duì)應(yīng)的任務(wù),其中的數(shù)據(jù)會(huì)通過(guò)液晶屏顯示出來(lái)。圖3-1滾球控制系統(tǒng)硬件框圖本系統(tǒng)選用黑色的硬紙板來(lái)作為平板,其邊長(zhǎng)為40cm,OpenMV放置在平板的正上方120cm左右的位置。采用硬質(zhì)的氧化鋯小球作為被控對(duì)象,因?yàn)檠趸喰∏虮砻婀饣?,受到的摩擦力等小,可控制性更?qiáng)。整個(gè)平板由在中心的一個(gè)固定的萬(wàn)向輪并且用連接桿連接起來(lái)作為主支撐和兩個(gè)數(shù)字舵機(jī)分別放在平臺(tái)下方相鄰兩邊的中間位置,使用連接桿將平臺(tái)與舵機(jī)連接起來(lái)作為副支撐,通過(guò)舵機(jī)的升降來(lái)控制整個(gè)平臺(tái)的傾斜角度,從而控制小球的滾動(dòng)。將攝像頭固定在平臺(tái)上方120cm的距離,正好讓OpenMV的攝像頭可以將整個(gè)平板的畫(huà)面全部拍攝到。六軸陀螺儀模塊放置在平板的正下面以保證其測(cè)量角度的準(zhǔn)確性。系統(tǒng)機(jī)械結(jié)構(gòu)的示意圖如圖3-2所示。3.2圖像識(shí)別模塊3.2.1理論分析攝像頭驅(qū)動(dòng)電路的設(shè)計(jì)攝像頭控制電路采用的是OpenMV高度集成攝像頭,該攝像頭是一個(gè)開(kāi)源、低成本、功能強(qiáng)大的機(jī)器視覺(jué)模塊,自帶STM32處理器,圖3-2滾球控制系統(tǒng)結(jié)構(gòu)圖集成OV7725攝像頭芯片,可以對(duì)攝像頭傳感的圖像進(jìn)行自處理,并可與機(jī)器人主處理器進(jìn)行通訊[13]。采用C語(yǔ)言對(duì)機(jī)器視覺(jué)的核心算法進(jìn)行了有效的實(shí)現(xiàn),并為其提供了Python的編程界面。OpenMV的主控部分原理圖如圖3-3所示。在此基礎(chǔ)上,提出了一種基于OpenMV的圖像識(shí)別方法,該方法主要用于圖像識(shí)別,人臉識(shí)別,眼動(dòng)跟蹤,邊緣檢測(cè),標(biāo)記跟蹤等。該方法可用于對(duì)非法入侵進(jìn)行檢測(cè),對(duì)產(chǎn)品進(jìn)行殘次品的篩選。用戶只需編寫(xiě)幾個(gè)簡(jiǎn)單的Python程序,就可以很容易地完成與機(jī)器視覺(jué)有關(guān)的各項(xiàng)工作。比如尋找小球的算法,只需要在OpenMV提供的案例中找到尋找色塊的算法功能再進(jìn)行一定的修改和包裝就可以快速的完成。OpenMV可以使用USB來(lái)將整個(gè)系統(tǒng)與OpenMVIDE聯(lián)接在一起,并協(xié)助完成程序編寫(xiě),調(diào)試,更新固件。TF卡插槽可提供大量的TF卡,可用來(lái)儲(chǔ)存程式、儲(chǔ)存相片等。3.2.2模塊設(shè)計(jì)本文所設(shè)計(jì)的這個(gè)系統(tǒng)就是采用了這種方法,利用UART技術(shù)實(shí)現(xiàn)了系統(tǒng)的硬件接口。運(yùn)用Python語(yǔ)言,調(diào)用OpenMV中內(nèi)置的OpenCV庫(kù),找出尋找白色小球的算法,然后根據(jù)小球的位置,計(jì)算其坐標(biāo),并對(duì)得到的結(jié)果進(jìn)行簡(jiǎn)單的包裝,最后通過(guò)UART串口將信息傳輸給STM32。13圖3-3OpenMV主控原理圖3.3舵機(jī)控制模塊3.3.1理論分析舵機(jī)是一種小型裝置,它有一個(gè)輸出軸。所述軸線可通過(guò)傳輸所述伺服編碼信號(hào)而位于所述特定角位置上。該伺服器將維持該軸的角度位置,只要該輸入線上有一個(gè)編碼信號(hào)。跟傳統(tǒng)的模擬舵機(jī)進(jìn)行比較,數(shù)字舵機(jī)更具備優(yōu)勢(shì),只需要簡(jiǎn)單的發(fā)送一次PWM信號(hào)既可以使其維持在一定的位置范圍內(nèi)或保持某一個(gè)速度,操作簡(jiǎn)單,而不像模擬舵機(jī)需要給它不停的發(fā)送PWM信號(hào),所以數(shù)字舵機(jī)的“無(wú)反應(yīng)區(qū)”變得很小,且線性度好,響應(yīng)速度也更快[14]。由于采用了單片機(jī),因此,在向操縱器電機(jī)發(fā)出功率脈沖前,數(shù)字操縱器能夠按照設(shè)定的參數(shù)對(duì)輸入信號(hào)進(jìn)行處理。也就是說(shuō),驅(qū)動(dòng)電機(jī)的功率可以通過(guò)微處理機(jī)的程序來(lái)調(diào)節(jié),從而達(dá)到最優(yōu)控制效果。數(shù)字執(zhí)行器向馬達(dá)傳輸高頻的電力脈沖。也就是,從50次,變成了300次。因?yàn)槌霈F(xiàn)的頻率越來(lái)越高,每一個(gè)脈沖的寬度都會(huì)變短,但是,電機(jī)卻能同時(shí)接收到更多的激勵(lì)電流,轉(zhuǎn)動(dòng)速度也會(huì)變快。同時(shí),它還將使操縱器的運(yùn)動(dòng)更加準(zhǔn)確,減少“無(wú)反應(yīng)區(qū)”,提高響應(yīng)速度;同時(shí),它的加速和減速也更快,更柔和;數(shù)字式舵機(jī)具有更高的精確度和更好的緊固力。3.3.2模塊設(shè)計(jì)本系統(tǒng)所使用的執(zhí)行器為兩個(gè)MG996R的數(shù)字舵機(jī)如圖3-4所示,其最大推力為30kg,工作電壓為4.8-6.5V。實(shí)際使用中發(fā)現(xiàn)該舵機(jī)在使用5V電源時(shí)推力最大性能最好。圖3-4STM32F103C8T6引腳示意圖本舵機(jī)可以直接接收主控制器STM32發(fā)出的PWM信號(hào),因此不需要電機(jī)驅(qū)動(dòng)模塊即可控制運(yùn)行,其轉(zhuǎn)動(dòng)角度很大。舵機(jī)裝上舵機(jī)臂,讓力矩可以傳輸出去。然后使用螺絲把舵機(jī)臂與雙文螺桿進(jìn)行連接,然后用金屬球頭把雙頭螺桿與板子連接在一起。使得舵機(jī)能順利地把力矩轉(zhuǎn)化成板子X(jué)/Y方向的轉(zhuǎn)動(dòng),使得無(wú)論通過(guò)哪個(gè)角度的轉(zhuǎn)動(dòng)舵機(jī)都可以精準(zhǔn)的控制小球的位置。3.4STM32控制器3.4.1理論分析該系統(tǒng)使用了STM32F103C8T6作為主控芯片。STM32F103C8T6具有較高的性能。此芯片使用了高性能的RISC內(nèi)核,其工作頻率可達(dá)72MHZ,并帶有一個(gè)高速存儲(chǔ)器,可擴(kuò)展的增強(qiáng)輸入/輸出,并可與兩條APB總線進(jìn)行外部連接。而且STM32F103C8T6還擁有豐富的IO口,可滿足各種復(fù)雜的應(yīng)用需求。在這個(gè)滾球控制系統(tǒng)的構(gòu)建過(guò)程中,我們用到了STM32的串口、定時(shí)器、IIC及其它外設(shè)。將串口設(shè)定為一種中斷的接收模式,并設(shè)定了一系列的參數(shù)(波特率、數(shù)據(jù)比特、校驗(yàn)比特、停止比特),然后寫(xiě)出了一個(gè)串口的接收協(xié)議。使主控制器可以精準(zhǔn)的接收到來(lái)自O(shè)penMV發(fā)送過(guò)來(lái)的數(shù)據(jù)。而且STM32F103C8T6還可以配置為PWM模式。圖3-4為STM32F103C8T6的引腳示意圖。3.4.2模塊設(shè)計(jì)本次系統(tǒng)的搭建我選擇使用STM32的PWM模式來(lái)輸出PWM信號(hào)。由于要控制兩個(gè)舵機(jī)同時(shí)轉(zhuǎn)動(dòng)方向,所以需要使用到兩個(gè)控制器來(lái)輸出4路PWM信號(hào),這樣才能方便的使用程序來(lái)控制舵機(jī)的升降大小和速度。圖3-5為STM32主控制器實(shí)物圖。圖3-5STM32主控制器實(shí)物圖3.5小結(jié)滾球控制系統(tǒng)的硬件主要構(gòu)成的原理圖如圖3-6所示。圖3-6滾球控制系統(tǒng)原理圖滾球控制系統(tǒng)的硬件主要是由使用陀螺儀模塊對(duì)平板的角度進(jìn)行實(shí)時(shí)測(cè)量計(jì)算,并控制每次任務(wù)結(jié)束后平板所處的位置都是水平狀態(tài)。當(dāng)球放在平板上的時(shí)候,OpenMV會(huì)對(duì)小球的位置進(jìn)行坐標(biāo)轉(zhuǎn)換并將轉(zhuǎn)換后的小球坐標(biāo)信息傳送給STM32單片機(jī),單片機(jī)通過(guò)發(fā)送PWM信號(hào)保證平板傾斜到相應(yīng)的位置使小球滾動(dòng)到任務(wù)要求的位置。矩陣鍵盤(pán)可以選擇所需要的任務(wù)模式來(lái)完成所對(duì)應(yīng)的任務(wù),其中的數(shù)據(jù)會(huì)通過(guò)液晶屏顯示出來(lái)。
第四章系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)4.1滾球控制系統(tǒng)的程序構(gòu)架小球位置和圓形的檢測(cè)是控制滾球系統(tǒng)的基礎(chǔ)。在圖像處理以及模式識(shí)別中,經(jīng)常需要獲取圖片中圓和矩形的信息,將采集到的圖片首先進(jìn)行灰度化處理,再進(jìn)行邊緣檢測(cè)、轉(zhuǎn)化為二值圖像等操作然后將小球的位置發(fā)送給STM32,由STM32將小球?qū)⒁竭_(dá)的位置進(jìn)行路徑規(guī)劃,最后進(jìn)行小球的PID運(yùn)算,將運(yùn)算好的數(shù)據(jù)通過(guò)PWM信號(hào)的方式傳輸給數(shù)字舵機(jī),具體流程如圖4-1所示。圖4-1滾球控制系統(tǒng)軟件流程圖4.2PID算法程序4.2.1理論分析在STM32中,由于PID算法是通過(guò)離散運(yùn)算實(shí)現(xiàn)的,因此被稱(chēng)為數(shù)字PID。本文介紹了一種基于數(shù)字PID的PID控制方法,并對(duì)其進(jìn)行了實(shí)驗(yàn)研究。該系統(tǒng)以定位PID控制為主。常規(guī)模擬PID控制的控制規(guī)律描述如式(4-1)[15]:uk=kP?其中Kp,Ki,Kd都為常數(shù),k為采樣周期的序號(hào),e(k)為期望值與被控對(duì)象實(shí)際輸出值的差(也就是PID控制算法的輸入)[16]。從式4-1中可以看出比例項(xiàng)是對(duì)偏差的線性放大,可以快速調(diào)節(jié)系統(tǒng)偏差,積分項(xiàng)可以累積系統(tǒng)偏差,主要用于消除系統(tǒng)靜態(tài)誤差,微分項(xiàng)用于計(jì)算系統(tǒng)偏差的變化率,具有預(yù)測(cè)作用可以使系統(tǒng)響應(yīng)更為平滑。從圖3-2中可以看出,平臺(tái)的傾斜角度是由X軸、Y軸方向的兩個(gè)舵機(jī)控制。因此程序中應(yīng)該有X、Y兩個(gè)方向的PID,分別控制X軸、Y軸兩個(gè)舵機(jī)的輸出。X軸PID函數(shù)的輸入是小球在X軸方向上的偏差,輸出是X軸舵機(jī)的PWM值;Y軸PID函數(shù)的輸入是小球在Y軸方向上的偏差,輸出是Y軸舵機(jī)的PWM值。最后是關(guān)于PID算法的系統(tǒng)靜態(tài)誤差。在滾球控制系統(tǒng)中系統(tǒng)靜態(tài)誤差主要表現(xiàn)為小球距離目標(biāo)位置永遠(yuǎn)有一定的偏差。通過(guò)受力分析可以知道小球在平板上會(huì)受到摩擦力影響的,也就是說(shuō)在不使用積分項(xiàng)的情況下,即使平板是傾斜的,小球依舊可能是處于相對(duì)靜止的狀態(tài),一旦小球處于靜止?fàn)顟B(tài),那么小球就一直到不了目標(biāo)位置[17]。但實(shí)際上在滾球控制系統(tǒng)中小球收到的摩擦力是很小的,只需要稍微加大一定Kp項(xiàng)的數(shù)值,那么系統(tǒng)靜態(tài)誤差就可以忽略不計(jì)了。但在調(diào)試滾球控制系統(tǒng)的時(shí)候遇到系統(tǒng)靜態(tài)誤差的情況是很少的,更多情況下是由于Kp項(xiàng)數(shù)值過(guò)大導(dǎo)致系統(tǒng)震蕩。因此本系統(tǒng)在調(diào)試時(shí)是先調(diào)Kp項(xiàng),再調(diào)Kd項(xiàng),最后調(diào)試Ki項(xiàng)。4.2.2串級(jí)PID控制由于串級(jí)PID可以增大系統(tǒng)的控制力,提高系統(tǒng)的穩(wěn)定性,所以,在實(shí)際應(yīng)用中,串級(jí)PID是比較適合的。串級(jí)PID控制流程如圖4-2所示。采用了位置-速度PID控制模型,其中速度環(huán)為內(nèi)環(huán),位置環(huán)為外環(huán)[18]。由于攝像頭與平臺(tái)始終保持正對(duì),因此圖像坐標(biāo)系與平臺(tái)的坐標(biāo)系可以視為一致,小球在圖像中的位置可以直接認(rèn)為是小球在平臺(tái)中的實(shí)際位置。一定時(shí)間內(nèi),小球的運(yùn)動(dòng)距離s與運(yùn)動(dòng)時(shí)間t之比為小球在該時(shí)間段內(nèi)的平均速度v,其中通過(guò)定時(shí)器控制t為150ms,由于時(shí)間較短因此可以近似認(rèn)為小球在t時(shí)間段內(nèi)為勻速直線運(yùn)動(dòng)。積分分離是指當(dāng)小球的實(shí)際位置與設(shè)定位置距離較近時(shí),積分項(xiàng)才開(kāi)始累加,一旦小球的實(shí)際位置與設(shè)定位置距離較遠(yuǎn),積分項(xiàng)將清零。積分過(guò)飽和處理是指限定積分項(xiàng)的累加和,防止累加和過(guò)大。這兩項(xiàng)處理很好的解決了積分項(xiàng)容易失控的問(wèn)題[19]。圖4-2串級(jí)PID控制流程框圖4.3OpenMV代碼4.3.1理論分析OpenMV自帶一個(gè)Micropython解釋器和cv庫(kù),調(diào)用OpenCV里面的blob色塊模塊,追蹤終點(diǎn)的顏色,通過(guò)這種方式實(shí)現(xiàn)對(duì)于色塊的識(shí)別,實(shí)現(xiàn)方法為:首先對(duì)分類(lèi)區(qū)色塊進(jìn)行拍照取樣,隨后在OpenMV軟件中通過(guò)閾值編輯器改變顏色的閾值來(lái)進(jìn)行色塊追蹤,將顏色加入函數(shù)中再調(diào)用OpenCV庫(kù),框出鏡頭畫(huà)面中滿足顏色閾值的色塊,將信息轉(zhuǎn)化為數(shù)值的形式發(fā)送給主控,主控根據(jù)信息決定運(yùn)動(dòng)軌跡[20]。OpenMV尋找小球坐標(biāo)可以使用尋找色塊和尋找最大圓的方法來(lái)鎖定小球的位置。先調(diào)節(jié)OpenMV顏色閾值來(lái)確保其識(shí)別的小球不會(huì)出錯(cuò),調(diào)整后最理想的閾值圖如圖4-3所示。4.3.2模塊設(shè)計(jì)OpenMV采用Python語(yǔ)言編寫(xiě)軟件,程序設(shè)計(jì)主要分為2個(gè)模塊,對(duì)圖像采集模塊輸出的數(shù)據(jù)進(jìn)行處理,PID算法控制云臺(tái)舵機(jī)的速度、方向[5]。圖4-4為OpenMV系統(tǒng)設(shè)計(jì)流程圖。圖4-3OpenMV顏色閾值圖圖4-4OpenMV系統(tǒng)設(shè)計(jì)流程圖4.4STM32控制代碼STM32先對(duì)液晶屏、按鍵、舵機(jī)進(jìn)行初始化,然后通過(guò)按鍵的不同進(jìn)行不同的任務(wù)流程。因?yàn)閺腛penMV接收到的數(shù)據(jù)都是字符串類(lèi)型的并不能直接進(jìn)行運(yùn)算所以如果想從中讀取STM32所需要的小球坐標(biāo)信息,就需要使用串口函數(shù)將字符串型信息轉(zhuǎn)換為數(shù)值型信息。之后通過(guò)PID算法計(jì)算出所需要輸出的PWM信號(hào),然后信號(hào)傳輸給舵機(jī),讓小球向指定方向運(yùn)行。隨后通過(guò)OpenMV傳輸過(guò)來(lái)的小球坐標(biāo)不斷修正PWM信號(hào),最終確保小球可以完成指定的任務(wù)。其具體流程圖如圖4-5所示。圖4-5任務(wù)選擇與實(shí)現(xiàn)224.6小結(jié)本系統(tǒng)的軟件主要設(shè)計(jì)為先設(shè)計(jì)一個(gè)小球?qū)⒁苿?dòng)到的位置終點(diǎn),然后通過(guò)OpenMV來(lái)檢測(cè)平板上是否有小球,如果有則確定小球的坐標(biāo),并把坐標(biāo)通過(guò)串口傳輸給STM32.由STM32來(lái)對(duì)小球的運(yùn)行路徑做制作路徑規(guī)劃,然后通過(guò)小球的PID算法來(lái)輸出合適的PWM信號(hào),將PWM信號(hào)傳輸給舵機(jī)控制舵機(jī)輸出,最終使小球按照規(guī)劃好的路徑移動(dòng)到最初設(shè)計(jì)的終點(diǎn)位置。第五章系統(tǒng)測(cè)試5.1系統(tǒng)組裝5.1.1舵機(jī)組裝先使用舵機(jī)固定架將舵機(jī)垂直固定在平板上。使用三個(gè)絲桿,若干螺絲和螺帽,25T金屬舵機(jī)擺臂兩個(gè)連桿頭若干。使用螺帽和螺絲將支撐桿固定在舵機(jī)擺臂上,上層使用膠水進(jìn)行固定,確保平板不會(huì)因?yàn)檎迟N不牢固導(dǎo)致左右搖晃影響系統(tǒng)精準(zhǔn)度。舵機(jī)擺臂組裝后的效果圖如圖5-1所示。圖5-1舵機(jī)固定架5.1.2支撐組裝主支撐柱是由一根長(zhǎng)螺絲和一個(gè)螺絲底座為基礎(chǔ)保證基底穩(wěn)定不會(huì)發(fā)生偏移和倒塌現(xiàn)象,上層則是使用萬(wàn)向軸作為支撐,使用膠水黏合。萬(wàn)向軸可以保證平板傾斜時(shí)絲滑不卡頓,不會(huì)由于摩擦力過(guò)大導(dǎo)致平板無(wú)法進(jìn)行一些細(xì)微的操作而導(dǎo)致小球無(wú)法落到設(shè)定好的位置上。圖5-2為支撐桿底座固定實(shí)物圖,圖5-3為支撐桿與平板連接效果圖。圖5-2支撐桿與底座固定圖圖5-3支撐桿連接平板實(shí)物圖系統(tǒng)支撐搭建好之后,由舵機(jī)、主控制器、平板組成的整個(gè)滾球控制系統(tǒng)的主體控制設(shè)備就基本搭建完成了,將小球放在平板上確保小球可以靜止在平板上。該系統(tǒng)的主體部分
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 防水店鋪轉(zhuǎn)讓合同范本
- 考核方案培訓(xùn)
- 獨(dú)立服裝設(shè)計(jì)師品牌與消費(fèi)者關(guān)系及優(yōu)化研究
- 清理舊賬的合同范本
- 家庭安全檢測(cè)服務(wù)合同(2篇)
- 票冊(cè)設(shè)計(jì)合同范本
- 2025至2030年中國(guó)手提終端機(jī)行業(yè)投資前景及策略咨詢報(bào)告
- 2025至2030年中國(guó)扁鐵相框行業(yè)投資前景及策略咨詢報(bào)告
- 2025至2030年中國(guó)強(qiáng)力電子清洗劑行業(yè)投資前景及策略咨詢報(bào)告
- 2025至2030年中國(guó)弱酸性艷紅行業(yè)發(fā)展研究報(bào)告
- 2024年中國(guó)機(jī)械工業(yè)集團(tuán)有限公司國(guó)機(jī)集團(tuán)總部招聘筆試真題
- 高新技術(shù)企業(yè)認(rèn)定代理服務(wù)協(xié)議書(shū)范本
- 安全生產(chǎn)、文明施工資金保障制度11142
- 中藥性狀鑒定技術(shù)知到課后答案智慧樹(shù)章節(jié)測(cè)試答案2025年春天津生物工程職業(yè)技術(shù)學(xué)院
- 2025年全屋定制家居市場(chǎng)分析與經(jīng)營(yíng)計(jì)劃
- 電動(dòng)汽車(chē)結(jié)構(gòu)原理與檢修課件:慢充系統(tǒng)檢修
- 2024年臺(tái)州職業(yè)技術(shù)學(xué)院招聘筆試真題
- GB/T 33744-2025應(yīng)急避難場(chǎng)所管護(hù)使用規(guī)范
- 專(zhuān)題09 產(chǎn)業(yè)區(qū)位與產(chǎn)業(yè)發(fā)展【知識(shí)精研】高考地理二輪復(fù)習(xí)
- 《陸上風(fēng)電場(chǎng)工程概算定額》NBT 31010-2019
- 2024年山東省事業(yè)單位歷年面試題目及答案解析50套
評(píng)論
0/150
提交評(píng)論