遠(yuǎn)程視像搬運(yùn)小車控制系統(tǒng)設(shè)計(jì)_第1頁
遠(yuǎn)程視像搬運(yùn)小車控制系統(tǒng)設(shè)計(jì)_第2頁
遠(yuǎn)程視像搬運(yùn)小車控制系統(tǒng)設(shè)計(jì)_第3頁
遠(yuǎn)程視像搬運(yùn)小車控制系統(tǒng)設(shè)計(jì)_第4頁
遠(yuǎn)程視像搬運(yùn)小車控制系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第1章緒論1.1研究目的及意義隨著工業(yè)自動(dòng)化、智能化和??信息化??的加速??,自動(dòng)??控制正??在逐步??取代傳??統(tǒng)人工??控制REF_Ref6576\r\h[1]。??物料搬??運(yùn)的需??求增大??,無論??是建筑??工地的??建材搬??運(yùn)還是??物聯(lián)網(wǎng)??的倉儲(chǔ)??管理,??都離不??開物料??搬運(yùn)REF_Ref1338\r\h[2]。??小車搬??運(yùn)系統(tǒng)??已經(jīng)融??入了社??會(huì)生活??的方方??面面REF_Ref1417\r\h[3]。??然而,??傳統(tǒng)的??小車搬??運(yùn)系統(tǒng)??存在著??操作繁??瑣,人??工成本??較高等??問題REF_Ref1475\r\h[4]。??采用增??量式PID??算法??設(shè)計(jì)了??一種分??揀搬運(yùn)??機(jī)器人??,通過??控制X軸??和Y??軸減??速電機(jī)??實(shí)現(xiàn)物??體的搬??運(yùn),采??用樹莓派4B為控??制核心??,結(jié)合??抗干擾??黑線提??取算法??、軌跡??圖像采??集算法??及P??ID轉(zhuǎn)向控??制算法??,設(shè)計(jì)??了一種??智能搬??運(yùn)小車??的結(jié)構(gòu)??,結(jié)果??表明設(shè)??計(jì)的智??能小車??能根據(jù)??自身的??位置、??速度及??方向適??時(shí)調(diào)節(jié)??,穩(wěn)定??、快速??的到達(dá)??指定位置REF_Ref1560\r\h[5]。我國物流與采購聯(lián)??合會(huì)的??《中國??物流年??鑒(2??003??)》中??對自動(dòng)??化物流??系統(tǒng)定??義為??:自動(dòng)??化物流??是集光??電信??息技術(shù)??為一體??的系統(tǒng)??工程,??隨著信??息技術(shù)??的發(fā)展??,它??具有更??廣闊的??外延,??典型的??自動(dòng)化??物流技??術(shù)主要??包括自??動(dòng)化立??體倉庫??系統(tǒng)、??自動(dòng)輸??系統(tǒng)、??自動(dòng)引??導(dǎo)車系??統(tǒng)A??GVS??機(jī)器人??作業(yè)系??統(tǒng)和自??動(dòng)控制??系統(tǒng)等??。這些??自動(dòng)??化物流??系統(tǒng)涉??的??相關(guān)的??技術(shù),??主要包??括自動(dòng)??倉庫技??術(shù)、分??揀自動(dòng)??化技術(shù)??、自動(dòng)??引導(dǎo)車??(AG??V)技??術(shù)等。??自動(dòng)引??導(dǎo)小車??,是指裝配了傳感器,能夠感知工作環(huán)境沿規(guī)定的路徑行駛,并且可以設(shè)置運(yùn)行參數(shù)的全自動(dòng)小車REF_Ref1678\r\h[6]。隨著科學(xué)技術(shù)的進(jìn)步,物資倉儲(chǔ)管理也有了更多的選擇性,通過電子信息化建設(shè),能夠更好地提高物資倉儲(chǔ)管理效率REF_Ref30141\r\h[7]。??因此,??自動(dòng)引導(dǎo)小車在智能制造領(lǐng)域的應(yīng)用越來越廣泛。能夠大量節(jié)省人力物力,人們在日常生活中,也切實(shí)地享受到了其帶來的便捷,例如,快遞分揀小車、火災(zāi)現(xiàn)場尋路、掃地機(jī)器人等等REF_Ref2302\r\h[8]。對于人??力搬運(yùn)??而言,以往會(huì)使用人工叉車進(jìn)行搬運(yùn),工作效率較低,而且存在危險(xiǎn)REF_Ref30602\r\h[9]。??使用自動(dòng)??引導(dǎo)小??車不僅??可以在??無人監(jiān)??控的狀??態(tài)下正??常運(yùn)行??,同時(shí)??也可以??通過在??車的四??周裝上??一些避??障傳感??器來有??效地躲??避障礙物,有效地將人員的傷害降到了最低點(diǎn)REF_Ref10645\r\h[10]。近年來,隨著我國??自動(dòng)化??技術(shù)的??不斷發(fā)??展,智??能搬運(yùn)??小車的??發(fā)展主??要由機(jī)??械結(jié)構(gòu)??部分和??硬件控??制電路??部分組??成,具??有場地??目標(biāo)位??置識(shí)別??、自主??路徑規(guī)??劃、自??主移動(dòng)??、二維??碼讀取??、物料??顏色識(shí)??別或形??狀識(shí)別??、物料??抓取和搬運(yùn)等功能REF_Ref10720\r\h[11]。1.2國內(nèi)外研究現(xiàn)狀隨著社會(huì)經(jīng)濟(jì)??的迅速??發(fā)展,??工業(yè)搬??運(yùn)小車??逐漸發(fā)??展起來??,進(jìn)一??步提高??生產(chǎn)與??分揀效??率正成??為行業(yè)??的發(fā)展??趨勢,??同時(shí)具??有龐大??的市場需求REF_Ref2426\r\h[12]。2022年,楊日容在《??基于直??流電機(jī)??的智能??搬運(yùn)小??車設(shè)計(jì)??與實(shí)現(xiàn)??》文中??談到設(shè)??計(jì)了基??于單片??機(jī)控制??的智能??搬運(yùn)小??車,融??合了計(jì)??算機(jī)、??傳感器??、自動(dòng)??控制原??理、通??信技術(shù)??和人工??智能等??多個(gè)學(xué)??科為一??體。能??夠通過??各類傳??感器對??物料、??路徑以??及外部??環(huán)境進(jìn)??行多方??位的感知與識(shí)別REF_Ref2458\r\h[13]。2021年,葉昊宸,王會(huì)良,??張志??高在??《基于??單片機(jī)??控制的??智能物??料搬運(yùn)??小車的??設(shè)計(jì)》??文中介??紹了小??車整體??由電路??硬件系??統(tǒng)、機(jī)??械系統(tǒng)??和軟件??系統(tǒng)三??個(gè)系統(tǒng)??構(gòu)成。??軟件系??統(tǒng)通過??程序編??寫并燒??錄至單??片機(jī),??控制主??控模塊??芯片與??Ard??uin??oNa??no單??片機(jī),??從而用??于小車??整體識(shí)??別、通??信與控??制等過??程的實(shí)??現(xiàn)。機(jī)??械系統(tǒng)??負(fù)責(zé)執(zhí)??行相關(guān)運(yùn)動(dòng)任務(wù),實(shí)現(xiàn)任務(wù)目標(biāo)REF_Ref2488\r\h[14]。2020年,林健全??,劉浩捷,孫偉卿在《基??于ST??M32??的智能??物料搬??運(yùn)小車??》文中??講到,??文以智??慧工廠??中常見??的搬運(yùn)??小車為??研究對??象,給??出了小??車總體??結(jié)構(gòu)、??硬件設(shè)??計(jì)、軟??件設(shè)計(jì)??、系統(tǒng)??聯(lián)調(diào)四??個(gè)主要??設(shè)計(jì)內(nèi)??容,最??終實(shí)現(xiàn)??了智能??搬運(yùn)小??車常見??的沿線??走、避??障、站??點(diǎn)設(shè)計(jì)??、到站??停、顯示路程等功能REF_Ref2524\r\h[15]。2023年,VlachosIliasP.,PascazziRodrigoMartinez,ZobolasGeorge在《LeanmanufacturingsystemsintheareaofIndustry4.0:aleanautomationplanofAGVs/IoTintegration》文章中講到將自動(dòng)導(dǎo)引車(AGV)和物聯(lián)網(wǎng)(IoT)來制定計(jì)劃,幫助管理者將工業(yè)4.0技術(shù)集成到他們的制造系統(tǒng)中,實(shí)現(xiàn)精益自動(dòng)化,通過自動(dòng)化提高效率REF_Ref2556\r\h[17]。2023年,DemirMehmetHakan,DemirokMehmet在《DesignsofParticle-Swarm-Optimization-BasedIntelligentPIDControllersandDC/DCBuckConvertersforPEMFuel-Cell-PoweredFour-WheeledAutomatedGuidedVehicle》文中指出對于自動(dòng)導(dǎo)引車(AGV),以最大的能源效率最大化運(yùn)行時(shí)間是提高工作效率的最重要因素。將開發(fā)基于粒子群優(yōu)化(PSO)的智能PID和I控制器,以最大限度地提高AGV的路由跟蹤性能和DC/DC轉(zhuǎn)換器的電壓跟蹤性能,同時(shí)降低功耗REF_Ref2582\r\h[18]。2022年,SteclikTomasz,CupekRafal,DrewniakMarek在??《AutomaticgroupingofproductiondatainIndustry4.0:TheusecaseofinternallogisticssystemsbasedonAutomatedGuidedVehicles》??文中提出一種基于流信息的AGV工作類型自動(dòng)檢測方法。通過K-meanss和DBScan兩種不同經(jīng)典聚類算法得到的結(jié)果比較。結(jié)果表明可用這兩種方法之一自動(dòng)檢測AGV所執(zhí)行的工作類型,并檢測新的、以前未知的類型REF_Ref2612\r\h[19]。2021年,PrabowoYA,ImaduddinRI,PambudiWS在《Identificationofautomaticguidedvehicle(agv)basedonmagneticguidedsensorforindustrialmaterialtransfer》中對采用磁導(dǎo)式傳感器的AGV設(shè)計(jì)一種控制器,來精準(zhǔn)控制AGV運(yùn)作REF_Ref3618\r\h[20]。2019年,AlexanderASGunawan,ValdiStevanus,AlbertusFarley在《DevelopmentofSmartTrolleySystemBasedonAndroidSmartphoneSensors》中通過使用IOIO微控制器和Android智能手機(jī)作為傳感器和控制器設(shè)計(jì)的智能小車REF_Ref4878\r\h[21]。綜上所述,近年來,??隨著工??業(yè)A??GV小車和??汽車電??子的迅??速發(fā)展??,智能??小車得??到了廣??泛的研??究,所??以對于??搬運(yùn)小??車的控??制研究??也越來越多REF_Ref2651\r\h[16]。1.3主要研究內(nèi)容通過PYTHON3等軟件進(jìn)??行編程??,同時(shí)??不斷進(jìn)??行實(shí)物??調(diào)試測??試,小??車可以??實(shí)現(xiàn)對??任務(wù)的??讀取和??不同顏??色物料??的識(shí)別??。準(zhǔn)確完??成按照指令??進(jìn)行物料的抓取、物料的??搬運(yùn),滿足??搬??運(yùn)小車??運(yùn)行的設(shè)計(jì)目標(biāo)。該系統(tǒng)應(yīng)完成的主要功能有:1.使用WIFI通信技術(shù),手機(jī)端上位機(jī);2.用戶可在手機(jī)端進(jìn)行功能選擇切換:手機(jī)遙控、顏色識(shí)別;3.用戶可在手機(jī)端接收搬運(yùn)小車回傳來的畫面;4.用戶可在手機(jī)端控制搬運(yùn)小車移動(dòng);5.搬運(yùn)小車可通過攝像頭實(shí)時(shí)采集畫面并回傳到手機(jī);6.搬運(yùn)小車可接收手機(jī)端指令控制;7.搬運(yùn)小車可完成物體抓取,搬運(yùn)功能;8.搬運(yùn)小車可完成顏色識(shí)別追蹤功能;

