AGV分揀小車自動識徑系統(tǒng)設(shè)計(jì)_第1頁
AGV分揀小車自動識徑系統(tǒng)設(shè)計(jì)_第2頁
AGV分揀小車自動識徑系統(tǒng)設(shè)計(jì)_第3頁
AGV分揀小車自動識徑系統(tǒng)設(shè)計(jì)_第4頁
AGV分揀小車自動識徑系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第1章緒論1.1研究的背景和意義自動導(dǎo)引車(AGV車)是一種無人駕駛汽車,由于其在現(xiàn)代物流裝卸設(shè)備中具有高度自動化和智能的特性,因此受到了運(yùn)輸行業(yè)的越來越多的關(guān)注。鐵路維護(hù)部門將AGV小車用作自動運(yùn)輸工具,以智能地處理備件。它具有節(jié)能,環(huán)保,運(yùn)輸靈活的特點(diǎn)。它可以把工作的時(shí)間降低,減小了作業(yè)的消耗,并具有巨大的使用先進(jìn)性。AGV的運(yùn)載效率對國內(nèi)各大海港口岸與運(yùn)輸產(chǎn)業(yè)的發(fā)展有著極為重要的發(fā)展意義。國內(nèi)有著全球上第一的港口吞吐量,巨大的總裝載量和卸載的貨物量,巨大的運(yùn)載效率說明著降低了裝有集裝箱的貨輪的停止時(shí)間。這對國民經(jīng)濟(jì)進(jìn)出口利益的意義不言而喻。AGV小車對物流的影響很大,現(xiàn)在京東物流的小車充分使用了各種技術(shù)在小車上,如自動導(dǎo)引,數(shù)據(jù)所發(fā)出的感知,機(jī)器人對它的融入,包括算法對AGV的指導(dǎo),都在不斷使AGV前進(jìn)。AGV小車上所加的感知技術(shù)就是,把周圍物品通過圖像分割或者其他的辦法,來保證AGV能感受到其他物品的存在。AGV小車上加的機(jī)器人對它的融入是,在沒有人的倉庫里??梢愿咚龠\(yùn)行,就像機(jī)器人那樣不斷工作,增加工作的效率。AGV小車上加的算法是。具有人工智能方面,也具有自動對物品來適配的算法,這樣的方法可以使更快,而且這些就像人的器官一樣,不能夠被取代,如人的眼睛、心跳等。AGV的全稱“AutomatedGuidedVehicle”其意思即為“自動導(dǎo)引運(yùn)輸車”。配備有電磁導(dǎo)航系統(tǒng)或光學(xué)等自動導(dǎo)引裝置,能夠判斷正確的行進(jìn)路線,具有多種保障人與財(cái)產(chǎn)安全的設(shè)施以及多種搬運(yùn)移動功能的運(yùn)輸載具,在運(yùn)行的環(huán)境中小車不需要駕駛員便能夠準(zhǔn)確安全的行進(jìn),主要的動力供電為電池。通過可編程主控制核心作為小車的大腦,利用地表所敷設(shè)的磁條來搭建自動引導(dǎo)運(yùn)輸小車的行進(jìn)路線。自二十一世紀(jì)以來科技、互聯(lián)網(wǎng)與工業(yè)快速發(fā)展,在全球互聯(lián)與我國“工業(yè)4.0”的背景下,倉儲物流行業(yè)也在蒸蒸日上,隨之而來的問題就是倉儲分揀。在以前只能靠人力來進(jìn)行揀貨,費(fèi)時(shí)費(fèi)力。如果將AGV分揀技術(shù)應(yīng)用到此場景中,這將極大的提升工作效率也會省去很多的成本。但是在小車路徑規(guī)劃中存在諸多問題,例如在復(fù)雜的路口如何確保小車能夠按照正確的行進(jìn)路線行走等問題,這就是本課題的主要研究方向與意義。1.2AGV的基本結(jié)構(gòu)和特點(diǎn)AGV的概念提出于上個(gè)世紀(jì)六十年代。現(xiàn)在AGV的市場正在朝著兩極化發(fā)展,一種是朝著高度機(jī)械化智能化的高端市場發(fā)展。二是向物流流通領(lǐng)域,寫字樓等低層次的市場開發(fā),大部分都是以人員復(fù)位為主。AGV正在朝著多方向和智能化的方向發(fā)展。實(shí)現(xiàn)預(yù)先制定的搬運(yùn)計(jì)劃,充分發(fā)揮無人搬運(yùn)車輛的優(yōu)越性,關(guān)鍵在于引導(dǎo)裝置。電磁導(dǎo)航是AGV技術(shù)中最先應(yīng)用的導(dǎo)航方案。但是,因?yàn)殡姶艑?dǎo)航方案的技術(shù)存在著無法解決的技術(shù)缺陷,此后產(chǎn)生了眾多的AGV導(dǎo)引方案,如激光測距導(dǎo)航方案、磁條導(dǎo)航技術(shù)等等。使自動引導(dǎo)系統(tǒng)具有靈活度高、在保證安全可靠的前提下也能夠保證工作效率;以及降低成本等特點(diǎn)。并且正在朝著無人智能化多元化的方向前進(jìn),將AGV技術(shù)推向一個(gè)新的高度、自動導(dǎo)引運(yùn)輸車是一個(gè)集機(jī)械結(jié)構(gòu),控制系統(tǒng)于一體的可以自主移動。并且能夠?qū)崿F(xiàn)幫助搬運(yùn)貨物的運(yùn)輸車。其中機(jī)械結(jié)構(gòu)分為車體,車架,車輪。其中車體可以分為機(jī)械和電氣部分,車架是通過鑄鋁焊接,車輪是采用實(shí)心橡膠。控制系統(tǒng)的驅(qū)動部分有直流伺服電動機(jī)和減速器,價(jià)格便宜,放電性能不錯(cuò)。1.3國內(nèi)外研究現(xiàn)狀世界上第一輛真正意義上的AGV(自動引導(dǎo)運(yùn)輸車)是美國霸銳電子公司在上世紀(jì)50年代研制成功的,是一款牽引式小型汽車。英國W.GreyWalter于20世紀(jì)50年代開發(fā)了一款“ELSIE”AGV汽車款汽車使用感光元件作為導(dǎo)引傳感器,引導(dǎo)運(yùn)動時(shí)可根據(jù)環(huán)境光線的強(qiáng)弱而定。此后,多個(gè)國家都誕生了自主移動機(jī)器人,如法國研制的“Hilare”、日本土庫巴大學(xué)研制的“Yamabiko”、盲人引路用的“MELDOG”、德國卡爾蘇赫大學(xué)研制的“KAMRO”和FMC(CA)研制的移動機(jī)器人,都具有非常靈活的避障能力。國外學(xué)者HamedFazlollahtabar;MohammadSaidi-Mehrabad在2013年發(fā)表的《Optimisingamulti-objectivereliabilityassessmentinmultipleAGVmanufacturingsystem》文章中指出為了評估柔性制造系統(tǒng)(FMS)中機(jī)器和AGV的可靠性,建立了一個(gè)數(shù)學(xué)模型。該模型考慮了配備自動導(dǎo)引車(AGV)的自動化柔性制造系統(tǒng)的兩個(gè)特征,即機(jī)器的可靠性和多AGV工件作業(yè)制造系統(tǒng)中AGV的可靠性。所提模型中的優(yōu)化目標(biāo)是最大化整個(gè)工件作業(yè)系統(tǒng)中車間中機(jī)器的總可靠性、最大化AGV的總可靠性以及最小化系統(tǒng)中的總維修成本。為求解所提出的多目標(biāo)數(shù)學(xué)模型,采用模糊目標(biāo)規(guī)劃進(jìn)行求解,結(jié)果表明了所提方法的有效性和適用性。MinhwanKim;SungminByun在2016年發(fā)表的《AGuidelineTracingTechniqueBasedonaVirtualTracingWheelforEffectiveNavigationofVision-basedAGVs》一文中指出自動導(dǎo)引車(AGV)在工業(yè)中應(yīng)用廣泛。為了減少工作空間底層的基礎(chǔ)設(shè)施建設(shè)成本,并增加改變導(dǎo)航路徑布局的靈活性,研究了幾種基于視覺的AGV。該文提出了一種基于視覺的實(shí)用指南追蹤方法。該方法引入并采用了虛擬循跡輪,使得基于視覺的AGV能夠以多種方式循跡導(dǎo)引線。該方法還可以通過強(qiáng)制AGV的真實(shí)方向盤不在導(dǎo)軌上移動來防止導(dǎo)軌損壞。通過計(jì)算機(jī)仿真分析了虛擬跟蹤輪的實(shí)用性。在通常的導(dǎo)軌布局上進(jìn)行了幾次與商業(yè)AGV的導(dǎo)航測試,我們證實(shí)了基于虛擬跟蹤輪的跟蹤方法可以很好地工作。在2019年發(fā)表的《基于改進(jìn)模糊PID的自動導(dǎo)引車糾偏控制研究》一文中,國內(nèi)學(xué)者古世甫、金滔、范佩佩、任磊、李亦寧等人指出,針對傳統(tǒng)模糊比例—積分—微分(PID)控制器對自動導(dǎo)引車(AGV)路徑追蹤精度不高的問題,提出了基于比例調(diào)整和積分分離的模糊PID糾偏控制方法。首先分析建立AGV的運(yùn)動學(xué)模型;二是模糊PID控制器、模糊控制規(guī)則設(shè)計(jì)的輸入輸出功能;最后,對模糊控制器輸出的比例項(xiàng),按偏差大小分別進(jìn)行比例調(diào)整,并進(jìn)行積分分離。模擬實(shí)驗(yàn)表明:積分分離能有效降低系統(tǒng)的超調(diào)量,比例調(diào)整能加快系統(tǒng)的響應(yīng)速度,而本文所設(shè)計(jì)的糾偏控制器,其優(yōu)點(diǎn)是速度快,穩(wěn)定性好,同時(shí)還能有效降低系統(tǒng)的超調(diào)量和比例調(diào)整速度。在《自動化碼頭可舉升自動導(dǎo)引車(L-AGV)箱式檢測方案》一文中,王偉、朱林、孫秀良研究指出,目前在新建成的集裝箱自動化碼頭已經(jīng)開始應(yīng)用L-AGV,L-AGV安全高效運(yùn)行的必要保障就是箱式檢測系統(tǒng)的可靠性。針對當(dāng)前自動化碼頭L-AGV箱型檢測方案錯(cuò)誤動作頻次高、對裝卸效率影響大等問題,結(jié)合國內(nèi)主流箱底結(jié)構(gòu)研究,對當(dāng)前L-AGV箱型檢測邏輯進(jìn)行了提出了一套替代傳統(tǒng)箱型檢測箱位檢測新思路。結(jié)果發(fā)現(xiàn),L-AGV遇到的所有工況,目前的測試邏輯都無法適應(yīng),測試效率低下;提出的試驗(yàn)方案,有效避免了傳統(tǒng)箱式試驗(yàn)中遇到的難題,達(dá)到了碼頭安全要求日益嚴(yán)格、裝卸效率日益提高,提高了試驗(yàn)效率。章文俊、韓曉龍?jiān)?019年發(fā)表的《自動化貨柜碼頭自動導(dǎo)引車路徑?jīng)_突規(guī)避優(yōu)化策略》一文中指出,在碼頭前沿與后方堆場之間橫向運(yùn)送貨柜時(shí),自動導(dǎo)引車(AUTOMATEDGUIDEDVEHICLE,AGV)是自動化貨柜碼頭的主要運(yùn)輸設(shè)備。除了受自身性能影響外,AGV的運(yùn)行效率還受到碼頭布置、行車路線、路面容量等因素的影響。林冉軼在《卷煙輔料庫自動引導(dǎo)車常見故障及維修》一文中研究指出,為防止故障的發(fā)生,降低AGV故障率,提高卷煙輔料庫運(yùn)輸工作效率,對運(yùn)行中的卷煙輔料庫自動引導(dǎo)車故障原因進(jìn)行分析,并給出處理方法及對策。

