張 璇
(江蘇聯(lián)合職業(yè)技術(shù)學(xué)院常州鐵道分院,江蘇 常州 213011)
近年來隨著人工智能、互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,語音識別作為重要的人機(jī)交互技術(shù),應(yīng)用越來越普遍。智能搬運(yùn)小車是基于樹莓派設(shè)計(jì)制作的,由攝像頭識別系統(tǒng)、機(jī)械臂系統(tǒng)、直流電機(jī)調(diào)速系統(tǒng)、雷達(dá)避障系統(tǒng)、語音識別系統(tǒng)等部分組成。產(chǎn)品以樹莓派為核心控制單元,利用語音識別模塊實(shí)現(xiàn)人機(jī)交互,實(shí)現(xiàn)智能小車在不同模式下工作。以光電傳感器和攝像頭等為輸入設(shè)備,以步進(jìn)電機(jī)和機(jī)械臂為輸出設(shè)備。通過PWM波控制,實(shí)現(xiàn)小車自動直行,軌跡跟蹤時(shí)通過光電開關(guān)沿軌跡跟蹤,并能根據(jù)雷達(dá)探測實(shí)現(xiàn)智能繞行障礙物。當(dāng)小車達(dá)到目的地執(zhí)行物品的搬運(yùn)功能時(shí),以攝像頭采集數(shù)據(jù),通過視覺技術(shù)判斷物品的種類,控制機(jī)械臂完成物品的抓取、分類及運(yùn)送。
小車四輪采用四組直流電機(jī),樹莓派通過兩組驅(qū)動板控制分別驅(qū)動左右兩輪的電機(jī)。右轉(zhuǎn)時(shí),左輪電機(jī)轉(zhuǎn)速高于右輪,反之則向左轉(zhuǎn)。為了能控制車輪的轉(zhuǎn)速,采用PWM調(diào)速法,即由輸出一系列頻率固定的方波,后經(jīng)過功率放大再控制電機(jī)。PWM波的占空比決定了四個(gè)電機(jī)上所得電壓的高低,從而實(shí)現(xiàn)不同的轉(zhuǎn)速。
四組光電開關(guān)配合控制小車運(yùn)行方向,遇到車輛超速脫軌時(shí),光電開關(guān)根據(jù)先后檢測到黑線的順序,做出正確的轉(zhuǎn)向調(diào)整。
雷達(dá)傳感器通過函數(shù)檢測出與障礙物的距離,調(diào)用子函數(shù)功能改變四輪電機(jī)的轉(zhuǎn)速,左右電機(jī)轉(zhuǎn)速差配合實(shí)現(xiàn)小車的前進(jìn)、倒退、轉(zhuǎn)彎等功能,最終實(shí)現(xiàn)避開障礙物。
攝像頭采用上位機(jī)進(jìn)行數(shù)據(jù)處理。通過采集書本封面的顏色(二維碼),利用機(jī)械臂來分揀出書的類型,將不同的教材分類堆放,完成教材的分揀工作。
通過參考絕對坐標(biāo)算法編寫機(jī)械臂動作程序,小車參考絕對坐標(biāo)系后,啟動機(jī)械臂抓取書本,放到車上,然后將不同的書本分批次運(yùn)輸?shù)讲煌攸c(diǎn)。
利用STT模塊實(shí)現(xiàn)語音識別從而實(shí)現(xiàn)智能小車的語音控制,STT模塊目前有多家公司有開源項(xiàng)目可以使用,比如Google、百度、訊飛等。本文選用百度的API接口。
硬件系統(tǒng)設(shè)計(jì)包括主控板、雷達(dá)、攝像頭、直流電機(jī)等硬件設(shè)備的選型和驅(qū)動板電路的設(shè)計(jì),并實(shí)現(xiàn)了各個(gè)硬件之間的連接和通信。硬件結(jié)構(gòu)系統(tǒng)框圖如圖1所示。
圖1 硬件結(jié)構(gòu)系統(tǒng)框圖
(1)嵌入式主控制器:采用樹莓派4B開發(fā)板,該開發(fā)板是一款基于 ARM 的微型電腦主板,以 SD/MicroSD 卡為內(nèi)存硬盤,板載1-4GBDDR4內(nèi)存,增加USB 3.0端口,雙micro HDMI端口,支持4K輸出,支持千兆位連接(125 MBps),microSD卡插槽的速度最大可達(dá)50 MBps。
(2)攝像頭:產(chǎn)品采用的攝像頭為帶廣角鏡頭的免驅(qū)USB攝像頭,無畸變,有利于精確識別書的種類。
(3)舵機(jī):產(chǎn)品使用的舵機(jī)能提供 PWM 接口,供電電壓范圍為DC 6~8.4 V,定位精度為±0.2°,工作過程中主要負(fù)責(zé)機(jī)械臂的升降、抓取等動作。
(4)光電傳感器:系統(tǒng)使用的光電傳感器型號為E18-D80NK-N,是一種集發(fā)射與接收于一體的光電傳感器,發(fā)射光經(jīng)過調(diào)制后發(fā)出,接收頭對反射頭進(jìn)行解調(diào)輸出。有效地避免了可見光的干擾。透鏡的使用,使得傳感器最遠(yuǎn)可以檢測 80 cm 以內(nèi)的物體。
(5)語音識別模塊:系統(tǒng)中使用的語音識別模塊為LD3320,它采用SPI通信接口,板載咪頭和有源晶振,方便在電子產(chǎn)品中實(shí)現(xiàn)語音識別、聲控和人機(jī)對話等功能。
智能搬運(yùn)小車軟件控制系統(tǒng)采用C語言編寫。程序結(jié)構(gòu)采用模塊化編程,以便于靈活地實(shí)現(xiàn)變化的任務(wù)需求,如移動控制模塊(包括路徑規(guī)劃)、夾取放置模塊、二維碼識別、物料顏色識別、任務(wù)分解計(jì)算等。
本智能語音控制系統(tǒng)采用機(jī)械臂+智能小車+樹莓派+語音接口來實(shí)現(xiàn),分為應(yīng)用層、邏輯層和處理層。其中電氣設(shè)備(機(jī)械臂+智能小車)作為應(yīng)用層,負(fù)責(zé)系統(tǒng)的處理結(jié)果顯現(xiàn)。樹莓派作為邏輯層,處理業(yè)務(wù)邏輯上的問題,其中包括對處理層返回的識別后語音信號進(jìn)行存儲,以及采取相應(yīng)的操作。百度語音接口作為處理層,對樹莓派所錄的語音信號進(jìn)行識別,將識別后的語音信號再次返回給樹莓派。系統(tǒng)軟件結(jié)構(gòu)框圖如圖2所示。
圖2 系統(tǒng)軟件結(jié)構(gòu)框圖
通過百度API開放平臺的語音識別接口和樹莓派語音接口模塊來實(shí)現(xiàn)對話的功能,只要能采集到使用者的語音信號(關(guān)鍵詞),則做出相應(yīng)的子程序跳轉(zhuǎn),實(shí)現(xiàn)相應(yīng)功能。如果讀取到“啟動”,則程序跳轉(zhuǎn)至智能控制“開始”模塊。
人機(jī)交互語音模塊啟動控制功能后,系統(tǒng)首先進(jìn)行樹莓派控制器和其他設(shè)備的初始化,控制智能小車運(yùn)行至儲物點(diǎn)。再由嵌入式控制器控制 USB 攝像頭進(jìn)行拍照,判斷搬運(yùn)物料的類別(形狀控制、顏色控制),將處理結(jié)果發(fā)送給樹莓派(Arduino)控制器,并控制機(jī)械手舵機(jī)進(jìn)行裝載,機(jī)械手完成裝載任務(wù),裝載完成后小車執(zhí)行循跡程序,利用光電傳感器完成循跡并利用機(jī)械手舵機(jī)完成不同物料的分類堆放。產(chǎn)品軟件控制流程如圖3所示。
項(xiàng)目設(shè)計(jì)制作的智能物料搬運(yùn)小車,由樹莓派、音識別模塊LD3320、機(jī)械臂及傳感器輸入設(shè)備組成,可以實(shí)現(xiàn)物料搬運(yùn)任務(wù)的識別、物料的分揀與搬運(yùn)功能。智能物料搬運(yùn)小車根據(jù)實(shí)際需要,利用語音接口模塊在不同功能模塊之間切換,為物品智能化分揀、搬運(yùn)提供了一種有效實(shí)用的解決方案。