第2章系統(tǒng)的總體結(jié)構(gòu)2.1總體方案設(shè)計(jì)為實(shí)現(xiàn)搬運(yùn)不??同顏色??的物料,響??應(yīng)智能??制造發(fā)??展的要??求,設(shè)??計(jì)了一??款遠(yuǎn)程??視像搬??運(yùn)小車??控制系??統(tǒng)設(shè)計(jì)??。該小??車采用??模塊化??設(shè)計(jì),??由主控??模塊、攝像頭模塊、顏??色識(shí)別傳感器模塊、??電機(jī)驅(qū)??動(dòng)與機(jī)??械臂等??模塊組??成。主??控模塊??芯片采??用樹莓派4B,能??夠用于??處理各??傳感器??收集到??的數(shù)據(jù)??,控制??或驅(qū)動(dòng)??各個(gè)模??塊的工??作。上位機(jī)上位機(jī)WiFi模塊主控模塊舵機(jī)模塊顏色識(shí)別傳感器模塊攝像頭模塊電機(jī)驅(qū)動(dòng)模塊圖2.1系統(tǒng)模塊框圖主控模塊以樹莓派4B為核心,發(fā)布的指令通過樹莓派傳輸至舵機(jī)和小車,操控二者上下(左右)運(yùn)動(dòng)。攝像頭裝在舵機(jī)上,采集周圍圖像信息后傳輸至上位機(jī)。數(shù)據(jù)通過WIFI模塊上傳至云端,上位機(jī)在通過WIFI連接獲取云端數(shù)據(jù),使得能夠?qū)崟r(shí)查看攝像頭拍取的畫面。同時(shí)上位機(jī)也可通過WiFi模塊完成遠(yuǎn)程操控。2.2功能需求分析2.2.1技術(shù)路線(1)硬件部分需要樹莓派4B控制系統(tǒng)、高清攝像頭、高性能總線舵機(jī)、編碼器電機(jī);(2)軟件平臺(tái)程序用PYTHON3等軟件;(3)畫原理圖用AD;(4)編程語言用Python;(5)用戶信息通過手機(jī)顯示查看;2.3單片機(jī)型號(hào)選擇主芯片可以選擇樹莓派4B、51單片機(jī)或32單片機(jī)。樹莓派確實(shí)是一種嵌入式計(jì)算機(jī),但與傳統(tǒng)的臺(tái)式機(jī)或筆記本電腦相比,它更加靈活、可定制化。除了使用TF卡作為存儲(chǔ)介質(zhì)外,樹莓派的處理器、內(nèi)存等硬件也不同于傳統(tǒng)計(jì)算機(jī),但其所能完成的任務(wù)卻相當(dāng)廣泛。在樹莓派上可以安裝各種操作系統(tǒng),包括Linux系統(tǒng)和Windows10IoTCore等。通過不同的軟件和編程語言,樹莓派可以用于各種不同的應(yīng)用場景,例如物聯(lián)網(wǎng)設(shè)備、媒體中心、智能家居等等。在樹莓派上搭建一個(gè)迷你的Web服務(wù)器,搭建一個(gè)智能家居系統(tǒng),制作一個(gè)機(jī)器人等等,這些都是非常有趣而且有意義的項(xiàng)目??偟膩碚f,樹莓派是一個(gè)非常有用和多才多藝的工具,可以讓人們嘗試不同的技術(shù)和項(xiàng)目,以及實(shí)現(xiàn)一些有趣的想法。51單片機(jī)/STC單片機(jī)是一種基于哈佛結(jié)構(gòu)的8位單片機(jī),是一種低成本、高性能、易于掌握和廣泛應(yīng)用的微控制器。它們通常使用匯編語言或C語言進(jìn)行編程,具有低功耗、穩(wěn)定性高等特點(diǎn),常用于各種家電控制、工業(yè)控制、汽車電子、安防系統(tǒng)、智能家居等應(yīng)用領(lǐng)域。其主要優(yōu)勢是價(jià)格低廉、易于掌握、開發(fā)資料豐富、外設(shè)資源齊全、內(nèi)部Flash可編程等。而其主要缺點(diǎn)是運(yùn)行速度慢、片上資源有限、缺少先進(jìn)的外設(shè)資源和通信接口、不適用于高性能要求的場合。STM32是一種基于ARM架構(gòu)的32位微控制器,在嵌入式系統(tǒng)的領(lǐng)域應(yīng)用非常廣泛。其通訊接口豐富,GPIO數(shù)量多,定時(shí)器數(shù)量多,中斷系統(tǒng)完善,可用于讀取大量傳感器等,因此非常適合用于復(fù)雜邏輯的應(yīng)用中。同時(shí),STM32也存在著一些缺點(diǎn),如價(jià)格較高,上手有一定難度等。所以綜上所述,我選擇樹莓派4B單片機(jī),其原理圖如下。圖2.2樹莓派4B原理圖第3章系統(tǒng)的硬件部分設(shè)計(jì)3.1系統(tǒng)總體設(shè)計(jì)為實(shí)現(xiàn)搬運(yùn)不同顏??色的物??料,??響應(yīng)智??能制造??發(fā)展的??要求,??設(shè)計(jì)了??一款遠(yuǎn)??程視像??搬運(yùn)小??車控制??系統(tǒng)設(shè)??計(jì)。該??小車采??用模塊??化設(shè)計(jì)??,由主??控模塊??、攝像頭模塊、??顏色識(shí)??別傳感器模塊??、電機(jī)??驅(qū)動(dòng)與??機(jī)械臂??等模塊??組成。??主控模??塊芯片??采用樹莓派4B,??能夠用??于處理??各傳感??器收集??到的數(shù)??據(jù),控??制或驅(qū)??動(dòng)各個(gè)??模塊的??工作??傇韴D如下圖:圖3.1系統(tǒng)總體原理圖3.2系統(tǒng)的主要功能模塊設(shè)計(jì)3.2.1蜂鳴器電路模塊設(shè)計(jì)蜂鳴器是一體??化結(jié)構(gòu)????的??電子????訊響??器????,采用????直??流電????壓供??電????,廣泛????應(yīng)??用于????計(jì)算??機(jī)????、打印????機(jī)??、復(fù)????印機(jī)??、????報(bào)警器????、??電子????玩具??、????汽車電????子??設(shè)備????、電??話????機(jī)、定????時(shí)??器等????電子??產(chǎn)????品中作????發(fā)聲器??件。結(jié)??構(gòu)一般為:1、蜂鳴器:??發(fā)聲元????件,??在其????兩端??施????加直流????電??壓(????有源??蜂????鳴器)????或??者方????波(??無????源蜂鳴????器??)就????可以??發(fā)????聲,其????主??要參????數(shù)是??外????形尺寸????、??發(fā)聲????方向??、????工作電????壓??、工????作頻??率????、工作????電??流、????驅(qū)動(dòng)??方????式(直????流??方波????)等??。????這些都????需??要根????據(jù)需要進(jìn)行選擇。2、續(xù)流二極????管:??蜂鳴????器本??質(zhì)????上是一????個(gè)??感性????元件??,????其電流????不??能瞬????變,??因????此必須????有??一個(gè)????續(xù)流??二????極管提????供??續(xù)流????。否??則????,在蜂????鳴??器兩????端會(huì)??產(chǎn)????生幾十????伏??的尖????峰電??壓????,可能????損??壞三????極管??,????并干擾????整??個(gè)電????路系??統(tǒng)的其他部分。3、濾波電容:????其作用????是濾??波????,濾除????蜂??鳴器????電流??對????其他部????分??的影????響,??也????可以改????善??電源????的交??流????阻抗,????如??果可????能,??最????好是再????并??聯(lián)一????個(gè)2??2????0uF????的??電解電容。4、三極管:起??開關(guān)作????用??,其基????極??的高????電平??使????三極管????飽??和導(dǎo)????通,??使????蜂鳴器????發(fā)??聲;????而基??極????低電平????則??使三????極管??關(guān)????閉,蜂????鳴??器停????止發(fā)聲。其原理圖為:圖3.2蜂鳴器原理圖3.2.2YX4055AM驅(qū)動(dòng)電路模塊設(shè)計(jì)通過??單片機(jī)????的I??/????O輸入????改??變芯????片控??制????端的電????平??,即????可以??對????電機(jī)進(jìn)????行??正反????轉(zhuǎn),??停????止的操????作??。????內(nèi)部包????含??4通????道邏??輯????驅(qū)動(dòng)電????路??,是????一種??二????相和四????相??電機(jī)????的專??用????驅(qū)動(dòng)器????,??即內(nèi)????含二??個(gè)????H橋的????高??電壓????大電??流????雙全橋????式??驅(qū)動(dòng)????器,??接????收標(biāo)準(zhǔn)????T??TL????邏輯??電????平信號(hào)??,可驅(qū)??動(dòng)46??V、2??A以??下的電機(jī)。原理圖如下。圖3.3驅(qū)動(dòng)電路模塊設(shè)計(jì)3.2.3按鍵電路模塊設(shè)計(jì)本系統(tǒng)用到??了????倆個(gè)獨(dú)立按????鍵??,其????中一??個(gè)????用作系????統(tǒng)??的開始??,????另外一??個(gè)用作系統(tǒng)的關(guān)閉,??該????種接法????查??詢簡????單,??程????序處理????簡??單,????可節(jié)??省????CPU????資??源,????2個(gè)??獨(dú)????立按鍵????分??別與????單片??機(jī)的兩??個(gè)????接口相????連??。原????理圖??如下所示。圖3.4按鍵電路模塊設(shè)計(jì)3.2.4顏色識(shí)別傳感器模塊設(shè)計(jì)TCS34725傳感器模塊的工作原理是利用L?ED發(fā)光照射到被測物體后,檢測其返回的RG?B比例值,進(jìn)而進(jìn)行顏色識(shí)別。其具有功耗小、體積小、安裝方便等優(yōu)點(diǎn),可以通過串口UART或者?IIC進(jìn)行數(shù)據(jù)讀取和控制。此外,TC?S34?725還具有7種顏色識(shí)別功能,并且可以設(shè)置單獨(dú)傳感器芯片工作模式,作為簡單傳感器模塊,MC?U不參與數(shù)據(jù)處理工作。這使得T?CS3?472?5能夠適應(yīng)不同的工作環(huán)境,與單片機(jī)及電腦連接原理圖如下。圖3.5顏色識(shí)別傳感器模塊原理圖3.2.5USB單目攝像頭模塊設(shè)計(jì)USB單目攝像頭??具有30萬??像素(??640x480像素)??,其采用OV7725攝像頭,其具有體??積小、??工作電??壓低,高效的特點(diǎn)。??由于處理圖像時(shí)使用的電流小于200MA,其又擁有USB接口,便于與樹莓派4B進(jìn)行連接。樹莓派中,有倆個(gè)攝像頭接口,一個(gè)USB和CSI接口,USB攝像頭有比較長,比較靈活的USB線,方便靈活,所以采用樹莓派USB2.0將樹莓派4B與攝像頭連接。模塊?圖如下。圖3.6USB單目攝像頭模塊3.2.6舵機(jī)模塊設(shè)計(jì)舵機(jī)(英文叫??Ser??vo)??:它由??直流電??機(jī)、減??速齒輪??組、傳??感器和??控制電??路組成??的一套??自動(dòng)控??制系統(tǒng)??,通過??發(fā)送信??號(hào),指??定輸出??軸旋轉(zhuǎn)??角度。??舵機(jī)一??般而言??都有最??大旋轉(zhuǎn)??角度(??比如1??80度??)與普??通直流??電機(jī)的??區(qū)別主??要在,??直流電??機(jī)是一??圈圈轉(zhuǎn)??動(dòng)的,??舵機(jī)只??能在一??定角度??內(nèi)轉(zhuǎn)動(dòng)??,不能??一圈圈??轉(zhuǎn)(數(shù)??字舵機(jī)??可以在??舵機(jī)模??式和電??機(jī)模式??中切換??,沒有??這個(gè)問??題)。??普通直??流電機(jī)??無法反??饋轉(zhuǎn)動(dòng)??的角度??信息,??而舵機(jī)??可以。??用途也??不同,??普通直??流電機(jī)??一般是??整圈轉(zhuǎn)??動(dòng)做動(dòng)??力用,??舵機(jī)是??控制某??物體轉(zhuǎn)??動(dòng)一定??角度用??(比如??機(jī)器人??的關(guān)節(jié)??)。原??理圖如下。圖3.7舵機(jī)模塊原理圖3.2.7WiFi通訊模塊ES??P82??66模??塊是以單??核32??位mc??uwi??fi芯??片為主??。其特??點(diǎn)是擁??有高性??能無線??soc??,是一??個(gè)完整??且自成??體系的??wif??i網(wǎng)絡(luò)??方案,??能夠獨(dú)??立運(yùn)行??,也可??以作為??sla??ve搭??載其他host運(yùn)行。ESP8266WIFI串口通信??模塊應(yīng)??該是使??用最廣??泛的一??種WI??FI模??塊之一??了,因??為ES??P82??66模??塊是一??款高性??能的W??IFI??串口模??塊。??Esp8266WiFi模組原理圖如下圖。圖3.8Esp8266WiFi模組原理圖第4章系統(tǒng)的軟件設(shè)計(jì)4.1系統(tǒng)的總體流程系統(tǒng)的軟件部分主要進(jìn)行小車前進(jìn)設(shè)計(jì),顏色識(shí)別設(shè)計(jì)等。程序開始運(yùn)行后首先要進(jìn)行初始化,將單片機(jī)的各引腳的狀態(tài)按程序中的初始化命令進(jìn)行初始化,單片機(jī)初始化完成后繼電器控制電路導(dǎo)通,隨后用上位機(jī)發(fā)布指令通過WIFI模塊控制小車進(jìn)行移動(dòng)或者控制舵機(jī)左右移動(dòng)。系統(tǒng)的總體流程圖如下所示。上位機(jī)上位機(jī)WiFi模塊樹莓派舵機(jī)模塊電機(jī)驅(qū)動(dòng)模塊圖像傳輸攝像頭模塊顏色識(shí)別傳感器數(shù)據(jù)傳至云平臺(tái)小車移動(dòng)圖4.1系統(tǒng)總體流程圖