第2章系統(tǒng)結(jié)構(gòu)設(shè)計(jì)與選型2.1系統(tǒng)設(shè)計(jì)方案系統(tǒng)的核心為STM32單片機(jī)微處理器,系統(tǒng)通過AGV磁導(dǎo)航傳感器采集地面所敷設(shè)的導(dǎo)航磁條并通過RS232轉(zhuǎn)換器發(fā)送到單片機(jī),單片機(jī)對磁導(dǎo)航傳感器所采集的數(shù)據(jù)按照程序的設(shè)定進(jìn)行分析與判斷來控制小車的運(yùn)行狀態(tài),當(dāng)小車到達(dá)用戶所設(shè)定的貨物位置時(shí),停車,并由第二級系統(tǒng)控制機(jī)械臂與掃碼模塊的運(yùn)行。在AGV系統(tǒng)運(yùn)行時(shí)視覺識別模塊同時(shí)工作,并對現(xiàn)場環(huán)境的交通燈進(jìn)行一定的算法處理,并通過串口發(fā)送到STM32中,并由STM32計(jì)算視覺模塊所識別的顏色控制小車的啟停。在系統(tǒng)運(yùn)行的過程中發(fā)送小車的當(dāng)前運(yùn)行狀態(tài)。系統(tǒng)的穩(wěn)定運(yùn)行主要依靠于AGV磁導(dǎo)航傳感器、視覺識別模塊、小車驅(qū)動器、超聲波模塊。AGV磁導(dǎo)航傳感器的正常運(yùn)行與識別結(jié)果的正確關(guān)乎到整個(gè)小車系統(tǒng)能否安全準(zhǔn)確的到達(dá)用戶所設(shè)定的貨物所在的位置,也關(guān)乎到人與財(cái)產(chǎn)的安全。視覺識別模塊是能夠確保在多輛小車同時(shí)在倉庫進(jìn)行任務(wù)時(shí),保證各個(gè)小車單元有序順利進(jìn)行的不可分割的保障。小車驅(qū)動器,包括底盤與電機(jī)驅(qū)動,這是整個(gè)系統(tǒng)的基石,所有的模塊都是在底盤的基礎(chǔ)上搭建的。圖2.1系統(tǒng)流程圖2.2系統(tǒng)器件選型2.2.1導(dǎo)航模塊選型計(jì)劃方案一:利用紅外光電傳感器,對運(yùn)動進(jìn)行探測,對運(yùn)動進(jìn)行跟蹤。紅外線(IR)照射到白底時(shí)會有一定的方向性,反光明顯。若距離值合理,則紅外線接收管對反射來的紅外線進(jìn)行接收。當(dāng)紅外線傳到黑線的時(shí)候黑線吸收紅外光的大部分,紅外接收的接收強(qiáng)度很弱。循跡時(shí)引導(dǎo)線呈黑色,不宜反光。當(dāng)紅外發(fā)射管的輸出信號照射到黑色的引導(dǎo)線上時(shí),有一個(gè)很微弱的電平,通過對此高低電平的判斷就能知道小車行進(jìn)的狀態(tài)。如果不是沿著引導(dǎo)線,微控制器能根據(jù)傳感器發(fā)出的信號進(jìn)行回傳到控制器。并由控制器控制馬達(dá)驅(qū)動器對馬達(dá)進(jìn)行控制,使系統(tǒng)在軌道上保持行進(jìn)狀態(tài)。系統(tǒng)在小型車前部安裝3個(gè)紅外管可以照射地面。分別為左、中和右。但此種傳感器受外部環(huán)境影響因素較大,并且對反射所需的黑色循跡條的要求較高需要日常維護(hù)。很容易被磨損。計(jì)劃方案二:現(xiàn)在許多的機(jī)器人系統(tǒng)都采用激光導(dǎo)航測距傳感器來對系統(tǒng)進(jìn)行位置的判斷、障礙物的避躲以及運(yùn)行場景的地圖掃描與繪制。激光導(dǎo)航測距傳感器工作的基本原理是由傳感器自生的激光發(fā)射半導(dǎo)體對準(zhǔn)運(yùn)行場景內(nèi)的參照物或者運(yùn)行目標(biāo)發(fā)射信號——激光脈沖信號。經(jīng)過系統(tǒng)小車激光導(dǎo)航傳感器發(fā)出測量信號并照射目標(biāo)反射后激光向各方向散射。其中有一部分散的射光由于障礙物的遮擋反射到傳感器的信號處理端,被光學(xué)系統(tǒng)接收后成像到雪崩光電二極管上。激光傳感器測量的距離是在傳感器器身范圍內(nèi)的到所有障礙物之間的距離。激光導(dǎo)航測距傳感器有著非常好的測量角度和距離準(zhǔn)確度,實(shí)時(shí)行為每秒能夠測量數(shù)百個(gè)點(diǎn)或是數(shù)千個(gè)點(diǎn)。計(jì)劃方案三:AGV磁導(dǎo)航傳感器通過該傳感器,AGV能夠?qū)鼍皟?nèi)所敷設(shè)的地底磁條進(jìn)行精確檢測與導(dǎo)航,并通過內(nèi)置的單片機(jī)對采集到的模擬信號進(jìn)行A/D轉(zhuǎn)換,從而使磁導(dǎo)航傳感器能夠兼容許多的設(shè)備而不需要單獨(dú)的數(shù)模轉(zhuǎn)換模塊,磁導(dǎo)航傳感器能夠檢測出地面所敷設(shè)的磁極所發(fā)出的磁場強(qiáng)弱,處理并發(fā)送所采集的磁場信號,AGV車能夠根據(jù)現(xiàn)場環(huán)境自動調(diào)制系統(tǒng)的運(yùn)行方向與角度等位置有關(guān)的信息,從而使得AGV車順著地表所敷設(shè)磁條行駛。AGV會對偏離進(jìn)行調(diào)整,從而保證車的運(yùn)行時(shí)沿著磁條方向與程序的設(shè)計(jì)路徑前進(jìn)。磁導(dǎo)航傳感器具有穩(wěn)定性高,后期維護(hù)成本低,受外界影響因素較小。通過以上三種計(jì)劃方案的比較,本設(shè)計(jì)選擇穩(wěn)定性高成本較低的磁導(dǎo)航傳感器。磁導(dǎo)航傳感器安裝方便,與控制核心的通信穩(wěn)定不易產(chǎn)生傳輸時(shí)的數(shù)據(jù)丟包。循跡導(dǎo)航時(shí)能夠準(zhǔn)確地識別,且受不到光線變化的影響,成本相比與激光導(dǎo)航要低很多。圖2.2AGV磁導(dǎo)航傳感器2.2.2控制核心的選型現(xiàn)在控制系統(tǒng)中應(yīng)用最為的廣泛的控制系統(tǒng)可分為51系列與STM32系列方案一:51單片機(jī)包括中央核心處理器、四千字節(jié)的隨機(jī)存取存儲器、十二萬八千字節(jié)容量的只讀存儲器、四十個(gè)全功能輸入輸出引腳、2個(gè)16位的定時(shí)器與計(jì)數(shù)器、4個(gè)8位并行數(shù)據(jù)交互接口、串口可在發(fā)送數(shù)據(jù)的同時(shí)接收數(shù)據(jù)、數(shù)字轉(zhuǎn)模擬信號轉(zhuǎn)換器、模擬信號轉(zhuǎn)數(shù)字信號轉(zhuǎn)換器、串行外圍接口、集成電路總線、應(yīng)用程序編程。51單片機(jī)的組成結(jié)構(gòu)系統(tǒng)結(jié)構(gòu)簡單,搭建系統(tǒng)與成品方便。單片機(jī)運(yùn)行穩(wěn)定且牢靠,能夠在較為惡劣的環(huán)境下運(yùn)行。對信號的處理程度強(qiáng),運(yùn)行時(shí)的速度穩(wěn)定。所需的電壓低,所消耗的功率低,便于大規(guī)模生產(chǎn)便攜式產(chǎn)品??刂乒δ軓?qiáng)。環(huán)境適應(yīng)能力強(qiáng)。但是在一些對于產(chǎn)品速度要求較高與外圍設(shè)備較多的產(chǎn)品或環(huán)境中51系列的單片機(jī)就有些力不從心。方案二:STM32F1系列是一個(gè)高性能的單片機(jī)核心處理器,由英國Acorn有限公司設(shè)計(jì)的低功耗低成本的RISCCortex-M332位微控制器,64個(gè)IO引腳輕薄四邊形扁平封裝.其系統(tǒng)運(yùn)行頻率達(dá)七十二兆赫茲,嵌入式高速內(nèi)存設(shè)計(jì),能夠使用不同語言不同的開發(fā)平臺編程,有著增強(qiáng)范圍的強(qiáng)化輸入輸出,接口豐富,兼容性極強(qiáng),環(huán)境運(yùn)行溫度范圍-40°C至85℃。圖2.3STM32單片機(jī)通過51系列單片機(jī)與STM32單片機(jī)系類的對比不難發(fā)現(xiàn),STM32單片機(jī)IO引腳更多,性能更強(qiáng)大,且價(jià)格便宜,集成度高,因此本設(shè)計(jì)選擇STM32系列單片機(jī)作為主控制核心。2.2.3避障模塊選擇在現(xiàn)場的實(shí)際運(yùn)行場景中,雖然自動引導(dǎo)運(yùn)輸小車的前進(jìn)方向角度與軌跡已經(jīng)被完全規(guī)劃好,但是實(shí)際的運(yùn)行環(huán)境中不可避免的會出現(xiàn)影響自動引導(dǎo)運(yùn)輸小車運(yùn)行的物體,這就要求小車必須要有躲避障礙物的相關(guān)功能。此模塊為HC-SR04超聲波測距模塊,此款超聲波模塊具有測量面積廣泛,測量距離很遠(yuǎn)高達(dá)四米、精度高、工作穩(wěn)定、接線與編程簡單等優(yōu)點(diǎn)。此模塊可通過編程設(shè)置避障距離,可以根據(jù)現(xiàn)場的具體狀況設(shè)置、此外模塊的體積小,安裝也極為方便。圖2.4超聲波傳感器2.2.4視覺模塊選擇OpenMV攝像頭是一款外形小巧,所需電壓極低,低成本的開源可編程的攝像頭模組,能夠完成機(jī)器視覺(machinevision)應(yīng)用??梢酝ㄟ^高級語言Python腳本。Python的高級數(shù)據(jù)結(jié)構(gòu)在機(jī)器視覺算法中處理復(fù)雜的輸出。OpenMV攝像頭的特點(diǎn):STM32H7處理器,運(yùn)行的時(shí)鐘頻率高達(dá)二百一十六兆赫茲,五十萬字節(jié)的隨機(jī)存取存儲器,兩兆的掉電記憶存儲模塊。其工作電壓為3.3伏特并且5伏特兼容。OpenMV攝像頭有一個(gè)2.8mm焦距鏡頭在一個(gè)標(biāo)準(zhǔn)M12鏡頭底座,方便安裝。圖2.5視覺模塊2.2.5底盤驅(qū)動模塊選擇在設(shè)計(jì)底盤驅(qū)動時(shí),需要考慮到小車系統(tǒng)的速度不是固定的,要判斷運(yùn)行現(xiàn)場的當(dāng)時(shí)路況調(diào)整系統(tǒng)前進(jìn)運(yùn)行速度。微控制器可以方便的調(diào)整電機(jī)速度,但微控制器的IO接口最高輸出電壓和最高輸出電流基本上都是非常容易受到限值的,所以為穩(wěn)定的控制需要在單片機(jī)核心控制器和電機(jī)直接添加一個(gè)驅(qū)動電路板,同時(shí)也要兼顧小車的前進(jìn)與后退、驅(qū)動芯片的壓降、成本等因素。因此選擇了以A4950為核心的底盤電機(jī)驅(qū)動器,如下圖所示。圖2.6電機(jī)驅(qū)動模塊2.2.6分揀模塊選擇在設(shè)計(jì)分揀模塊時(shí)要考慮到所抓取貨物的重量與如何簡潔快速的識別貨物是否為用戶所抓取的貨物。方案一:采用二軸機(jī)械臂作為分揀模塊,二軸機(jī)械臂主要采用一個(gè)機(jī)械關(guān)節(jié)和一個(gè)抓取手抓,此模塊主要用于兩個(gè)關(guān)節(jié)完成此模塊,但兩軸機(jī)械臂的運(yùn)動范圍較小,可抬升的角度不高,雖此類型機(jī)械臂結(jié)構(gòu)簡單但沒有辦法完成此任務(wù)要求,圖2.7兩軸機(jī)械臂模型方案二:方案二主要采用四軸機(jī)械臂,此機(jī)械臂采用了四個(gè)舵機(jī)并加以PCA9685舵機(jī)控制器作為四軸機(jī)械臂的驅(qū)動裝置。此款機(jī)械臂具有運(yùn)動范圍廣、具有四個(gè)自由度,并且結(jié)構(gòu)簡單、制作方便等諸多優(yōu)點(diǎn)。圖2.8四軸機(jī)械臂模型方案二相比于方案一更能夠滿足本設(shè)計(jì)的要求,因此選擇方案二中的四軸機(jī)械臂作為本設(shè)計(jì)的分揀模塊。2.2.7貨物識別模塊選擇系統(tǒng)能夠準(zhǔn)確識別貨物是保證分揀系統(tǒng)正常運(yùn)行的基礎(chǔ)?,F(xiàn)流行的貨物識別模塊主要為條碼與二維碼識別。條碼與二維碼具有眾多的優(yōu)點(diǎn),例如在固定的環(huán)境當(dāng)中,二維碼與條碼有著唯一性與固定性,不會隨著外界環(huán)境到的變化而導(dǎo)致二維碼與條碼的變化。本設(shè)計(jì)主要采用MD280識別模塊。MD280是一款嵌入式二維影像模組,采用先進(jìn)的CMOS影像識別技術(shù),智能圖像識別系統(tǒng),配備30萬像素高清攝像頭。具有優(yōu)秀的識讀性能,可以輕松讀取紙張、商品、屏幕等介質(zhì)上的條碼。一體化緊湊型設(shè)計(jì)可方便嵌入到各類設(shè)備中。圖2.9條碼識別模塊第3章小車硬件系統(tǒng)設(shè)計(jì)3.1小車控制方案簡述硬件系統(tǒng)可分為,導(dǎo)航系統(tǒng),避障系統(tǒng),交通燈識別系統(tǒng),分揀系統(tǒng),底盤及驅(qū)動系統(tǒng),主控制核心,電源驅(qū)動,顯示系統(tǒng)與無線傳輸系統(tǒng)。在導(dǎo)航系統(tǒng)中磁導(dǎo)航傳感器通過內(nèi)部的霍爾模塊,對任務(wù)場景地面所敷設(shè)的磁條進(jìn)行循跡,并將循跡狀態(tài)通過內(nèi)部芯片編碼轉(zhuǎn)換為RS232信號,發(fā)送到主控制核心系統(tǒng)STM32單片機(jī)中??刂坪诵睦盟帉懙某绦虼a對當(dāng)前的循跡狀態(tài)進(jìn)行算法處理,控制小車的動作。當(dāng)?shù)竭_(dá)任務(wù)位置時(shí)停車,分揀系統(tǒng)動作,并由掃碼模塊掃描貨物上的條形碼或者二維碼,并由機(jī)械臂進(jìn)行夾取。在系統(tǒng)運(yùn)行的當(dāng)中,避障系統(tǒng)與交通燈識別系統(tǒng)保障人與設(shè)備之間的安全與有序的進(jìn)行分揀任務(wù)。如在現(xiàn)場作業(yè)當(dāng)中遇到突發(fā)情況能夠首先保障人員的生命及財(cái)產(chǎn)安全。3.2STM32控制核心系統(tǒng)電路設(shè)計(jì)STM32F1系列是是一個(gè)高性能的單片機(jī)核心處理器,由英國Acorn有限公司設(shè)計(jì)的低功耗成本的RISCCortex-M332位微控制器,64個(gè)IO引腳輕薄四邊形扁平封裝.其系統(tǒng)運(yùn)行頻率達(dá)七十二兆赫茲,具有12位模擬信號轉(zhuǎn)數(shù)字信號轉(zhuǎn)換器,內(nèi)置多種類計(jì)時(shí)器,PWM計(jì)時(shí)器,標(biāo)準(zhǔn)和高級通訊接口,全面的省電模式允許設(shè)計(jì)者設(shè)計(jì)低功率應(yīng)用開發(fā),運(yùn)行寬電壓范圍2V至3.6V,256K字節(jié)閃存flash,48K字節(jié)靜態(tài)隨機(jī)存取存儲器,四個(gè)通用計(jì)時(shí)器,兩個(gè)高級控制計(jì)時(shí)器和兩個(gè)基礎(chǔ)計(jì)時(shí)器,51個(gè)高速輸入輸出IO端口,串行線調(diào)試器和在線調(diào)試接口,三個(gè)串行外圍接口,兩個(gè)成電路總線,五個(gè)通用的同步/異步收發(fā)器,一個(gè)通用串行總線。本設(shè)計(jì)采用STM32單片機(jī)集成開發(fā)板,核心單片機(jī)采用STM32F103RCT6。圖3.1STM32F103RCT6核心處理器在設(shè)計(jì)本開發(fā)板時(shí),考慮到電源需要較高的穩(wěn)定性,所采用AMS1117穩(wěn)壓模塊為單片機(jī)核心與整板供電。圖3.2STM32單片機(jī)電源電路為了方便外圍設(shè)備的接入將所有IO口全部引出。圖3.3IO引腳電路采用8KMhz晶振作為開發(fā)板的核心時(shí)鐘單元。為系統(tǒng)提供精準(zhǔn)的時(shí)鐘圖3.4STM32晶振電路與復(fù)位電路并外掛三個(gè)獨(dú)立按鍵與兩個(gè)單色LED燈與一顆電源指示燈。圖3.5LED指示電路考慮到燒錄程序的便捷性與調(diào)試的穩(wěn)定性,板子中加入了CH340模塊,此模塊可將USB信號轉(zhuǎn)換為單片機(jī)能夠讀取的TTL信號圖3.6IPS串口下載調(diào)試電路3.3導(dǎo)航模塊電路設(shè)計(jì)AGV磁導(dǎo)航傳感器,是指一種能夠識別已經(jīng)鋪好的磁路徑的位置并引導(dǎo)磁導(dǎo)航小車沿著路徑前進(jìn)的傳感器。在現(xiàn)有的常規(guī)設(shè)計(jì)中,其傳送裝置大致構(gòu)造如下:一般由霍爾傳感器和放大器組成。其中霍爾傳感器把磁路徑的磁場轉(zhuǎn)化為微弱電壓,放大器把微弱的電壓放大,最后傳送給處理設(shè)備進(jìn)行處理。其中,放大器是決定磁導(dǎo)航傳感器精度性能的關(guān)鍵,衡量其品質(zhì)的主要參考依據(jù)主要有輸入阻抗、輸出阻抗、共模抑制比、輸入偏置電流、失調(diào)電壓對溫度漂移的影響等。現(xiàn)有技術(shù)中最為常用的方案是采用通用放大器對霍爾元件輸出電壓被放大,通用放大器包括輸入級、中間級、輸出級。輸入級采用差分放大回路差分回路的對稱性,減小放大器受溫度漂移的沖擊。在里面中間電壓放大器通常由帶有有源負(fù)載的公共發(fā)射機(jī)放大電路組成,以提高電壓增益;退出階段通常使用A和B類的互補(bǔ)對稱收益。提高集成運(yùn)算放大器負(fù)載能力和降低高信號操作中非線性失真的方法。該技術(shù)方案是通過外接差分電路,來減小通用放大器本身結(jié)構(gòu)所限制的溫漂對其的影響,從而提高整個(gè)電路的共模抑制比。本設(shè)計(jì)的磁導(dǎo)航傳感器安裝在自動引導(dǎo)運(yùn)輸車的車體前方,與磁條表面的距為兩公分到三公分之間,地面所敷設(shè)的磁條寬度為3公分,磁條厚度為0.1公分。在小車系統(tǒng)運(yùn)行過程中,通過AGV磁導(dǎo)航傳感器采集地面敷設(shè)磁條的磁場值。由于采樣點(diǎn)同傳感器磁條垂直,因此可以通過單片機(jī)的數(shù)據(jù)處理判斷磁條同小車當(dāng)前的運(yùn)行狀態(tài)、AGV車偏離,而自動引導(dǎo)運(yùn)輸車會對偏離的路線與角度進(jìn)行調(diào)整,從而保證車的運(yùn)行時(shí)沿著磁條方向與程序的設(shè)計(jì)路徑前進(jìn)。圖3.7AGV磁導(dǎo)航傳感器內(nèi)部檢測放大器電路圖圖3.8AGV磁導(dǎo)航傳感器顯示電路電路圖

