吳學(xué)鋒,齊賀男,李東亞
(蘇州大學(xué)應(yīng)用技術(shù)學(xué)院工學(xué)院,江蘇昆山 215300)
隨著互聯(lián)網(wǎng)網(wǎng)民增加,電商行業(yè)發(fā)展迅猛。在網(wǎng)購過程中,物流作為重要的環(huán)節(jié),極大影響著消費(fèi)者的網(wǎng)絡(luò)購物體驗(yàn)[1]。與此同時,物流分揀離不開人工,且人工分揀存在成本高、差錯率高、效率低等一系列缺點(diǎn)[2]。目前國內(nèi)外絕大多數(shù)的物流分揀機(jī)器人缺少多次準(zhǔn)確移動定位功能,抓取物料較為單一,同時縱觀市場上的物料分揀機(jī)器人,無非就是應(yīng)用傳統(tǒng)單片機(jī)或者PLC 控制的方式,大部分時間要人為操作控制[3]。為了解決以上問題,綜合前人的設(shè)計(jì)思路,整合多研究方案,本文設(shè)計(jì)一種新型的物流分揀機(jī)器人。該物流分揀機(jī)器人可以按照設(shè)定的程序完成相應(yīng)的任務(wù),同時機(jī)械手爪可方便更換,便于抓取與放置多種物料,而且采用高底盤結(jié)構(gòu),便于物料機(jī)器人爬坡,放置多層物料,有效解決物流倉庫多層放置物料問題。該款物流分揀機(jī)器人可以運(yùn)用在大型存儲倉庫的自動搬運(yùn)中,當(dāng)前市場需要的是智能化且實(shí)用性強(qiáng)的物流分揀機(jī)器人,本文設(shè)計(jì)方案的實(shí)驗(yàn)表明,該款物流分揀機(jī)器人可以獨(dú)立自主并順利完成從識別、抓取、搬運(yùn)到放置的過程,也可以針對不同的物料進(jìn)行有序抓取,按照實(shí)際需求進(jìn)行分類擺放。
該款以STM32 為基礎(chǔ)的物流分揀機(jī)器人是根據(jù)全國大學(xué)生工程訓(xùn)練綜合能力競賽要求,從原理上出發(fā),設(shè)計(jì)一款能夠自我識別物料,并進(jìn)行搬運(yùn)到指定位置的智能物流機(jī)器人。依據(jù)比賽的要求:物流分揀機(jī)器人在黃黑線條的賽道上的初始區(qū)域,聽到出發(fā)指令后,出發(fā)至二維碼識別區(qū)來讀取工作任務(wù),然后經(jīng)過數(shù)據(jù)分析得到相應(yīng)的任務(wù),根據(jù)任務(wù)搬運(yùn)不同的物料至粗加工區(qū),然后將粗加工物料放置到精加工區(qū),該過程結(jié)束后,再次進(jìn)行第二次不同物料搬運(yùn)至精加工區(qū)域,將第二次搬運(yùn)的物料堆疊到第一次物料上,實(shí)現(xiàn)更為精準(zhǔn)地放置,最后回到指定的區(qū)域,完成比賽。
物流分揀機(jī)器人是移動式AGV 和機(jī)械手臂相結(jié)合的新型工業(yè)機(jī)器人,它可以滿足物流行業(yè)物料分揀的要求,從而準(zhǔn)確實(shí)現(xiàn)物料的抓取與放料。由于搬運(yùn)過程中防止機(jī)器人過于笨重導(dǎo)致的物料放置問題,因此在滿足功能的前提下,減輕整機(jī)的重量,提高機(jī)械臂的運(yùn)動空間范圍,增加抓取物料的多樣性與準(zhǔn)確性。
底盤部分包括麥克納姆輪與底部支撐板的設(shè)計(jì)。一般來說,底盤運(yùn)動多數(shù)采用輪式或者履帶式,少數(shù)采用仿生式。輪式結(jié)構(gòu)可以采用固定普通輪、轉(zhuǎn)向輪、全向輪或者麥克納姆輪??紤]到底盤結(jié)構(gòu)運(yùn)行過程便于橫向與縱向運(yùn)動,如果遇到障礙物,也可以順利轉(zhuǎn)向,因此本文設(shè)計(jì)的物流分揀機(jī)器人采用麥克納姆輪。麥克納姆輪一般4個一組使用,包括2個右旋麥輪和2個左旋麥輪[4]。麥克納姆輪安裝方式主要分為X-正方形、X-長方形、O-正方形、O-長方形。考慮到物流機(jī)器人所需要的力臂較長,而X 型的安裝方式轉(zhuǎn)動力矩的力臂相對較短,而O 型的安裝方式轉(zhuǎn)動力矩的力臂比較長,而對于底盤上需要安裝機(jī)械手臂與物料架,并且盡可能減少底盤的尺寸大小,因此采用“O-長方形”安裝方式,這樣便可以盡可能多的實(shí)現(xiàn)一次性搬運(yùn)物料,提高了工作效率。
根據(jù)以上的安裝方式,可以將底盤的運(yùn)動分解為3個獨(dú)立變量來描述,即X軸運(yùn)動、Y軸運(yùn)動以及小車基于旋轉(zhuǎn)中心軸Yaw的自轉(zhuǎn)。設(shè)表示X軸運(yùn)動的速度,即左右方向,以右為正;表示Y軸的運(yùn)動速度,即前后方向,定義向前為正;繞Yaw軸自轉(zhuǎn)的角速度為,以逆時針方向?yàn)檎8鶕?jù)以上設(shè)定條件,對麥克納姆輪進(jìn)行正逆運(yùn)動學(xué)分析,以此得到運(yùn)動學(xué)解析方程[5]。令為幾何中心指向麥克納姆輪中 心 的 矢 量,與分別 是在X軸 與Y軸 方向上 的 分 量,(N=1,2,3,4) 為麥克納姆輪中心的運(yùn)行速度矢量,所設(shè)各變量值如圖1所示。由此可得1號麥克納姆輪的X、Y軸的分量:
圖1 底盤運(yùn)動分解
由于麥克納姆輪特殊的結(jié)構(gòu),垂直錕子方向的速度分量是無效的,因?yàn)樵摲较蛏襄K子是自轉(zhuǎn)的,無法為小車提供有效的動力來源。所以軸心位置的速度在X軸與Y軸分量來源于平行于錕子方向的速度,同時又因?yàn)辂溈思{姆輪與輪子本身之間的夾角為45°,因此,設(shè)上述的麥克納姆輪平行于錕子方向的速度為,因此速度關(guān)系的方程為:
因?yàn)殄K子速度動力來自于麥克納姆輪的運(yùn)動,且麥克納姆輪和錕子本身的夾角為45°,設(shè)麥克納姆輪的轉(zhuǎn)速為,所以可以得到:
設(shè)底盤的運(yùn)動中心到該麥克納姆輪的中心在X軸方向和Y軸方向的分向量分別為a和b,所以得到:
物流分揀機(jī)器人在執(zhí)行搬運(yùn)過程中,機(jī)械手臂和抓取動作起到至關(guān)重要的作用,在整個機(jī)械手臂的運(yùn)動空間,需要有X軸、Y軸、Z軸、自身的旋轉(zhuǎn)運(yùn)動,從而可知其自由度為4,需要4個舵機(jī)有效控制,其機(jī)械原理如圖2 所示。圖中XOZ為底盤處,由底部舵機(jī)控制,實(shí)現(xiàn)機(jī)械手臂的旋轉(zhuǎn)運(yùn)動,ABM連桿與JG連桿兩處的兩個舵機(jī)實(shí)現(xiàn)末端機(jī)械手爪的位置定位,JMN 位置的舵機(jī)實(shí)現(xiàn)機(jī)械手爪的張開與閉合,同時此處設(shè)計(jì)成便于更換的手爪,可以便于抓取不同的物料,由于比賽運(yùn)行場地尺寸范圍是300 mm×300 mm,物料架放置在場地邊緣,因此設(shè)計(jì)距離底座近端大臂尺寸為35 mm,設(shè)計(jì)距離手爪近端小臂尺寸為30 mm,所設(shè)計(jì)的手爪強(qiáng)度滿足,尺寸滿足抓取比賽物料要求。
圖2 機(jī)械手臂結(jié)構(gòu)原理
綜合底盤方案與機(jī)械手臂方案的設(shè)計(jì),根據(jù)實(shí)際抓取物料和抓取范圍要求,采用模塊化設(shè)計(jì)方案,底盤運(yùn)動采用4 個12 V 直流電機(jī)驅(qū)動型號為ZGA37RG。采用SolidWorks 三維制圖軟件,設(shè)計(jì)出三維模型,因?yàn)橘愔埔髾C(jī)器人(含機(jī)械手臂)外形尺寸滿足鉛垂方向投影在邊長300 mm 的正方形內(nèi),高度不超過400 mm,因此底盤設(shè)計(jì)寬度為280 mm×200 mm,如圖3所示。
圖3 物流分揀機(jī)器人整機(jī)
本文采用STM32 單片機(jī)為微控制單元,采用可移植性C語言[6],從識別、抓取、循跡等多種模塊進(jìn)行軟硬件的設(shè)計(jì),該物流機(jī)器人采用差分方式傳輸,運(yùn)用RS485串口標(biāo)準(zhǔn),抗干擾能力強(qiáng),再編寫驅(qū)動程序,完成分揀過程中的任務(wù)。
物流分揀機(jī)器人采用4 個直流有刷減速電機(jī),由于物流分揀機(jī)器人運(yùn)行過程中需要保證足夠的穩(wěn)定狀態(tài),同時本身自重較大,為了保證底盤運(yùn)動的穩(wěn)定性,因此電機(jī)選用的時候,需要增加齒輪減速箱,提高電機(jī)的轉(zhuǎn)矩。通過計(jì)算選型,選用電機(jī)HJX3RE,額定工作電壓為12 V,轉(zhuǎn)速620 r/min。前面正逆運(yùn)動學(xué)已經(jīng)給出方程式,因此可以列出部分程序方程如下:
1.handle->speed1 = y_axisbuf - x_axisbuf +(yawbuf*handle->yawfac);
2.AbsSpeed1=Absolute_Value(handle->speed1);
3.if (AbsSpeed1 > AbsSpeed2) SpeedMax =AbsSpeed1;
4.else SpeedMax=AbsSpeed2;
5.if (SpeedMax < AbsSpeed3) SpeedMax =AbsSpeed3;
6.if (SpeedMax < AbsSpeed4) SpeedMax =AbsSpeed4;
7.if(SpeedMax >handle->MaxLinearSpeed)
8.{handle->speed1=handle->speed1*handle->Max-LinearSpeed/SpeedMax;
9.handle->speed2 = handle->speed2 * handle->Max-LinearSpeed/SpeedMax;
10.handle->speed3=handle->speed3*handle->Max-LinearSpeed/SpeedMax;
11.handle->speed4=handle->speed4*handle->Max-LinearSpeed/SpeedMax;}
比賽的場地是由黃黑相間的格子組成,根據(jù)地圖線條的位置,選用黑色線條作為軌跡規(guī)劃的運(yùn)動依據(jù)。因此,整個設(shè)計(jì)方案是以黑色為指引線,循跡傳感器通過判斷走過黑色的線條數(shù)[7]。而對于循跡過程中偏差的識別,物流分揀機(jī)器人采用PID 負(fù)反饋調(diào)節(jié),通過改變左右電機(jī)轉(zhuǎn)速差,從而調(diào)整物流機(jī)器人的位置,也可以防止“過沖”。物流機(jī)器人需要4個循跡傳感器,以單循跡傳感器為例,傳感器上有8 個監(jiān)測裝置,分別感應(yīng)當(dāng)前位置值。將其序號定為1~8,例如當(dāng)2 號傳感器單獨(dú)觸發(fā),則信號顯示N2,若4 號與5 號同時顯示,則位置平均值為N4.5,將該數(shù)值反饋到主控板上,以此調(diào)整位置。綜上所述,物流分揀機(jī)器人循跡目的調(diào)整運(yùn)行方向,首先通過算法計(jì)算當(dāng)前位置,通過循跡傳感器獲取一定數(shù)值,然后通過判斷采樣數(shù)值正負(fù)關(guān)系,確定物流分揀機(jī)器人整體左移或者右移動。所采用的調(diào)節(jié)原理圖如圖4所示。因此判斷姿態(tài)的公式為:
圖4 循跡模塊調(diào)節(jié)原理
式中:Nft為前循跡傳感器的當(dāng)前位置反饋值;Nbt為后循跡傳感器的當(dāng)前位置反饋值。
本次設(shè)計(jì)舵機(jī)的控制方式是采用PWM信號,即通過調(diào)節(jié)占空比的變化來調(diào)節(jié)信號和能量的變化,占空比是一個周期內(nèi)的信號處于高電平的時間所占整個信號周期的百分比[8]。選用的舵機(jī)為360°的連續(xù)轉(zhuǎn)動舵機(jī),可以通過信號控制速度與方向,這款舵機(jī)的周期為20 ms 的時基脈沖,脈沖的高電平時間為0.5~2.5 ms。機(jī)械手臂在抓取物料過程中,通過上位機(jī)軟件來調(diào)節(jié)4 個舵機(jī)的運(yùn)動范圍,然后編寫程序代碼到app.c文件中,上位機(jī)軟件界面如圖5所示。
圖5 上位軟件界面
為了保證設(shè)計(jì)的合理性,同時又為了更好地測試,然后對整機(jī)實(shí)物進(jìn)行制作,完成物流分揀機(jī)器人的平臺搭建[9]。采用3D 打印技術(shù),設(shè)計(jì)不同類型的機(jī)械手爪,目的是為了更好地適應(yīng)多種物料,整機(jī)實(shí)物如圖6所示。在實(shí)際測試的過程中,若針對不同位置的物料,可以通過上位機(jī)調(diào)整4 個舵機(jī)旋轉(zhuǎn)角度的多少。通過調(diào)整循跡傳感器位移的大小,從而改變運(yùn)動格子多少,實(shí)現(xiàn)物流搬運(yùn)機(jī)器人不會出現(xiàn)偏移,準(zhǔn)確運(yùn)動至所需要的位置。與此同時,物流機(jī)器人的循跡傳感器可以隨時進(jìn)行自我矯正,配合調(diào)節(jié)機(jī)械手臂抓取物體位置,可以實(shí)現(xiàn)物料抓取、搬運(yùn)、放置功能[10]。
圖6 整機(jī)實(shí)物
本文從實(shí)際功能出發(fā),依照所需的功能要求,設(shè)計(jì)出結(jié)構(gòu)簡單、操作性強(qiáng)的物流分揀機(jī)器人。實(shí)驗(yàn)前,先確定黃黑地圖上物料抓取區(qū)域和放置的位置,然后確定物流機(jī)器人的出發(fā)與返回區(qū)域,實(shí)驗(yàn)中發(fā)現(xiàn),該物流機(jī)器人可以進(jìn)行多次反復(fù)的物料放置,同時也可以準(zhǔn)確實(shí)現(xiàn)堆疊的操作過程[11]。本文的整機(jī)框架結(jié)構(gòu)與機(jī)械手臂軟件編程設(shè)計(jì)具有創(chuàng)新性的意義,而且在實(shí)際使用過程中,只需要對內(nèi)部app.c文件進(jìn)行修改即可,編程程序可移植性強(qiáng)大,可以進(jìn)行商業(yè)化生產(chǎn)[12]。因此,本文的思路可以為后續(xù)的行業(yè)發(fā)展提供有效的理論依據(jù)。