4.2蜂鳴器報(bào)警電路模塊軟件設(shè)計(jì)程序開始運(yùn)行后,首先進(jìn)行單片機(jī)的初始化,初始化成功后,執(zhí)行小車移動(dòng)或其他程序,程序運(yùn)行完成后,蜂鳴器報(bào)警,發(fā)聲0.5秒。由于樹莓派主板上含有有源蜂鳴器,其內(nèi)置振蕩源,所以通電即可發(fā)出聲音,其流程圖如下所示。開始開始單片機(jī)初始化初始化是否成功?通過上位機(jī)發(fā)布指令執(zhí)行某程序,例如小車前進(jìn)結(jié)束是否是否執(zhí)行成功該程序?蜂鳴器工作否是圖4.2蜂鳴器工作流程圖4.3驅(qū)動(dòng)電路軟件模塊設(shè)計(jì)當(dāng)單片機(jī)初始化完成后,驅(qū)動(dòng)電路電路導(dǎo)通。隨后電機(jī)驅(qū)動(dòng)模塊開始運(yùn)行,小車隨即開始運(yùn)動(dòng)。上位機(jī)通過WiFi模塊控制樹莓派4B,隨后控制電機(jī)驅(qū)動(dòng)模塊對小車進(jìn)行移動(dòng)。其工作流程圖如下所示。開始開始單片機(jī)初始化初始化是否成功?電路導(dǎo)通驅(qū)動(dòng)電路開始工作結(jié)束是否圖4.3驅(qū)動(dòng)電路工作流程圖

