林健全 劉浩捷 孫偉卿
摘? 要: 設(shè)計(jì)了一種基于STM32F103ZET6處理器的智能物料搬運(yùn)小車。該小車使用紅外傳感器和激光模塊進(jìn)行循跡和定位,軟硬件雙重消抖;通過(guò)麥克納姆輪實(shí)現(xiàn)全方位移動(dòng);使用openmv攝像頭來(lái)讀取信息和識(shí)別物料;通過(guò)六自由度機(jī)械臂配合空氣泵抓取和放置物料,其中攝像頭配合機(jī)械臂實(shí)現(xiàn)PI閉環(huán)抓取和放置;超聲波模塊完成避障;降壓DC-DC變換器穩(wěn)定各個(gè)模塊的工作電壓。經(jīng)試驗(yàn)驗(yàn)證,該小車能夠很好的完成信息讀取,物料的抓取,搬運(yùn)和放置任務(wù)。
關(guān)鍵詞: 智能物料搬運(yùn)小車;STM32;軟硬件雙重消抖;Openmv;PI閉環(huán)算法
中圖分類號(hào): TS958.2+8 ???文獻(xiàn)標(biāo)識(shí)碼: A??? DOI:10.3969/j.issn.1003-6970.2020.07.005
本文著錄格式:林健全,劉浩捷,孫偉卿. 基于STM32的智能物料搬運(yùn)小車[J]. 軟件,2020,41(07):27-30
STM32-based Intelligent Material Handling Trolley
LIN Jian-quan1, LIU Hao-jie2, SUN Wei-qing1
(1. University of Shanghai for Science and Technology School of Mechanical Engineering,Shanghai 200093;2. University of Shanghai for Science and Technology School of Optoelectronic Information and Computer Engineering, Shanghai 200093)
【Abstract】: This paper designs an intelligent material handling trolley based on the STM32F103ZET6 processor. The car uses infrared sensors and laser modules for tracking and positioning, and dual deshake of software and hardware; it can be moved in all directions through Mecanum wheels; it uses Openmv cameras to read information and identify materials; and it uses a six-degree-of-freedom robotic arm with an air pump grabbing and placing materials, the camera cooperates with the robotic arm to realize PI closed-loop grasping and placing; the ultrasonic module completes obstacle avoidance; the step-down DC-DC converter stabilizes the working voltage of each module. The test verified that the trolley can complete the tasks of reading information, grasping, handling and placing materials.
【Key words】: Intelligent material handling trolley; STM32; Software and hardware dual debounce; Openmv; PI closed-loop algorithm
0? 引言
智能小車是輪式移動(dòng)機(jī)器人的一種,其內(nèi)容涵蓋機(jī)械、汽車、電子、自動(dòng)控制、計(jì)算機(jī)、傳感技術(shù)等多個(gè)學(xué)科的知識(shí)領(lǐng)域,是目前電子設(shè)計(jì)的一個(gè)熱門話題。該智能物料搬運(yùn)小車集合傳感器檢測(cè)技術(shù)[1],智能控制理論技術(shù)[2]以及電力拖動(dòng)技術(shù)為一體,能夠?qū)崿F(xiàn)各種復(fù)雜的任務(wù)。該小車可以在人無(wú)法工作“特別危險(xiǎn)區(qū)域”,人無(wú)法直接接觸的隔離區(qū)域下準(zhǔn)確,穩(wěn)定的完成物料的搬運(yùn)任務(wù)。代替人在“危險(xiǎn)地區(qū)”進(jìn)行作業(yè),提高了物料搬運(yùn)的安全性,以及提升了工作的效率。
1 ?系統(tǒng)總體方案
1.1? 系統(tǒng)設(shè)計(jì)要求
要求設(shè)計(jì)一個(gè)智能物流小車,小車能夠在沒(méi)人的情況下自行完成物料搬運(yùn)工作。主要有以下兩方面的內(nèi)容:(1)機(jī)械臂配合機(jī)械臂能夠正確的讀取任務(wù)信息;(2)小車能夠準(zhǔn)確的完成物料搬運(yùn)工作。同時(shí)小車上的顯示屏能夠顯示物料搬運(yùn)信息,出現(xiàn)故障時(shí)故障的原因。
1.2? 系統(tǒng)結(jié)構(gòu)框圖
該智能物流小車系統(tǒng)的結(jié)構(gòu)框圖如圖1。該系統(tǒng)由主控制器[3],紅外傳感器,激光模塊,直流電機(jī),攝像頭,機(jī)械臂,超聲波,降壓DC-DC模塊??? 構(gòu)成。
2? 主要硬件設(shè)計(jì)
2.1? 系統(tǒng)控制器模塊
控制器是整個(gè)系統(tǒng)的核心,本系統(tǒng)使用STM32F103ZET6開發(fā)板。該型號(hào)單片機(jī)相比于51系列單片機(jī),運(yùn)算速度更快,有更多的與外設(shè)的通信串口與I/O口;一共21路AD轉(zhuǎn)換,帶有標(biāo)準(zhǔn)3.3 V輸出電壓,PWM發(fā)生器等。
2.2 ?系統(tǒng)供電電路設(shè)計(jì)
整個(gè)系統(tǒng)由12 V的鋰電池進(jìn)行供電。小車行進(jìn)的直流電機(jī)和機(jī)械臂上的伺服電機(jī)在工作時(shí)均需要較大的電流,所以采用并聯(lián)的方式,首先將DC/DC降壓模塊和電機(jī)驅(qū)動(dòng)L298N并聯(lián),由鋰電池直接供電。然后,DC/DC降壓模塊5 V輸出給機(jī)械臂上的伺服電機(jī)和Openmv攝像頭供電,同時(shí)電機(jī)驅(qū)動(dòng)L298N的5 V輸出接到單片機(jī)的5 V上,輸出直接接直流電機(jī)。最后,由單片機(jī)引出3.3 V輸出給紅外傳感器,激光模塊,超聲波模塊等傳感器以及LCD顯示屏。系統(tǒng)電能流向圖如圖2所示。
2.3? 電機(jī)驅(qū)動(dòng)L298N
電機(jī)驅(qū)動(dòng)L298N[4]是用來(lái)驅(qū)動(dòng)兩相電機(jī)的。L298N能夠接受標(biāo)準(zhǔn)的TTL信號(hào)[5],其原理主要是通過(guò)兩個(gè)H橋?qū)纹瑱C(jī)的PWM信號(hào)進(jìn)行放大從而驅(qū)動(dòng)電機(jī)。其驅(qū)動(dòng)原理圖如同3所示。IN1, IN2, IN3, IN4為單片機(jī)PWM信號(hào)的輸入;EN A和EN B分別是兩相的兩個(gè)使能端,低電平有效;OUT1和OUT1,OUT3和OUT4分別接兩相電機(jī)。
2.4? 降壓DC/DC模塊
因?yàn)殡娫刺峁┑碾妷簽?2 V,而伺服電機(jī)的工作電壓為5 V,且機(jī)械臂需要更大的電流,所以為了降壓增流使用降壓DC/DC模塊。DC/DC降壓模塊有一個(gè)12 V的固定輸入,有一個(gè)可調(diào)電阻可以調(diào)節(jié)輸出的電壓,調(diào)節(jié)范圍為5 V——輸入電壓,其主要的電路結(jié)構(gòu)為一個(gè)Buck電路。
3? 軟件設(shè)計(jì)
3.1 ?程序設(shè)計(jì)總流程圖
系統(tǒng)采用模塊化程序設(shè)計(jì)[6]。智能物料小車從上電初始化開始,先讀取任務(wù)碼,用攝像頭確定物料所需要放置的位置然后計(jì)算出行進(jìn)路線,控制小車行駛,最后通過(guò)機(jī)械臂和攝像頭準(zhǔn)確放置物料。程序設(shè)計(jì)流程圖如圖4。
3.2? 小車循跡定位程序
通過(guò)激光模塊和紅外傳感器實(shí)現(xiàn)小車的循跡和定位。實(shí)驗(yàn)場(chǎng)地如圖4,以出發(fā)區(qū)的點(diǎn)為原點(diǎn),二維碼任務(wù)板所在位置為X軸,最上方垂直于任務(wù)板所在直線為Y軸建立直角坐標(biāo)系四個(gè)激光模塊通過(guò)測(cè)量離場(chǎng)地邊緣擋板的距離來(lái)得到小車目前所在的坐標(biāo);車上的八個(gè)紅外傳感器的通過(guò)場(chǎng)地黑白線不同的光強(qiáng)反饋不同的信息給單片機(jī),確定小車在網(wǎng)格的具體位置以及行駛的距離。
3.3? 任務(wù)碼讀取及顏色識(shí)別程序
為確保系統(tǒng)穩(wěn)定性,調(diào)試的便利性openmv會(huì)每完成一個(gè)步驟,進(jìn)行文件讀寫一次,進(jìn)行記錄。系統(tǒng)開始工作后,進(jìn)行攝像頭串口初始化,根據(jù)感光元件對(duì)顏色LAB參數(shù)進(jìn)行微調(diào),從而確保讀取顏色準(zhǔn)確;然后進(jìn)行檢測(cè)二維碼,若長(zhǎng)時(shí)間未檢測(cè)到二維碼則會(huì)通過(guò)串口交互,使小車移動(dòng);之后進(jìn)行識(shí)別顏色,完成識(shí)別后對(duì)顏色進(jìn)行編碼,通過(guò)串口將顏色信息發(fā)送;最后進(jìn)行實(shí)時(shí)檢測(cè)物塊與機(jī)械臂的距離,發(fā)送誤差用于主控進(jìn)行PI[7]閉環(huán)控制。
4? 難點(diǎn)及關(guān)鍵技術(shù)
4.1? 紅外傳感器配合麥克納姆輪[8]循跡
控制物料小車穩(wěn)定形式的難點(diǎn)在于機(jī)械臂的長(zhǎng)度較長(zhǎng),并且在行駛過(guò)程中一直抓取著物料,若地面輕微的不平整或者小車的大幅度動(dòng)作變化都會(huì)導(dǎo)致物料小車重心的變化從而增大物料脫落的可能性。
所以考慮使用麥克納姆輪進(jìn)行全方位的移動(dòng),能避免小車進(jìn)行轉(zhuǎn)向,掉頭等大幅度操作。麥克納姆輪的工作原理是通過(guò)四輪之間的速度差來(lái)改變小車的速度和行進(jìn)方向,其基本運(yùn)行原理圖如圖6。小車車身的八組紅外傳感器按照順時(shí)針?lè)謩e命名為zero~eight,紅外傳感器遇到黑線反饋1,其余反饋0,通過(guò)zero~eight的值可以確定小車車身在路線上的情況,再結(jié)合麥克納姆輪的運(yùn)動(dòng)學(xué)分析,計(jì)算出小車接下來(lái)各個(gè)輪胎的速度,控制小車循跡。
4.2? 軟件延時(shí)+硬件遮光實(shí)現(xiàn)雙重消抖
紅外傳感器在按照反射光強(qiáng)不同進(jìn)行循跡時(shí),會(huì)受到外界光照強(qiáng)度變化所帶來(lái)的影響。并且小車行進(jìn)過(guò)程中,車身重心的變化導(dǎo)致紅外傳感器與地面的距離也會(huì)影響紅外傳感器的靈敏度。所以考慮采用軟件延時(shí)+硬件遮光的雙重消抖來(lái)使紅外傳感器反饋更加準(zhǔn)確。在紅外傳感器發(fā)射和接收管的外表面均用黑色遮光罩進(jìn)行擋光,不論在室外環(huán)境下的白天和黑夜,光照強(qiáng)度發(fā)生變化,均不會(huì)對(duì)紅外傳感器的反饋造成干擾;在紅外傳感器判斷時(shí),因?yàn)橹匦母淖冊(cè)斐傻亩秳?dòng)持續(xù)時(shí)間極短,加入一個(gè)10 ms左右的延時(shí)函數(shù)再進(jìn)行第二次判斷,就能降低紅外傳感器的靈敏度,極大程度的降低重心改變帶來(lái)的干擾。
4.3? Openmv配合機(jī)械臂PI閉環(huán)抓取和放置物料
Openmv作為圖像識(shí)別[9]傳感器,分別使用顏色識(shí)別和特征點(diǎn)檢測(cè)算法[10],識(shí)別物塊和機(jī)械臂,從而達(dá)到定位的目的。而后計(jì)算二者的歐氏距離,進(jìn)行攝像頭畸變補(bǔ)償,將結(jié)果通過(guò)串口發(fā)送,利用PI算法進(jìn)行機(jī)械手控制,同時(shí)繼續(xù)運(yùn)行,直到誤差為極小值,而后進(jìn)行抓取??刂平Y(jié)構(gòu)圖如圖7所示。
5 ?結(jié)語(yǔ)
本文設(shè)計(jì)了一種基于stm32f103ZET6處理器的智能物料搬運(yùn)小車。該智能物料小車有紅外,激光模塊,超聲波,openmv等傳感器,機(jī)械臂,直流電機(jī),麥克納姆輪等可控制器件。該智能物料搬運(yùn)小車能夠獨(dú)立完成任務(wù)碼識(shí)別,物料的抓取,運(yùn)輸和放置一系列任務(wù);openmv讀取任務(wù)碼和機(jī)械臂的抓取放置均為PI算法閉環(huán)控制。經(jīng)圖4測(cè)試場(chǎng)地進(jìn)行試驗(yàn),能夠穩(wěn)定,準(zhǔn)確的完成物料搬運(yùn)任務(wù)。對(duì)于在人無(wú)法之間參與的危險(xiǎn)地區(qū)和需要隔離的環(huán)境,該智能物料搬運(yùn)小車能夠發(fā)揮極大的作用。
參考文獻(xiàn)
羅印. 基于手機(jī)加速度傳感器的測(cè)距系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件, 2015, 36(2): 73-76.
劉明. 計(jì)算機(jī)技術(shù)應(yīng)用下的電氣自動(dòng)化控制系統(tǒng)設(shè)計(jì)分析[J]. 軟件, 2018, 39(6): 170-173.
程小艷. 嵌入式STM32F107VCT6微處理器接口模塊開發(fā)及應(yīng)用研究[D]. 合肥工業(yè)大學(xué), 2012.
殷留留, 韓森, 王芳, 等. 基于L298N的直流電機(jī)調(diào)速系統(tǒng)的設(shè)計(jì)與應(yīng)用[J]. 信息技術(shù), 2017(06): 104-106+111.
趙潔, 饒?jiān)鋈剩?郭明超. TTL邏輯電平檢測(cè)電路研究與設(shè)計(jì)[J]. 甘肅高師學(xué)報(bào), 2016, 21(03): 15-16.
汪友生. 電類非計(jì)算機(jī)專業(yè)C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)研究[J]. 軟件, 2018, 39(3): 99-101.
范云飛, 任小洪, 袁文林. 基于并聯(lián)PID 的四旋翼飛行控制策略設(shè)計(jì)[J]. 軟件, 2015, 36(4): 37-39.
陳博翁, 范傳康, 賀驥. 基于麥克納姆輪的全方位移動(dòng)平臺(tái)關(guān)鍵技術(shù)研究[J]. 東方電氣評(píng)論, 2013, 27(04): 7-11.
侯貴洋, 趙桂杰, 王璐瑤. 草莓采摘機(jī)器人圖像識(shí)別系統(tǒng)研究[J]. 軟件, 2018, 39(6): 184-188.
侯曉麗. 基于局部特征的圖像匹配算法研究[D]. 西安電子科技大學(xué), 2014.