3.4避障模塊電路設(shè)計(jì)設(shè)計(jì)原理為:輸入輸出口TRIG觸發(fā)測距功能,至少十微秒鐘的時(shí)鐘觸發(fā)信號由單片機(jī)輸出到測距模塊,模塊自身發(fā)出8個(gè)40千赫茲的方波,模塊接收端會自動檢查有無返回信號;偵測到有訊號的返回,透過IO口Echo輸出高電平的持續(xù)時(shí)間與聲速運(yùn)算,便可得到所測距離=(高電平時(shí)間*聲速(340m/s))/2;圖3.9超聲波模塊原理圖3.5底盤驅(qū)動模塊電路設(shè)計(jì)在設(shè)計(jì)該驅(qū)動模塊時(shí)需考慮到功率大小,因此選擇功率較大的CJA1117B穩(wěn)壓模塊,此穩(wěn)壓電源模塊,電源模塊使用本公司的多路電源模塊,該模塊最大輸出功率15W,具有效率高,紋波低,可以同時(shí)輸出多路5V和3.3V的功能。圖3.10電機(jī)驅(qū)動模塊內(nèi)部電源電氣的正反轉(zhuǎn)與調(diào)速可以通過一個(gè)H橋進(jìn)行控制,通過H橋內(nèi)部開關(guān)的開斷控制電機(jī)的旋轉(zhuǎn)方向與旋轉(zhuǎn)速度。A4950模塊就是內(nèi)置了一組H橋如下圖所示圖3.11H橋電路直流電動機(jī)在開關(guān)A、D閉合、B、C斷開的情況下正常轉(zhuǎn)動方向應(yīng)為正向。直流電動機(jī)在開關(guān)B、C閉合、A、D斷開的情況下正常轉(zhuǎn)動這個(gè)轉(zhuǎn)動方向的。直流電動機(jī)在開關(guān)A、C合攏時(shí)不旋轉(zhuǎn),B、D斷開或開關(guān)B、D合攏時(shí)不旋轉(zhuǎn),A、C斷開。這時(shí)可認(rèn)為馬達(dá)處于「剎車」?fàn)顟B(tài),馬達(dá)因慣性轉(zhuǎn)動而產(chǎn)生的電勢會短路,形成反電勢阻礙運(yùn)動,形成「剎車」效應(yīng)。利用此原理設(shè)計(jì)了電氣驅(qū)動電路如下圖。圖3.12電機(jī)驅(qū)動電路