4.4按鍵電路模塊設(shè)計(jì)當(dāng)單片機(jī)初始化完成后,通過倆個(gè)按鍵傳感器,系統(tǒng)可正常開始工作。其中分別負(fù)責(zé)開始和停止功能。按一號(hào)鍵開始,電源通電,單片機(jī)初始化,單片機(jī)初始化成功后,電路導(dǎo)通,即可開始完成各個(gè)程序的運(yùn)行。如完成程序后,想關(guān)閉程序,即可直接按二號(hào)鍵結(jié)束,其可以直接關(guān)閉電源,停止通電。通過控制按鍵電路執(zhí)行程序,其流程圖如下。單片機(jī)初始化單片機(jī)初始化初始化是否成功?電路導(dǎo)通按二號(hào)鍵結(jié)束,關(guān)閉電源結(jié)束是否按一號(hào)鍵開始,通電圖4.4按鍵模塊工作流程圖

4.5顏色識(shí)別模塊軟件設(shè)計(jì)當(dāng)系統(tǒng)初始化完成后,開始正常工作。上位機(jī)選擇顏色識(shí)別,下位機(jī)顏色識(shí)別傳感器開始工作。上位機(jī)可以選擇一個(gè)顏色,通過WiFi模塊對主控模塊下達(dá)命令,隨后傳感器識(shí)別到該顏色后會(huì)發(fā)送信號(hào)給單片機(jī),單片機(jī)發(fā)送指令控制舵機(jī)向顏色傳感器識(shí)別出顏色的方位轉(zhuǎn)動(dòng)。流程圖如下。開始開始單片機(jī)初始化上位機(jī)選擇顏色識(shí)別模式,并選擇顏色下位機(jī)根據(jù)顏色尋找物體位置找到該色物體位置,發(fā)送信號(hào)給單片機(jī)初始化是否成功?否是單片機(jī)命令舵機(jī)對該色物體位置進(jìn)行轉(zhuǎn)動(dòng)結(jié)束圖4.5顏色識(shí)別傳感器流程圖4.6攝像機(jī)模塊軟件設(shè)計(jì)當(dāng)單片機(jī)初始化完成后,開始正常工作。攝像機(jī)模塊將開始工作,對前方的畫面進(jìn)行實(shí)時(shí)拍攝,并將畫面信號(hào)發(fā)送給單片機(jī)。單片機(jī)可以對畫面信號(hào)進(jìn)行處理,發(fā)送給傳感器可以進(jìn)行顏色識(shí)別功能,發(fā)送給上位機(jī)可以進(jìn)行對目標(biāo)物體進(jìn)行夾取或進(jìn)行其他操作。流程圖如下。開始開始結(jié)束初始化完成攝像機(jī)開始工作實(shí)時(shí)拍攝畫面?zhèn)魉徒o單片機(jī)單片機(jī)處理畫面信號(hào),發(fā)送到傳感器和上位機(jī)進(jìn)行相應(yīng)操作 圖4.6攝像機(jī)模塊流程圖4.7舵機(jī)模塊軟件設(shè)計(jì)當(dāng)系統(tǒng)初始化完成后,開始正常工作。下位機(jī)的PWM舵機(jī)將接受來自于上位機(jī)的信號(hào),隨后不同位置的舵機(jī)將根據(jù)指令做不同的轉(zhuǎn)動(dòng)。以此來完成手臂的運(yùn)動(dòng)工作。例如,完成顏色識(shí)別功能,對目標(biāo)顏色物體位置進(jìn)行轉(zhuǎn)動(dòng)。流程圖如下。開始開始結(jié)束初始化完成上位機(jī)發(fā)送運(yùn)動(dòng)信號(hào)舵機(jī)接受信號(hào),作出相應(yīng)動(dòng)作手臂開始運(yùn)動(dòng)圖4.7舵機(jī)模塊軟件設(shè)計(jì)4.8WIFI通訊模塊軟件設(shè)計(jì)系統(tǒng)初始化完成后,開始正常工作。單片機(jī)將實(shí)時(shí)獲取系統(tǒng)中各項(xiàng)數(shù)據(jù)并通過WiFi模塊上傳至云端,隨后上位機(jī)可以從云端獲取系統(tǒng)的實(shí)時(shí)運(yùn)行信息,從而實(shí)現(xiàn)遠(yuǎn)程操控。本設(shè)計(jì)通過WIFI模塊進(jìn)行顏色識(shí)別,對前方畫面進(jìn)行實(shí)時(shí)拍攝。其流程圖如下。開始初始化完成開始初始化完成傳感器檢測各項(xiàng)實(shí)時(shí)數(shù)值數(shù)據(jù)發(fā)生給單片機(jī)單片機(jī)通過WiFi模塊發(fā)送給云端上位機(jī)從云端獲取實(shí)時(shí)信息實(shí)現(xiàn)遠(yuǎn)程操控圖4.8WiFi模塊流程圖第5章系統(tǒng)測試5.1系統(tǒng)實(shí)物圖車體結(jié)構(gòu):小車的車體是其基礎(chǔ)結(jié)構(gòu),通常采用堅(jiān)固耐用的材料構(gòu)建。車體的設(shè)計(jì)應(yīng)考慮到搬運(yùn)物品的重量和尺寸,以確保足夠的穩(wěn)定性和承載能力。驅(qū)動(dòng)系統(tǒng):小車的驅(qū)動(dòng)系統(tǒng)負(fù)責(zé)提供動(dòng)力和控制車輛的運(yùn)動(dòng)。常見的驅(qū)動(dòng)系統(tǒng)包括電動(dòng)馬達(dá)、液壓系統(tǒng)或氣壓系統(tǒng)。這些驅(qū)動(dòng)系統(tǒng)通過傳動(dòng)裝置(如齒輪或傳動(dòng)帶)將動(dòng)力傳遞到車輪上,驅(qū)動(dòng)小車前進(jìn)、后退或轉(zhuǎn)向??刂葡到y(tǒng):小車的控制系統(tǒng)是遠(yuǎn)程視像搬運(yùn)小車控制的核心。它包括傳感器、控制器和通信模塊等組件。傳感器用于獲取車輛和周圍環(huán)境的信息,控制器根據(jù)傳感器數(shù)據(jù)制定相應(yīng)的控制策略,通信模塊實(shí)現(xiàn)與遠(yuǎn)程操作中心的數(shù)據(jù)傳輸和指令交互。視像系統(tǒng):遠(yuǎn)程視像搬運(yùn)小車通常配備視像系統(tǒng),包括攝像頭和顯示設(shè)備。攝像頭用于實(shí)時(shí)拍攝搬運(yùn)過程,將圖像傳輸?shù)竭h(yuǎn)程操作中心,供操作人員進(jìn)行遠(yuǎn)程監(jiān)控和指導(dǎo)。顯示設(shè)備可以是顯示屏等,用于操作人員觀看實(shí)時(shí)視頻和搬運(yùn)任務(wù)信息。綜上所述,遠(yuǎn)程視像搬運(yùn)小車的組成結(jié)構(gòu)包括車體結(jié)構(gòu)、驅(qū)動(dòng)系統(tǒng)、搬運(yùn)裝置、控制系統(tǒng)和視像系統(tǒng)等關(guān)鍵組件。這些組件的合理設(shè)計(jì)和優(yōu)化可以提高小車的穩(wěn)定性、機(jī)動(dòng)性和搬運(yùn)效率。圖5.1成品實(shí)物圖圖5.2上位機(jī)界面圖5.2測試原理遠(yuǎn)程視像搬運(yùn)小車的軟件控制硬件調(diào)試過程涉及到軟件和硬件之間的相互配合和調(diào)試。遠(yuǎn)程視像搬運(yùn)小車的軟件控制硬件調(diào)試過程是確保軟件與硬件之間正常通信和協(xié)作的關(guān)鍵步驟。首先,需要確保硬件連接正確。將攝像頭、電機(jī)、電池和其他傳感器等硬件模塊正確連接到主控板。檢查每個(gè)連接的穩(wěn)固性和正確性,以防止松動(dòng)或錯(cuò)誤連接導(dǎo)致通信故障。接下來,進(jìn)行硬件驅(qū)動(dòng)的調(diào)試。通過軟件控制,逐個(gè)測試電機(jī)和傳感器的工作情況。確保電機(jī)能夠按照指令旋轉(zhuǎn)并具有正確的速度和方向。同時(shí),通過讀取傳感器數(shù)據(jù),驗(yàn)證傳感器的準(zhǔn)確性和穩(wěn)定性。如果發(fā)現(xiàn)問題,需要檢查硬件連接和配置,并進(jìn)行相應(yīng)的調(diào)整。在硬件調(diào)試完成后,進(jìn)行軟件控制的調(diào)試。編寫代碼來實(shí)現(xiàn)遠(yuǎn)程視像搬運(yùn)小車的功能,如視覺識(shí)別、遠(yuǎn)程控制等。通過與主控板的通信接口(如UART、SPI或I2C)進(jìn)行交互,確保指令的正確傳遞和執(zhí)行。測試遠(yuǎn)程視像功能,驗(yàn)證攝像頭的圖像采集和傳輸是否正常。進(jìn)行軟件調(diào)試時(shí),可以使用調(diào)試工具或串口打印輸出來監(jiān)視代碼執(zhí)行過程中的變量值和程序流程。通過調(diào)試工具的斷點(diǎn)功能,可以逐步跟蹤代碼的執(zhí)行過程,以找出潛在的錯(cuò)誤或異常情況。最后,進(jìn)行整體的功能測試。將遠(yuǎn)程視像搬運(yùn)小車放置在合適的環(huán)境中,并進(jìn)行遠(yuǎn)程控制、物體識(shí)別等操作。觀察小車的行動(dòng)和功能是否符合預(yù)期。根據(jù)測試結(jié)果,對軟件控制和硬件配置進(jìn)行必要的優(yōu)化和調(diào)整,以確保遠(yuǎn)程視像搬運(yùn)小車的正常運(yùn)行。通過以上的軟件控制和硬件調(diào)試過程,可以確保遠(yuǎn)程視像搬運(yùn)小車的功能正常、穩(wěn)定運(yùn)行,并能夠根據(jù)指令進(jìn)行視覺搬運(yùn)任務(wù)。5.2.1硬件實(shí)物測試系統(tǒng)開始運(yùn)行,通過上位機(jī)控制舵機(jī)工作,幾個(gè)舵機(jī)分別位于小車的機(jī)械臂關(guān)節(jié)上,以此控制機(jī)械臂運(yùn)行,電機(jī)驅(qū)動(dòng)可以控制小車移動(dòng),前后左右方向都可以操控。隨后設(shè)置障礙物,當(dāng)小車運(yùn)行到障礙物前時(shí),上位機(jī)可以控制機(jī)械臂將物體舉起;在上位機(jī)選擇顏色識(shí)別功能并選擇物體顏色為紅色,當(dāng)檢測到紅色的物體位置發(fā)生變化時(shí),機(jī)械臂可以隨著物體的方位變化而變化,若不是紅色的物體,小車機(jī)械臂不動(dòng)。實(shí)驗(yàn)成功。圖5.3控制機(jī)械手臂拿紅色重物圖5.4識(shí)別到不同方位的物體機(jī)械臂換方向5.2.2軟件調(diào)試——樹莓派系統(tǒng)的基本操作如何將樹莓派4B連接到手機(jī)并進(jìn)行調(diào)試。這里有一些步驟:第一步:準(zhǔn)備工作:在開始之前,您需要準(zhǔn)備以下物品:樹莓派4B、一個(gè)Micro-HDMItoHDMI轉(zhuǎn)接器、一根HDMI線、一個(gè)Micro-USBtoUSB-C數(shù)據(jù)線、一臺(tái)裝有Android系統(tǒng)的手機(jī)、一個(gè)OTG線、一個(gè)USB鼠標(biāo)。第二步:連接樹莓派和手機(jī)、將Micro-HDMI轉(zhuǎn)接器插入樹莓派的Micro-HDMI端口。將HDMI線插入轉(zhuǎn)接器的HDMI端口。將Micro-USB數(shù)據(jù)線插入樹莓派的USB-C端口。將OTG線插入手機(jī)的Micro-USB端口。將另一端的OTG線插入樹莓派的USB-A端口。如果需要連接USB鼠標(biāo),請將USB鼠標(biāo)插入樹莓派的USB-A端口。第三步:打開開發(fā)者選項(xiàng)、在手機(jī)上,您需要打開開發(fā)者選項(xiàng)。這是一個(gè)隱藏的選項(xiàng),需要進(jìn)行特定的操作才能找到它。以下是如何打開它的步驟:打開手機(jī)的“設(shè)置”應(yīng)用程序。滾動(dòng)到底部并點(diǎn)擊“關(guān)于手機(jī)”。找到“版本號(hào)”并連續(xù)點(diǎn)擊7次。返回到設(shè)置菜單,您應(yīng)該看到一個(gè)新的選項(xiàng):“開發(fā)者選項(xiàng)”。點(diǎn)擊“開發(fā)者選項(xiàng)”并啟用“USB調(diào)試”。第四步:在樹莓派上打開終端。現(xiàn)在,您需要在樹莓派上打開終端。您可以通過以下步驟完成:將樹莓派連接到顯示器。在樹莓派上啟動(dòng)終端應(yīng)用程序。在終端中輸入以下命令以安裝ADB:sudoapt-getupdate、sudoapt-getinstalladb在終端中輸入以下命令以連接到手機(jī):adbdevices、如果連接成功,您應(yīng)該會(huì)在終端中看到您的設(shè)備名稱。完成步驟后可以使用ADB命令在樹莓派上進(jìn)行與手機(jī)相關(guān)的調(diào)試工作。到此為止,已經(jīng)成功地將樹莓派4B連接到手機(jī)并進(jìn)行了調(diào)試。圖5.5配置界面第6章總結(jié)與展望6.1總結(jié)在智能小車設(shè)計(jì)過程中,分為硬件和軟件倆部分,在硬件部分設(shè)計(jì)了樹莓派4B的最小系統(tǒng)、YX4055AM驅(qū)動(dòng)電路、顏色識(shí)別傳感器模塊,軟件部分通過查詢資料,主要設(shè)計(jì)了顏色識(shí)別、小車前進(jìn)等代碼設(shè)計(jì)。系統(tǒng)的調(diào)試是通過一塊樹莓派4B開發(fā)板,再借助于PYTHON3等軟件進(jìn)行調(diào)試。調(diào)試結(jié)果符合預(yù)期。6.2展望遠(yuǎn)程視像搬運(yùn)小車是一種具有搬運(yùn)和視覺功能的智能設(shè)備,隨著技術(shù)的不斷進(jìn)步,它有著許多潛在的新功能和應(yīng)用。遠(yuǎn)程視像搬運(yùn)小車在當(dāng)前的功能基礎(chǔ)上,可以進(jìn)一步發(fā)展和創(chuàng)新,實(shí)現(xiàn)更多的新功能。以下是幾個(gè)可能的新功能展望:自主導(dǎo)航和路徑規(guī)劃:遠(yuǎn)程視像搬運(yùn)小車可以配備更高級(jí)的導(dǎo)航系統(tǒng)和路徑規(guī)劃算法。通過結(jié)合激光雷達(dá)、超聲波傳感器等先進(jìn)的導(dǎo)航技術(shù),小車可以自主避開障礙物、規(guī)劃最優(yōu)路徑,并實(shí)現(xiàn)自主導(dǎo)航功能。智能物體識(shí)別與抓?。哼h(yuǎn)程視像搬運(yùn)小車可以通過視覺識(shí)別技術(shù),實(shí)現(xiàn)對不同類型物體的智能識(shí)別和抓取。利用深度學(xué)習(xí)算法和圖像處理技術(shù),小車可以準(zhǔn)確識(shí)別目標(biāo)物體,并根據(jù)預(yù)設(shè)的抓取策略進(jìn)行抓取操作。多模式遠(yuǎn)程控制:除了傳統(tǒng)的手動(dòng)遠(yuǎn)程控制,遠(yuǎn)程視像搬運(yùn)小車可以引入更多的控制模式。例如,語音控制、姿勢識(shí)別或虛擬現(xiàn)實(shí)技術(shù),使用戶可以以更直觀和便捷的方式與小車進(jìn)行交互和控制。多臺(tái)小車協(xié)同工作:多臺(tái)遠(yuǎn)程視像搬運(yùn)小車可以通過網(wǎng)絡(luò)通信進(jìn)行協(xié)同工作,實(shí)現(xiàn)更復(fù)雜的任務(wù)。例如,可以將小車組成小組,共同協(xié)作搬運(yùn)大型物體或分擔(dān)工作負(fù)載,提高效率和靈活性。數(shù)據(jù)共享與遠(yuǎn)程協(xié)助:遠(yuǎn)程視像搬運(yùn)小車可以將實(shí)時(shí)的視覺信息和操作數(shù)據(jù)與遠(yuǎn)程用戶共享,實(shí)現(xiàn)遠(yuǎn)程協(xié)助和監(jiān)控。通過網(wǎng)絡(luò)連接和實(shí)時(shí)視頻傳輸,用戶可以遠(yuǎn)程觀察和操作小車,實(shí)現(xiàn)遠(yuǎn)程協(xié)助和指導(dǎo)。隨著科技的進(jìn)步和需求的不斷變化,遠(yuǎn)程視像搬運(yùn)小車的新功能將為工業(yè)、倉儲(chǔ)、醫(yī)療和家庭等領(lǐng)域帶來更多的應(yīng)用和便利。

