岑勛儀, 黃學(xué)潤, 李家航, 邱秀英, 白洪宇, 覃光鋒
(廣西科技師范學(xué)院, 廣西 來賓 546199)
傳統(tǒng)農(nóng)場的貨物,比如肥料,飼料,稻谷等只能由人工搬運(yùn)。效率低,人工成本高,在農(nóng)忙季節(jié),嚴(yán)重影響了生產(chǎn)效率, 容易造成經(jīng)濟(jì)負(fù)增長。 隨著人們生活水平的提高和物流需求的不斷增加,智能倉儲(chǔ)逐漸成為物流業(yè)的重要組成部分。 在智能倉儲(chǔ)中, 智能小車則扮演著非常重要的角色,現(xiàn)在的智能小車不再是“貨找人”和“人找貨” 的方式。 可通過先進(jìn)的算法結(jié)合物聯(lián)網(wǎng)的萬物互聯(lián)來實(shí)現(xiàn)將人們的想法“告訴”給我們的智能小車。 它可以實(shí)現(xiàn)庫房內(nèi)貨物的即時(shí)運(yùn)輸,提高倉儲(chǔ)效率和管理水平。
本文通過應(yīng)用物聯(lián)網(wǎng)技術(shù), 設(shè)計(jì)一款智能倉儲(chǔ)智能小車,實(shí)現(xiàn)智能無線遙控和自動(dòng)尋跡。 該小車還具有避障檢測、行駛狀態(tài)檢測等功能。 本文主要介紹該智能小車的結(jié)構(gòu)設(shè)計(jì)、硬件實(shí)現(xiàn)和系統(tǒng)軟件實(shí)現(xiàn)。 智能小車有很多,雖然能靈活、準(zhǔn)確、有效地搬運(yùn)貨物,等對于現(xiàn)在的生產(chǎn)要求是遠(yuǎn)遠(yuǎn)達(dá)不到的。 我們針對現(xiàn)代的產(chǎn)業(yè)要求,設(shè)計(jì)了一種有效解決的問題的方案。 能幫助我們實(shí)現(xiàn)更高的工作效率。
智能倉儲(chǔ)小車的智能化程度很高, 能實(shí)現(xiàn)基本的充電、按照指定程序來實(shí)現(xiàn)搬運(yùn)貨物、識(shí)別貨物等要求。 有效解決了傳統(tǒng)倉儲(chǔ)作業(yè)的繁重工作, 還可以代替人們進(jìn)行一些危險(xiǎn)的工作。 在一些奶牛農(nóng)場上作業(yè),傳統(tǒng)的倉儲(chǔ)小車容易發(fā)生故障,從而點(diǎn)燃干草等一些物品。 從而應(yīng)發(fā)火災(zāi),危害廣大農(nóng)事從業(yè)者的財(cái)產(chǎn)和生命安全。 小車具有一定的診斷能力,當(dāng)電量不足時(shí),能自覺規(guī)劃最優(yōu)路線進(jìn)行返回充電。 對于日常中可能會(huì)存在故障,能給出對應(yīng)的故障代碼,方便后期的維修。
設(shè)計(jì)一個(gè)有攝像頭和避障功能和手機(jī)控制的小車,作品的功能應(yīng)滿足以下條件:
小車配備有高清晰度的攝像頭, 可用于環(huán)境感知和物品識(shí)別。通過實(shí)時(shí)監(jiān)測倉庫里的場景,智能倉儲(chǔ)小車可以迅速獲取感興趣的物品位置等信息, 并根據(jù)需要調(diào)整自身的行進(jìn)方向和速度。此外,攝像頭功能還可以將圖片和視頻傳輸?shù)绞謾C(jī)等智能終端設(shè)備上進(jìn)行實(shí)時(shí)監(jiān)控和遠(yuǎn)程控制。
智能倉儲(chǔ)小車提供了手機(jī)控制功能, 可以遠(yuǎn)程操縱小車的行動(dòng)。 用戶只需通過APP 等應(yīng)用程序,即可在任何地方掌控小車的運(yùn)動(dòng)方向、速度、停止等行為。此外,用戶還可以通過手機(jī)查看小車的實(shí)時(shí)狀況、 更改導(dǎo)航點(diǎn)和任務(wù)等設(shè)置,大大提高了物流操作的便利性和效率。
用多個(gè)舵機(jī)進(jìn)行組成多關(guān)節(jié)機(jī)械臂, 可用于自主抓取和放置物品。通過先進(jìn)的控制算法和傳感器技術(shù),機(jī)械臂可以實(shí)現(xiàn)高精度的物品抓取和放置功能, 并完成各種不同形狀和尺寸的物品搬運(yùn)任務(wù)。此外,機(jī)械臂還可以與智能識(shí)別技術(shù)結(jié)合,實(shí)現(xiàn)標(biāo)識(shí)物品類型、大小和重量等信息的自動(dòng)識(shí)別和分類處理, 提高倉庫物品操作的智能化和自動(dòng)化水平。
為了實(shí)現(xiàn)小車高精度的動(dòng)力系統(tǒng)控制, 我們?nèi)サ粼鹊闹绷麟姍C(jī)采用精度更為準(zhǔn)確的,步進(jìn)電機(jī)、能小車精準(zhǔn)停在可控范圍。
(1)如何用STM32 單片機(jī)為主控芯片,進(jìn)行小車的控制與通信的設(shè)計(jì)。
(2)如何設(shè)計(jì)攝像頭和通信模塊的結(jié)合,然后通過手機(jī)進(jìn)行控制和查看。
(3)設(shè)計(jì)小車的動(dòng)力系統(tǒng)和機(jī)械臂的控制系統(tǒng),應(yīng)如何進(jìn)行控制和把握精度。
(4)通過整合相應(yīng)模塊進(jìn)行開發(fā)智能小車和完善小車的功能性。
在設(shè)計(jì)智能小車系統(tǒng)時(shí),需要考慮以下設(shè)計(jì)要求:
(1)功能要求:實(shí)現(xiàn)自動(dòng)尋跡、貨物存儲(chǔ)和檢索功能,支持圖像采集和處理,提供遠(yuǎn)程控制功能。
(2)穩(wěn)定性要求:系統(tǒng)應(yīng)具有穩(wěn)定的運(yùn)行性能,能夠準(zhǔn)確識(shí)別和抓取目標(biāo)物品。
(3)可靠性要求:系統(tǒng)應(yīng)具備良好的抗干擾能力,能夠適應(yīng)不同環(huán)境下的運(yùn)行需求。
(4)靈活性要求:系統(tǒng)應(yīng)支持手動(dòng)和自動(dòng)兩種模式切換,能夠滿足用戶不同的操作需求。
(5)用戶友好性要求:系統(tǒng)應(yīng)具有簡潔直觀的操作界面,方便用戶使用和控制。
基于上述設(shè)計(jì)要求,本系統(tǒng)的總體設(shè)計(jì)方案如下:
選擇STM32F103C8T6 單片機(jī)作為主控芯片,通過串口與OV7725 攝像頭模塊進(jìn)行通信。 采用PWM 技術(shù)控制直流電機(jī)和伺服電機(jī),實(shí)現(xiàn)小車的運(yùn)動(dòng)和抓取功能。通過通信模塊與終端設(shè)備進(jìn)行數(shù)據(jù)交互。
主控程序使用C 語言編寫, 利用STM32 CubeMX 進(jìn)行初始化配置, 實(shí)現(xiàn)與攝像頭模塊的串口通信和圖像數(shù)據(jù)處理。設(shè)計(jì)自動(dòng)尋跡算法,根據(jù)圖像信息控制電機(jī)運(yùn)動(dòng)和伺服電機(jī)動(dòng)作。開發(fā)手機(jī)APP,通過藍(lán)牙或無線網(wǎng)絡(luò)與小車進(jìn)行通信,實(shí)現(xiàn)遠(yuǎn)程控制功能。
包括圖像采集和處理模塊、自動(dòng)尋跡模塊、貨物存儲(chǔ)和檢索模塊、遠(yuǎn)程控制模塊等。每個(gè)模塊根據(jù)功能需求進(jìn)行設(shè)計(jì)和實(shí)現(xiàn),保證模塊之間的協(xié)調(diào)和配合。
設(shè)計(jì)系統(tǒng)框圖如圖1 所示。
圖1 基于STM32 的智能倉儲(chǔ)小車設(shè)計(jì)系統(tǒng)框圖
本系統(tǒng)采用的攝像頭為K210 模塊,K210 模塊具有強(qiáng)大的開源庫,可以實(shí)現(xiàn)多種功能,并具有數(shù)據(jù)存儲(chǔ)的卡槽,可以存儲(chǔ)大量的數(shù)字模板,方便進(jìn)行多模板匹配。 通過攝像頭模塊實(shí)時(shí)采集環(huán)境中的圖像數(shù)據(jù)。 可進(jìn)行圖像處理,根據(jù)圖像采集的數(shù)據(jù),攝像頭通過串口通信協(xié)議與主控模塊建立聯(lián)系,實(shí)現(xiàn)小車的自主運(yùn)動(dòng)[1-2]。掃描貨物上的二維碼,獲取貨物信息??刂扑欧姍C(jī)將貨物抓取并放置到小車的貨架上。
當(dāng)小車在運(yùn)行過程中遭遇障礙物時(shí), 通過單片機(jī)的中斷功能發(fā)送信號(hào),程序的設(shè)計(jì)更合理,對單片機(jī)資源的消耗也最小。 中斷函數(shù)中需要計(jì)算超聲波的通過手機(jī)APP 與小車進(jìn)行通信[3]。提供手動(dòng)模式下的運(yùn)動(dòng)控制和伺服電機(jī)動(dòng)作控制。實(shí)現(xiàn)小車的自主運(yùn)動(dòng),使用戶能夠輕松控制小車來進(jìn)行相關(guān)的工作。
智能倉儲(chǔ)小車的硬件電路設(shè)計(jì)主要是由5 個(gè)部分組成:主控芯片的電路設(shè)計(jì)、攝像頭0V7725 的電路設(shè)計(jì)、動(dòng)力系統(tǒng)控制的電路設(shè)計(jì)、舵機(jī)的控制設(shè)計(jì)、電源供電設(shè)計(jì)。
主控芯片電路如圖2 所示,主控芯片STM32F103C8T6與外設(shè)的連接采用的是STM32 標(biāo)準(zhǔn)外設(shè)接口,其中PA2和PA2 引腳分別作為USART2 的TX 和RX 引腳, 實(shí)現(xiàn)與通信模塊的串口通信; 主控模塊還連接了一個(gè)8MHz的晶振作為主頻源,提供時(shí)鐘信號(hào)和一個(gè)。 為了保證系統(tǒng)的穩(wěn)定性和可靠性, 主控模塊的電路中還加入了電源濾波器和復(fù)位電路。 其中加入電源濾波電容,用于過濾電源雜波。
圖2 主控芯片電路
選用OV7725 攝像頭模塊用于圖像采集。 OV7725 具有高度集成的CMOS 圖像傳感器, 能夠以高分辨率和快速幀率進(jìn)行圖像捕捉,適用于實(shí)時(shí)圖像處理應(yīng)用。
攝像頭模塊電路如圖3 所示,由于采用的是0V7725的集成模塊所以只需通過串口來進(jìn)行接收數(shù)據(jù), 如圖接到PA9、 PA10 引腳進(jìn)行與單片機(jī)的USART1 的引腳。 即可發(fā)送和接收數(shù)據(jù)。
圖3 攝像頭模塊電路
動(dòng)力系統(tǒng)電路設(shè)計(jì)圖如圖4 所示,由于小車只需要2個(gè)輪子所以采用2 組步進(jìn)電機(jī)做控制,具體接線如下:
圖4 動(dòng)力系統(tǒng)電路設(shè)計(jì)圖
(1)電源引腳:正極(Vcc):連接到電源的正極,通常為直流電源的正端。
(2)負(fù)極(GND):連接到電源的負(fù)極,通常為直流電源的地端。
(3)控制引腳:輸入1(IN1)輸入3(IN3):連接到控制信號(hào)的引腳PB15、PB12,用于控制電機(jī)的轉(zhuǎn)向或運(yùn)動(dòng)狀態(tài)。
(4)輸入2(IN2)輸入4(IN4):連接到控制信號(hào)的引腳PB13、PB11,與IN1、IN3 相結(jié)合使用,用于控制電機(jī)的轉(zhuǎn)向或運(yùn)動(dòng)狀態(tài)。
為實(shí)現(xiàn)與終端設(shè)備的通信,選擇合適的通信模塊,如藍(lán)牙模塊或無線網(wǎng)絡(luò)模塊。 通信模塊可以與手機(jī)或其他終端設(shè)備進(jìn)行無線通信, 使用戶能夠通過手機(jī)APP 控制小車的運(yùn)動(dòng)和操作。 本設(shè)計(jì)選用了ESP-01S WiFi 模塊,該模塊采用的核心處理器ESP8266[4],如圖5 所示。
圖5 無線WIFI 原理圖
其中,ESP8266 模塊的VCC 引腳接3,3V 電源,GND引腳接地,TX 引腳連接單片機(jī)的RX 引腳,RX 引腳連接單片機(jī)的TX 引腳。ESP8266 模塊通過串口與單片機(jī)進(jìn)行通信,實(shí)現(xiàn)數(shù)據(jù)的傳輸。 同時(shí),ESP8266 模塊的GPIO0 引腳接地,GPIO2 引腳接高電平,以實(shí)現(xiàn)正常工作。
為了實(shí)現(xiàn)機(jī)械臂的控制我們需要6 組舵機(jī)進(jìn)行機(jī)械臂的組裝, 因此為了能控制舵機(jī)我們采用12V 的30kg 舵機(jī)。 并設(shè)計(jì)一個(gè)組排,電源引腳同一進(jìn)行短接VCC 和共地控制引腳則 有PA6、PA7 、PB0 、PB1 PA1 、PA0 等引腳組成控制信號(hào)端,當(dāng)單片機(jī)輸出PWM 波時(shí)對舵機(jī)的控制通過占空比的大小進(jìn)行舵機(jī)角度的控制,具體接線見圖6。
圖6 舵機(jī)組接線圖
由于整個(gè)電路系統(tǒng)除了動(dòng)力和舵機(jī)系統(tǒng)其他模塊都采用3.3V 電源供電因此必須設(shè)計(jì)一個(gè)供電系統(tǒng),為此選出ASM117 降壓穩(wěn)壓芯片進(jìn)行電壓穩(wěn)壓降壓,為了保證芯片的穩(wěn)定性。 應(yīng)在電源芯片兩路加上濾波電容,進(jìn)行濾除雜波,保證芯片能正常工作,為了能看到現(xiàn)象,加入電源指示燈。 具體電路如圖7 所示。
圖7 電源供電設(shè)計(jì)
系統(tǒng)的軟件設(shè)計(jì)運(yùn)用C 語言開發(fā)語言來進(jìn)行編程。使用的編程工具是keiluvision5 軟件,這款編程軟件是一款很方便并且功能齊全的IDE。 系統(tǒng)的主程序在總體上控制著各個(gè)模塊, 進(jìn)行個(gè)個(gè)模塊的數(shù)據(jù)接收和處理并控制智能小車的功能,本系統(tǒng)由3 個(gè)模塊組成:
(1)攝像頭模塊子程序流程圖如圖8 所示。
圖8 攝像頭模塊子程序流程圖
(2)通信模塊子程序流程圖如圖9 所示。
圖9 通信模塊子程序流程圖
(3)舵機(jī)、電機(jī)控制模塊子程序流程圖如圖10 所示。
圖10 舵機(jī)、電機(jī)控制模塊子程序流程圖
本設(shè)計(jì)通過硬件和軟件的測試后, 發(fā)現(xiàn)小車在手動(dòng)模式下可通過APP 控制,在自動(dòng)模式下可以通過二維碼掃描或物品掃描檢測到是否匹配。 當(dāng)匹配時(shí)則控制機(jī)械臂進(jìn)行抓取。 后返還到卸貨地。
傳統(tǒng)倉儲(chǔ)行業(yè)與現(xiàn)代倉儲(chǔ)行業(yè)相結(jié)合的貨物精準(zhǔn)搬運(yùn)模式和智能倉儲(chǔ)小車對工作環(huán)境的適用性能極大提升倉儲(chǔ)物流的效率。 在如今國家政策要大力發(fā)展制造業(yè)以及物流行業(yè)。 倉儲(chǔ)的精準(zhǔn)搬運(yùn)、高效率和高實(shí)用性對于制造業(yè)企業(yè)的成本有著直接的影響。 在各種貨物搬運(yùn)中,如此復(fù)雜的環(huán)境和不同形狀的貨物,任意一個(gè)環(huán)節(jié)都不能出現(xiàn)錯(cuò)誤,否則對企業(yè)的影響是巨大的。本文通過物聯(lián)網(wǎng)的萬物互聯(lián)將使我們能更好地、 更方便地控制我們的智能倉儲(chǔ)小車。 智能、高效的電路與模塊的選擇讓智能倉儲(chǔ)小車能在復(fù)雜的環(huán)境下穩(wěn)定地工作。 相對于目前市場上出現(xiàn)的智能小車,我們設(shè)計(jì)的智能倉儲(chǔ)小車提高了自身的安全性, 能極大地保護(hù)人們的財(cái)產(chǎn)和生命安全。 解放人們的雙手,用機(jī)器去代替繁重且重復(fù)的工作, 讓人們?nèi)グ迅嗟木θネ度雱?chuàng)造性的工作。