3.6電源模塊電路設(shè)計(jì)本設(shè)計(jì)采用多功能電源管理模塊,此模塊能夠輸出多種不同電壓,能夠滿足設(shè)計(jì)中不同模塊的電壓需求。模塊采用高性能DC-DCLM5164電壓管理芯片,LM5164是一種易于使用的超低IQ恒定開啟時(shí)間(COT)同步降壓穩(wěn)壓器。具有集成的高側(cè)和低側(cè)功率MOSFET,是一種低成本、高效的降壓變換器。其優(yōu)點(diǎn)為,需要的外圍原件較少、輸出電壓穩(wěn)定,雜波少等優(yōu)點(diǎn)。它能夠在6V到100V的寬輸入電壓下工作,提供高達(dá)1A的直流負(fù)載電流。LM5164是提供8針SOPowerPAD封裝。這種恒定導(dǎo)通時(shí)間(COT)轉(zhuǎn)換器適用于低噪聲、高電流和快速負(fù)載瞬態(tài)要求,使用預(yù)測導(dǎo)通時(shí)間開關(guān)脈沖運(yùn)行。圖3.13電源模塊電路圖3.7機(jī)械臂驅(qū)動電路設(shè)計(jì)舵機(jī)是本設(shè)計(jì)中驅(qū)動機(jī)械臂的關(guān)鍵器件。而又由于設(shè)計(jì)中為了不影響處理器供電或者主控功率不夠,制作一塊板子用作舵機(jī)驅(qū)動,也叫舵機(jī)控制板,驅(qū)動板采用PCA9685作為中控制驅(qū)動芯片。PCA9685是一款用于產(chǎn)生16路PWM信號的控制芯片,采用I2C總線與主控芯片進(jìn)行通信。PCA9685具有可以產(chǎn)生16路PWM脈沖、控制獨(dú)立精準(zhǔn)、編程簡單靈活等特點(diǎn),以其為基礎(chǔ)實(shí)現(xiàn)的舵機(jī)控制能夠有限減少硬件和軟件設(shè)計(jì)的復(fù)雜度,具有高可靠性PCA9685是一款基于I2C總線控制的16路PWM控制芯片。每一路輸出端均可自由調(diào)節(jié)PWM波的頻率(40~1000Hz)和占空比(0%~100%)。這款芯片主要通過輸出不同占空比的PWM脈沖信號來控制舵機(jī)轉(zhuǎn)動的角度。