參考文獻(xiàn)[1]李洋,齊曉震,馬勇,等.工業(yè)機(jī)器人在汽車行業(yè)機(jī)械加工中的應(yīng)用前景分析[J].時(shí)代汽車,2023(10):25-27.[2]張浩,夏志平,張樹寧,等.基于FreeRTOS的智能搬運(yùn)小車新型控制研究[J].組合機(jī)床與自動(dòng)化加工技術(shù),2021,(03):102-105.[3]李爽,張志勇,于躍,等.智能應(yīng)用型搬運(yùn)機(jī)器人設(shè)計(jì)[J].科學(xué)技術(shù)創(chuàng)新,2021(22):191-192.[4]周子楠,楊琦,何海燕.基于STM32的智能物流機(jī)器人的設(shè)計(jì)[J].九江學(xué)院學(xué)報(bào)(自然科學(xué)版),2020,35(02):71-77.[5]白煥鑫,劉文飛,孟鑫,等.基于STM32的智能物料搬運(yùn)小車[J].科技與創(chuàng)新,2022(16):44-47+51.[6]黃金豪.基于群智能優(yōu)化與RRT的室內(nèi)AGV路徑規(guī)劃算法研究[D].蘇州科技大學(xué),2022.[7]劉剛,孟瑞斌,張寧恩,等.物資倉儲(chǔ)管理電子信息化建設(shè)分析[J].信息系統(tǒng)工程,2023.[8]呂秉航.基于蟻群粒子群融合算法的AGV路徑規(guī)劃算法研究[D].海南大學(xué),2022.[9]馬書志.工業(yè)互聯(lián)網(wǎng)技術(shù)在數(shù)字化物流管理中的應(yīng)用[J].網(wǎng)絡(luò)安全和信息化,2023(04):25-27.[10]劉偉卓.搬運(yùn)AGV系統(tǒng)設(shè)計(jì)及路徑規(guī)劃研究[D].中北大學(xué),2022.[11]葛旺,張連震,錢思屹,等.基于Arduino的物料搬運(yùn)控制系統(tǒng)設(shè)計(jì)[J].電子設(shè)計(jì)工程,2022,30(12):98-102.[12]孫宇翔,陳浩鵬,任傳榮.基于精英策略的蟻群算法在AGV路徑優(yōu)化中的應(yīng)用[J].物流工程與管理,2022,44(03):30-32.[13]楊日容.基于直流電機(jī)的智能搬運(yùn)小車設(shè)計(jì)與實(shí)現(xiàn)[C],電子制作.2022.[14]葉昊宸,王會(huì)良,張志高,等.基于單片機(jī)控制的智能物料搬運(yùn)小車的設(shè)計(jì)[P].科學(xué)技術(shù)創(chuàng)新,2021.[15]林健全,劉浩捷,孫偉卿.基于STM32的智能物料搬運(yùn)小車[M].軟件,2020.[16]金鑫.AGV小車的發(fā)展現(xiàn)狀與應(yīng)用趨勢[J].北京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2021,20(01):10-13.[17]VlachosIliasP,PascazziRodrigoMartinez,ZobolasGeorge,etal.LeanmanufacturingsystemsintheareaofIndustry4.0:aleanautomationplanofAGVs/IoTintegration[J].ProductionPlanning&Control,2023,34(4).[18]DemirMehmetHakan,DemirokMehmet.DesignsofParticle-Swarm-Optimization-BasedIntelligentPIDControllersandDC/DCBuckConvertersforPEMFuel-Cell-PoweredFour-WheeledAutomatedGuidedVehicle[J].AppliedSciences,2023,13(5).[19]SteclikTomasz,CupekRafal,DrewniakMarek.AutomaticgroupingofproductiondatainIndustry4.0:TheusecaseofinternallogisticssystemsbasedonAutomatedGuidedVehicles[J].JournalofComputationalScience,2022,62.[20]PrabowoYA,ImaduddinRI,PambudiWS,etal.Identificationofautomaticguidedvehicle(agv)basedonmagneticguidedsensorforindustrialmaterialtransfer[J].IOPConferenceSeries:MaterialsScienceandEngineering,2021,1010(1).[21]AlexanderASGunawan,ValdiStevanus,AlbertusFarley,etal.DevelopmentofSmartTrolleySystemBasedonAndroidSmartphoneSensors[J].ProcediaComputerScience,2019,157(C).