圖3.14PCA9685舵機(jī)驅(qū)動板電路圖第4章系統(tǒng)的軟件設(shè)計(jì)4.1系統(tǒng)主流程圖當(dāng)系統(tǒng)中硬件全部通電,系統(tǒng)進(jìn)入初始化,初始化完成之后,磁導(dǎo)航模塊開始對地面所敷設(shè)的磁條進(jìn)行循跡,并將實(shí)時(shí)的循跡數(shù)據(jù)通過RS232傳輸協(xié)議通過轉(zhuǎn)換裝置發(fā)送到STM32單片機(jī)當(dāng)中,當(dāng)傳感器檢測到循跡路線發(fā)生偏移時(shí),由主控制系統(tǒng)控制電機(jī)驅(qū)動模塊進(jìn)行角度與電機(jī)轉(zhuǎn)速的調(diào)整使小車回到正常的循跡路線中。小車的驅(qū)動電機(jī)具有編碼與測速功能,在循跡的同時(shí)也能夠?qū)⑿≤嚨漠?dāng)前運(yùn)行狀態(tài)實(shí)時(shí)的顯示與發(fā)送到上位機(jī)端。當(dāng)小車到達(dá)用戶所設(shè)置的貨物位置時(shí)自動停車,控制核心系統(tǒng)控制機(jī)械臂驅(qū)動器驅(qū)動機(jī)械臂上的舵機(jī)進(jìn)行運(yùn)作使其動作,當(dāng)機(jī)械臂運(yùn)轉(zhuǎn)到貨物位置時(shí),掃碼模塊掃描貨物上粘貼的條碼或者二維碼,如果實(shí)際貨物的信息與用戶所設(shè)置的信息所匹配則進(jìn)行夾取,如不正確,機(jī)械臂歸零,繼續(xù)分揀任務(wù)。小車在運(yùn)行當(dāng)中,能夠通過OPENMV實(shí)時(shí)對現(xiàn)場環(huán)境當(dāng)中的交通燈顏色進(jìn)行識別,當(dāng)檢測到交通燈顏色為非綠燈時(shí),小車系統(tǒng)停車等待,直至交通燈顏色變?yōu)榫G色。通過超聲波避障模塊對小車前方的環(huán)境進(jìn)行掃描,當(dāng)小車前方的出現(xiàn)障礙物或出現(xiàn)人員時(shí)迅速停車避讓。無線模塊不間斷工作,保證上位機(jī)的指令能夠?qū)崟r(shí)下發(fā)到下位機(jī)端中,也保證數(shù)據(jù)交互的時(shí)效。圖4.1軟件系統(tǒng)流程圖4.2磁導(dǎo)航模塊的軟件設(shè)計(jì)當(dāng)硬件系統(tǒng)完全通電,初始化完成。磁導(dǎo)航傳感器開始工作,并通過串口發(fā)送循跡數(shù)據(jù),當(dāng)小車角度變化,傳感器發(fā)送一次循跡數(shù)據(jù),循跡數(shù)據(jù)以十六進(jìn)制的數(shù)據(jù)發(fā)送,通過RS232轉(zhuǎn)TTL模塊轉(zhuǎn)換之后發(fā)送到控制核心系統(tǒng)端。并進(jìn)行數(shù)據(jù)校驗(yàn)。通過軟件設(shè)計(jì)判斷校驗(yàn)后正確的數(shù)據(jù)值,控制小車的運(yùn)行狀態(tài),這對串口的傳輸速率有著較高的要求,因此將傳感器端與控制端的串口波特率設(shè)置為能夠保證在不丟失數(shù)據(jù)的情況下最高的速率115200kb/s,保證傳輸數(shù)據(jù)的時(shí)效性與準(zhǔn)確性。在傳感器進(jìn)行初始化時(shí),對原有的數(shù)據(jù)進(jìn)行清零,并對所接收的數(shù)據(jù)進(jìn)行CRC16位數(shù)據(jù)校驗(yàn),最大程度上保證數(shù)據(jù)接收的準(zhǔn)確性,保證小車系統(tǒng)運(yùn)行時(shí)不會出現(xiàn)失控等危險(xiǎn)動作。圖4.2磁導(dǎo)航模塊系統(tǒng)流程圖4.3分揀模塊的軟件設(shè)計(jì)當(dāng)小車到達(dá)貨物的指定位置時(shí),控制核心下發(fā)指令到分揀系統(tǒng)之中,并通過二級單片機(jī)控制機(jī)械臂驅(qū)動器驅(qū)動機(jī)械臂上的舵機(jī)動作,帶動機(jī)械臂動作。STM32主控制單片機(jī)通過IIC通訊協(xié)議控制機(jī)械臂驅(qū)動器PCA9685S輸出不同頻率不同占空比的PWM波來進(jìn)一步的控制機(jī)械臂的運(yùn)行角度與方向。當(dāng)機(jī)械臂運(yùn)行到指定位置時(shí),用二級控制系統(tǒng)發(fā)送指令打開掃碼模塊,掃描貨物上粘貼的條碼或者二維碼,并將掃描結(jié)果發(fā)送到控制核心系統(tǒng)當(dāng)中,由STM32單片機(jī)判斷現(xiàn)在所分揀的實(shí)際貨物是否為用戶所設(shè)置的貨物,如果是用戶所設(shè)置的貨物則控制機(jī)械臂夾取分揀,如不是則機(jī)械臂回原位準(zhǔn)備進(jìn)行下一次分揀。圖4.3分揀模塊系統(tǒng)流程圖4.4小車行走的軟件設(shè)計(jì)小車直線行駛,前傳感器用于檢測系統(tǒng)小車是否按照規(guī)定路線行駛。圖4.2(a)顯示了自動引導(dǎo)運(yùn)輸車的正確行駛角度。如果磁導(dǎo)航傳感器在定義的路徑檢測范圍內(nèi),則表明車輛在該路徑上正確行駛。如果小車前部的傳感器不在檢測范圍內(nèi),如圖4.2(b)所示,例如,如果傳感器位于檢測區(qū)域的右側(cè),則檢測到汽車向左傾斜,并及時(shí)調(diào)整,使汽車的右電機(jī)減速。左側(cè)電機(jī)加速,使自動引導(dǎo)運(yùn)輸車回到指定路線。圖4.4小車行駛方式圖圖4.5小車底盤控制系統(tǒng)流程圖如圖4.2(C)所示,當(dāng)車輛前部偏離檢測范圍時(shí),小型車的彎曲方向相對較大。單片機(jī)控制傳感器和傳感器檢測位置信號,進(jìn)一步控制電氣驅(qū)動器驅(qū)動左右電機(jī)的不同轉(zhuǎn)速調(diào)整小車的運(yùn)行角度。程序順序設(shè)置:啟動程序,開始檢查控制芯片上的各種信號。輸入數(shù)據(jù)參數(shù)、變量、函數(shù)。識別小車的實(shí)時(shí)位置數(shù)據(jù),并確認(rèn)汽車是否在該路徑上正常行駛。如果結(jié)果是正確的,則繼續(xù)下一個(gè)路徑。如果不正確,小車則做出控制器發(fā)送與指定的實(shí)際路徑相對應(yīng)的配置數(shù)據(jù),并繼續(xù)執(zhí)行。這將檢測、評估和調(diào)整每個(gè)定義的軌跡,直到車輛到達(dá)終點(diǎn)并完成整個(gè)操作。第5章系統(tǒng)調(diào)試5.1系統(tǒng)調(diào)試在系統(tǒng)完全搭建之前需要對各個(gè)模塊進(jìn)行單獨(dú)的調(diào)試。圖5.1系統(tǒng)整體實(shí)物圖5.1.1磁導(dǎo)航傳感器調(diào)試在初次使用磁導(dǎo)航傳感器時(shí)需對傳感器進(jìn)行初始化配置,磁條存在S極N極,傳感器無法同時(shí)判斷兩個(gè)磁極,所以要對傳感器進(jìn)行磁極配置保證在運(yùn)行過程中不會出現(xiàn)錯(cuò)誤。在初始化設(shè)置完成之后需要對數(shù)據(jù)交互進(jìn)行初步的調(diào)試。在開始調(diào)試時(shí)時(shí)通過左右晃動磁條來判斷磁導(dǎo)航傳感器是否在正常工作,如圖所示圖5.2磁導(dǎo)航傳感器測試在發(fā)現(xiàn)磁導(dǎo)航傳感器上的LED燈能夠按照磁條的移動依次亮起與熄滅時(shí)可確定傳感器在正常運(yùn)行。在確定正常后與STM32單片機(jī)進(jìn)行連接,觀察串口數(shù)據(jù)是否與手冊上的數(shù)據(jù)相同如圖所示圖5.3磁導(dǎo)航發(fā)送數(shù)據(jù)通過上圖的數(shù)據(jù)發(fā)現(xiàn)磁導(dǎo)航傳感器正在正常發(fā)送所采集的數(shù)據(jù),證明調(diào)試與運(yùn)行正常。5.1.2避障模塊調(diào)試避障模塊采用的是HC-SR04超聲波傳感器,此傳感器在進(jìn)行測量時(shí),主要利用的是聲波反射的原理。在調(diào)試過程中,首先對模塊進(jìn)行通電并連接單片機(jī),在單片機(jī)程序燒錄完成之后按下板載KEY,觀察到OLED屏上的數(shù)值變化如圖所示圖5.4OLED屏顯示超聲波傳感器所測數(shù)值當(dāng)出現(xiàn)數(shù)值之后用帶有刻度的米尺對所測數(shù)據(jù)進(jìn)行校準(zhǔn),并確定最準(zhǔn)確的程序設(shè)定值5.1.3視覺模塊的調(diào)試對視覺模塊進(jìn)行通電并連接電腦如圖所示,在連接上電腦之后,視覺模塊進(jìn)行初始化。初始化完成之后電腦屏幕上會顯示當(dāng)前的實(shí)時(shí)畫面,觀察屏幕右上方是否顯示視覺模塊所照射的區(qū)域,當(dāng)圖像不清晰時(shí)旋轉(zhuǎn)鏡頭模塊調(diào)整焦距,直至圖像清晰。圖5.5視覺模塊編程軟件界面在識別交通燈時(shí),需要采集交通燈顏色,由于不同環(huán)境下紅黃綠三種顏色的閾值會發(fā)生變化并對該顏色需要對這三種顏色進(jìn)行閾值的處理與設(shè)置。首先將所使用的三種顏色圖片裁剪成與實(shí)際交通燈相似的圓形,其次對裁剪后的顏色圖片進(jìn)行閾值的調(diào)整,并將數(shù)值設(shè)置到最為合適的一個(gè)范圍,保證視覺識別模塊能夠準(zhǔn)確無誤的進(jìn)行識別,并燒錄進(jìn)設(shè)備進(jìn)行多次校驗(yàn)。圖5.6顏色閾值設(shè)置界面