附錄附錄A系統(tǒng)總電路圖圖A.1系統(tǒng)總電路圖附錄B源代碼#!/usr/bin/python3#coding=utf8#Date:2022/06/30importsysimporttimeimportsignalimportBoardasBoardprint('''****************************************************************蜂鳴器控制******************************************************************''')ifsys.version_info.major==2:print('Pleaserunthisprogramwithpython3!')sys.exit(0)#關(guān)閉前處理defstop(signum,frame):Board.setBuzzer(0)#關(guān)閉蜂鳴器signal.signal(signal.SIGINT,stop)if__name__=='__main__':#蜂鳴器響0.5SBoard.setBuzzer(1)#設(shè)置蜂鳴器響time.sleep(0.5)#延時(shí)0.5SBoard.setBuzzer(0)#關(guān)閉蜂鳴器#!/usr/bin/python3#coding=utf8importsysimportrospyfromchassis_control.msgimport*ifsys.version_info.major==2:print('Pleaserunthisprogramwithpython3!')sys.exit(0)print('''*************************************************************************功能:小車前后左右移動(dòng)**************************************************************************''')start=True#關(guān)閉前處理defstop():globalstartstart=Falseprint('關(guān)閉中...')set_velocity.publish(0,0,0)#發(fā)布底盤控制消息,停止移動(dòng)if__name__=='__main__':#初始化節(jié)點(diǎn)rospy.init_node('car_move_demo',log_level=rospy.DEBUG)rospy.on_shutdown(stop)#麥輪底盤控制set_velocity=rospy.Publisher('/chassis_control/set_velocity',SetVelocity,queue_size=1)whilestart:#發(fā)布底盤控制消息,線速度60,方向角90,偏航角速度0(小于0,為順時(shí)針方向)set_velocity.publish(60,90,0)#向前移動(dòng)rospy.sleep(2)#延時(shí)2秒set_velocity.publish(60,0,0)#向右移動(dòng)rospy.sleep(2)#延時(shí)2秒set_velocity.publish(60,270,0)#向后移動(dòng)rospy.sleep(2)#延時(shí)2秒set_velocity.publish(60,180,0)#向左移動(dòng)rospy.sleep(2)set_velocity.publish(0,0,0)#發(fā)布底盤控制消息,停止移動(dòng)print('已關(guān)閉')#!/usr/bin/python3#coding=utf8#Date:2022/05/30importsysimportcv2importmathimportrospyimportnumpyasnpfromthreadingimportRLock,Timerfromstd_srvs.srvimport*fromstd_msgs.msgimport*fromsensor_msgs.msgimportImagefromsensor.msgimportLedfromcolor_tracking.srvimportSetTargetfromvisual_processing.msgimportResultfromvisual_processing.srvimportSetParamfromhiwonder_servo_msgs.msgimportMultiRawIdPosDurfromarmpi_proimportPIDfromarmpi_proimportMiscfromarmpi_proimportbus_servo_controlfromkinematicsimportik_transform#顏色跟蹤lock=RLock()ik=ik_transform.ArmIK()__isRunning=Falsetarget_color='None'img_w=640img_h=480x_dis=500y_dis=0.167Z_DIS=0.2z_dis=Z_DISRADIUS=45x_pid=PID.PID(P=0.08,I=0.001,D=0)#pid初始化y1_pid=PID.PID(P=0.0008,I=0,D=0)y2_pid=PID.PID(P=0.0003,I=0,D=0)z_pid=PID.PID(P=0.00003,I=0,D=0)range_rgb={'red':(0,0,255),'blue':(255,0,0),'green':(0,255,0),'black':(0,0,0),'white':(255,255,255)}#初始位置definitMove(delay=True):withlock:target=ik.setPitchRanges((0,y_dis,Z_DIS),-90,-92,-88)#逆運(yùn)動(dòng)學(xué)求解iftarget:servo_data=target[1]bus_servo_control.set_servos(joints_pub,1500,((1,200),(2,500),(3,servo_data['servo3']),(4,servo_data['servo4']),(5,servo_data['servo5']),(6,servo_data['servo6'])))ifdelay:rospy.sleep(2)#關(guān)閉擴(kuò)展板RGB彩燈defturn_off_rgb():led=Led()led.index=0led.rgb.r=0led.rgb.g=0led.rgb.b=0rgb_pub.publish(led)led.index=1rgb_pub.publish(led)#變量重置defreset():globaltarget_colorglobalx_dis,y_dis,z_diswithlock:x_dis=500y_dis=0.167z_dis=Z_DISx_pid.clear()y1_pid.clear()y2_pid.clear()z_pid.clear()turn_off_rgb()target_color='None'#初始化definit():rospy.loginfo("colortrackingInit")initMove()reset()#圖像處理結(jié)果回調(diào)函數(shù)defrun(msg):globalx_dis,y_dis,z_discenter_x=msg.center_xcenter_y=msg.center_yradius=msg.datawithlock:if__isRunningandtarget_color!='None':ifradius>20:#X軸追蹤x_pid.SetPoint=img_w/2.0#設(shè)定x_pid.update(center_x)#當(dāng)前dx=x_pid.output#輸出x_dis+=int(dx)#限幅x_dis=200ifx_dis<200elsex_disx_dis=800ifx_dis>800elsex_dis#Y軸正方向追蹤ifradius-RADIUS<-3:y1_pid.SetPoint=RADIUS#設(shè)定y1_pid.update(radius)#當(dāng)前dy=y1_pid.output#輸出#Y軸負(fù)方向追蹤elifradius-RADIUS>5:y2_pid.SetPoint=RADIUS#設(shè)定y2_pid.update(radius)#當(dāng)前dy=y2_pid.output#輸出else:dy=0y_dis+=dyy_dis=0.12ify_dis<0.12elsey_disy_dis=0.25ify_dis>0.25elsey_dis#Z軸追蹤z_pid.SetPoint=img_h/2.0#設(shè)定z_pid.update(center_y)#當(dāng)前dy=z_pid.output#輸出z_dis+=dyz_dis=0.22ifz_dis>0.22elsez_disz_dis=0.17ifz_dis<0.17elsez_distarget=ik.setPitchRanges((0,round(y_dis,4),round(z_dis,4)),-90,-85,-95)#逆運(yùn)動(dòng)學(xué)求解iftarget:#發(fā)布舵機(jī)控制節(jié)點(diǎn)消息,移動(dòng)機(jī)械臂servo_data=target[1]bus_servo_control.set_servos(joints_pub,20,((3,servo_data['servo3']),(4,servo_data['servo4']),(5,servo_data['servo5']),(6,x_dis)))result_sub=Noneheartbeat_timer=None#APPenter服務(wù)回調(diào)函數(shù)defenter_func(msg):globallockglobal__isRunningglobalresult_subrospy.loginfo("entercolortracking")init()withlock:ifresult_subisNone:rospy.ServiceProxy('/visual_processing/enter',Trigger)()result_sub=rospy.Subscriber('/visual_processing/result',Result,run)return[True,'enter']#APPexit服務(wù)回調(diào)函數(shù)defexit_func(msg):globallockglobal__isRunningglobalresult_subglobalheartbeat_timerrospy.loginfo("exitcolortracking")withlock:rospy.ServiceProxy('/visual_processing/exit',Trigger)()__isRunning=Falsereset()try:ifresult_subisnotNone:result_sub.unregister()result_sub=Noneifheartbeat_timerisnotNone:heartbeat_timer.cancel()heartbeat_timer=NoneexceptBaseExceptionase:rospy.loginfo('%s',e)return[True,'exit']#開始運(yùn)行函數(shù)defstart_running():globallockglobal__isRunningrospy.loginfo("startrunningcolortracking")withlock:__isRunning=True#停止運(yùn)行函數(shù)defstop_running():globallockglobal__isRunningrospy.loginfo("stoprunningcolortracking")withlock:reset()__isRunning=FalseinitMove(delay=False)rospy.ServiceProxy('/visual_processing/set_running',SetParam)()#APPrunning服務(wù)回調(diào)函數(shù)defset_running(msg):ifmsg.data:start_running()else:stop_running()return[True,'set_running']#APPset_target服務(wù)回調(diào)函數(shù)defset_target(msg):globallockglobaltarget_colorrospy.loginfo("%s",msg)withlock:target_color=msg.dataled=Led()led.index=0led.rgb.r=range_rgb[target_color][2]led.rgb.g=range_rgb[target_color][1]

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論