5.1.4分揀模塊的調(diào)試在對分揀模塊進(jìn)行調(diào)試之前需對模塊進(jìn)行硬件上的搭建如圖所示圖5.7分揀模塊主體框架在分揀模塊的主體框架搭建完成之后需要對各個(gè)關(guān)節(jié)進(jìn)行潤滑與松緊度的調(diào)整,以保證在運(yùn)行中不出現(xiàn)卡死或轉(zhuǎn)動不靈活的情況出現(xiàn)。其次向框架中安裝舵機(jī)驅(qū)動部分。圖5.8驅(qū)動模塊安裝完畢

整個(gè)硬件環(huán)境搭建完畢之后對機(jī)械臂進(jìn)行初步調(diào)試,首先讓機(jī)械臂運(yùn)動至所夾取貨物的目標(biāo)位置,如圖所示。圖5.9機(jī)械臂運(yùn)動到目標(biāo)位置在機(jī)械臂運(yùn)動到目標(biāo)貨物之后對貨物進(jìn)行夾取,如圖所示。圖5.10機(jī)械臂夾取貨物在機(jī)械臂夾取貨物之后,機(jī)械臂開始動作并運(yùn)行到原點(diǎn)位置,對貨物完成一次分揀。圖5.11機(jī)械臂將所分揀的貨物放置到指定位置在對機(jī)械臂進(jìn)行調(diào)試中,要注意每個(gè)關(guān)節(jié)的最大活動位置,防止在運(yùn)動過程當(dāng)中將驅(qū)動舵機(jī)損壞。參考文獻(xiàn)[1]袁鵬,周軍,楊子兵,等.AGV路徑規(guī)劃與偏差校正研究[J].現(xiàn)代制造工程,2021(4):26-32.[2]內(nèi)蒙古工業(yè)大學(xué).AGV磁導(dǎo)航的導(dǎo)航磁條:CN202020113902.7[P].2020-07-31.[3]苗靜靜,牛萍娟.磁導(dǎo)航AGV路徑跟蹤控制系統(tǒng)設(shè)計(jì)[J].組合機(jī)床與自動化加工技術(shù),2021(9):107-110,116.[4]王殿衛(wèi),郭津津,李維驍.基于麥克納姆輪的AGV定位及糾偏技術(shù)的研究[J].天津理工大學(xué)學(xué)報(bào),2020,36(4):22-27.[5]鄧依婷,徐曦,李亞寧,等.基于麥克納姆輪的AGV小車[J].物聯(lián)網(wǎng)技術(shù),2021,11(1):65-66,71.DOI:10.16667/j.issn.2095-1302.2021.01.018.[6]劉佳耀,袁佳艷,陶衛(wèi)軍,等.一種配備智能機(jī)械臂的AGV設(shè)計(jì)與實(shí)現(xiàn)[J].兵工自動化,2016,35(10):38-41.DOI:10.7690/bgzdh.2016.10.011.[7]孫宜敬.磁導(dǎo)航AGV車載控制系統(tǒng)的設(shè)計(jì)與應(yīng)用[J].現(xiàn)代制造技術(shù)與裝備,2022,58(2):190-193.[8]韓強(qiáng),何利力.智能倉儲車間中多AGV路徑優(yōu)化算法研究[J].智能計(jì)算機(jī)與應(yīng)用,2022,12(5):43-49.[9]陳洋,林其岳,鄧志華,等.AGV路徑規(guī)劃算法研究進(jìn)展[J].機(jī)電技術(shù),2022(5):39-43.DOI:10.19508/ki.1672-4801.2022.05.012.[10]梁藝,李芳薇,楊志濱,左夏露.智能機(jī)器人在圖書館中的應(yīng)用[J].中華醫(yī)學(xué)圖書情報(bào)雜志,2021,30(09):64-70.[11]李模剛,白智,何澎,李俊國,李遠(yuǎn)豪.一個(gè)AGV小車的智能控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),2021,34(12):141-143.[12]韓冰,李程,高海平.AGV自行小車自主開發(fā)研究[J].電子技術(shù)與軟件工程,2021(17):109-110.[13]李琪璐,路彤,李明宇,童艷榮.基于機(jī)器視覺的顏色分揀機(jī)器人設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2022,22(12):54-57.[14]何均鋒.倉儲物流AGV避障問題研究[D].南京林業(yè)大學(xué),2021.DOI:10.27242/ki.gnjlu.2021.000095.[15]胡美姣,尹力,黃新,陳德立.基于RFID的AGV定位與磁導(dǎo)航設(shè)計(jì)[J].流體測量與控制,2022,3(06):70-73.[16]張亞強(qiáng).AGV在智能停車領(lǐng)域的設(shè)計(jì)與實(shí)現(xiàn)[D].鄭州大學(xué),2020.[17]YuanMinghai,LiYadong,PeiFengque,GuWenbin.Dual-resourceintegratedschedulingmethodofAGVandmachineinintelligentmanufacturingjobshop[J].JournalofCentralSouthUniversity,2021,28(8).[18]LiuGang,ZhangRongxu,WangYanyan,ManRongjun.RoadSceneRecognitionofForkliftAGVEquipmentBasedonDeepLearning[J].Processes,2021,9(11).[19]MiaoZhenteng,ZhangXiaolei,HuangGuojue.ResearchonDynamicObstacleAvoidancePathPlanningStrategyofAGV[J].JournalofPhysics:ConferenceSeries,2021,2006(1).[20]WangZehao,ZengQingcheng.Abranch-and-boundapproachforAGVdispatchingandroutingproblemsinautomatedcontainerterminals[J].Computers&IndustrialEngineering,2022,166.[21]ZhangHouzhong,XuLin,LiangJiasheng,SunXiaoqiang.ResearchonGuideLineIdentificationandLateralMotionControlofAGVinComplexEnvironments[J].Machines,2022,10(2).

附錄系統(tǒng)原理圖:STM32主控制核心原理圖

主函數(shù)Main.c#include"bsp_sys.h"#include"stdio.h"#include"car.h"#include"uart2.h"#include"modbus.h"#include"bsp_GPIO.h"#include"esp.h"externu8OLED_ADC_Flag;externu8OLED_Speed_Flag;externu16ADC_BAT_Val,ADC_BAT_temp;externu16ADC_SYS_Val,ADC_SYS_temp;externintEncoder_A,Encoder_B,Encoder_C,Encoder_D;floatadc11;floatadc22;charadc1[5];charadc2[4];intSpeed_A,Speed_B,Speed_C,Speed_D; intMaPan;u8bat1;uint8_tTRACK3;uint8_tSwitch2;intmain(void){ STM32_System_Init(); Init(); Delay_ms(1000); OLED_Clear(); while(1) { adc11=ADC_BAT_Val*3.3/4096*11;Esp_PUB(); if(OLED_ADC_Flag==1) { OLED_ADC_Flag=0; adc11=ADC_BAT_Val*3.3/4096*11; sprintf(adc1,"%2.1f",adc11); OLED_ShowString(16,0,adc1,12); if(adc11<7.4) { OLED_ShowString(0,0,"LowPower",12); } adc22=ADC_SYS_Val*3.3/4096*2; sprintf(adc2,"%2.1f",adc22); OLED_ShowString(96,0,adc2,12); Speed_A=Encoder_A*1200/(11*4*JSB); Speed_B=Encoder_B*1200/(11*4*JSB); Speed_C=Encoder_C*1200/(11*4*JSB); Speed_D=Encoder_D*1200/(11*4*JSB); OLED_ShowNum(16,1,Speed_A,3,12); OLED_ShowNum(64,1,Speed_B,3,12); OLED_ShowNum(16,2,Speed_C,3,12); OLED_ShowNum(64,2,Speed_D,3,12); } } }磁導(dǎo)航接收程序Usart1.c#include"uart2.h"#defineUART2_DMA1 #defineCHECK_NONE_ONE_STOP1#defineCHECK_NONE_TWO_STOP0#defineCHECK_EVEN0#defineCHECK_ODD0u8dma_rec_buff[DMA_REC_LEN]={0};u16uart2_rec_cnt=0; u8data_backup[DMA_REC_LEN]={0}; u16dataLen_backup=0; _BoolreceiveOK_flag=0; voiduart2_init(u32baud){GPIO_InitTypeDefGPIO_InitStructure;USART_InitTypeDefUSART_InitStructure;NVIC_InitTypeDefNVIC_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStructure);NVIC_InitStructure.NVIC_IRQChannel=USART2_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x02;NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x02;NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_InitStructure);USART_InitStructure.USART_BaudRate=baud;USART_InitStructure.USART_WordLength=USART_WordLength_8b;USART_InitStructure.USART_StopBits=USART_StopBits_1;USART_InitStructure.USART_Parity=USART_Parity_No; #if(CHECK_EVEN==1) USART_InitStructure.USART_WordLength=USART_WordLength_9b;USART_InitStructure.USART_Parity=USART_Parity_Even;#endif#if(CHECK_ODD==1) USART_InitStructure.USART_WordLength=USART_WordLength_9b;USART_InitStructure.USART_Parity=USART_Parity_Odd;#endif#if(CHECK_NONE_ONE_STOP==1) USART_InitStructure.USART_StopBits=USART_StopBits_1;#endif#if(CHECK_NONE_TWO_STOP==1) USART_InitStructure.USART_StopBits=USART_StopBits_2;#endif USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;USART_Init(USART2,&USART_InitStructure);#if(UART2_DMA==1)USART_ITConfig(USART2,USART_IT_IDLE,ENABLE); USART_DMACmd(USART2,USART_DMAReq_Rx,ENABLE); uartDMA_Init(); #elseUSART_ITConfig(USART2,USART_IT_RXNE,ENABLE); #endifUSART_Cmd(USART2,ENABLE); }voiduartDMA_Init(void){DMA_InitTypeDefDMA_IniStructure;RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE); DMA_DeInit(DMA1_Channel6); DMA_IniStructure.DMA_PeripheralBaseAddr=(u32)&USART2->DR; DMA_IniStructure.DMA_MemoryBaseAddr=(u32)dma_rec_buff; DMA_IniStructure.DMA_DIR=DMA_DIR_PeripheralSRC; DMA_IniStructure.DMA_BufferSize=DMA_REC_LEN; DMA_IniStructure.DMA_PeripheralInc=DMA_PeripheralInc_Disable; DMA_IniStructure.DMA_MemoryInc=DMA_MemoryInc_Enable; DMA_IniStructure.DMA_PeripheralDataSize=DMA_PeripheralDataSize_Byte;DMA_IniStructure.DMA_MemoryDataSize=DMA_MemoryDataSize_Byte; DMA_IniStructure.DMA_Mode=DMA_Mode_Normal; DMA_IniStructure.DMA_Priority=DMA_Priority_Medium; DMA_IniStructure.DMA_M2M=DMA_M2M_Disable; DMA_Init(DMA1_Channel6,&DMA_IniStructure);DMA_Cmd(DMA1_Channel6,ENABLE);}voidmyDMA_Enable(DMA_Channel_TypeDef*DMA_CHx){DMA_Cmd(DMA_CHx,DISABLE); DMA_SetCurrDataCounter(DMA_CHx,DMA_REC_LEN); DMA_Cmd(DMA_CHx,ENABLE); }voiduart2_Send(u8*buf,u16len){u16t;for(t=0;t<len;t++) {while(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET);USART_SendData(USART2,buf[t]);}while(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET);}voidcopy_data(u8*buf,u16len){u16t;dataLen_backup=len; for(t=0;t<len;t++){data_backup[t]=buf[t]; }}voidUSART2_IRQHandler(void){#if(UART2_DMA==1) if(USART_GetITStatus(USART2,USART_IT_IDLE)!=RESET) {USART_ReceiveData(USART2); DMA_Cmd(DMA1_Channel6,DISABLE); uart2_rec_cnt=DMA_REC_LENDMA_GetCurrDataCounter(DMA1_Channel6);DMA傳輸通道中剩余單元數(shù)量就是已經(jīng)接收到的數(shù)據(jù)數(shù)量 copy_data(dma_rec_buff,uart2_rec_cnt); receiveOK_flag=1; USART_ClearITPendingBit(USART2,USART_IT_IDLE); myDMA_Enable(DMA1_Channel6); }#else if(USART_GetITStatus(USART2,USART_IT_RXNE)!=RESET) {tem=USART_ReceiveData(USART2);USART_SendData(USART2,tem);}#endif}磁導(dǎo)航校驗(yàn)程序modbus.c#include"modbus.h"#include"crc16.h"#include"uart2.h"#include"AT4950.h"#defineHoldRegStartAddr0x0000 #defineHoldRegCount8 #defineHoldMaxValue1000 externu8data_backup[DMA_REC_LEN]; externu16dataLen_backup; u8SendBuf[DMA_REC_LEN]={0};u16StartRegAddr=HoldRegStartAddr;u8err=0; u8HoldReg[HoldRegCount*2]={1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8};//存儲8路數(shù)據(jù)值voidDisposeReceive(void){u16CRC16=0,CRC16Temp=0;if(data_backup[0]==SlaveID) {CRC16=App_Tab_Get_CRC16(data_backup,dataLen_backup-2); CRC16Temp=((u16)(data_backup[dataLen_backup-1]<<8)|data_backup[dataLen_backup-2]);if(CRC16!=CRC16Temp){err=4; }if(err==0){switch(data_backup[5]) {case0x00:Car_Stop(0,0,0,0);break;.case0x10:Car_Go(1500,1500,1500,1500);break; case0x18:Car_Go(1500,1500,1500,1500);break;case0x0c:fine_tun(1500,1600,1500,1500);break;case0x30:fine_tun(1600,1600,1600,1600);break;case0xff:Car_Left(2100,1600,1600,2100);break;default:Car_Stop(0,0,0,0);break;}if(err>0){SendBuf[0]=data_backup[0];SendBuf[1]=data_backup[1]|0x80;SendBuf[2]=err; CRC16Temp=App_Tab_Get_CRC16(SendBuf,3); SendBuf[3]=CRC16Temp&0xFF; SendBuf[4]=(CRC16Temp>>8); uart2_Send(SendBuf,5); err=0; }}}}電機(jī)驅(qū)動程序A4950.h#include"AT4950.h"voidA

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論