吳麗麗,黃海燕,孫文駿
(浙江廣廈建設職業技術大學智能制造學院,浙江 東陽 322100)
將人工智能、智能制造、智慧工廠、智能物流等前沿技術[1-5]應用于高校教育,是增強我國科技實力以及提升綜合國力的有效途徑和保障。大學生競賽通過以賽促學、以賽促教、以賽促改、以賽促建,是快速了解、掌握、運用這些前沿技術的最有效方式。大學生工程實踐與創新能力大賽由教育部高教司主辦,旨在加強學生創新能力和實踐能力培養,構建面向工程實際、服務社會需求、校企協同創新的實踐育人平臺的有效形式。目前該賽已列入《教育部評審評估和競賽清單(2021年版)》的國家級大學生科技創新競賽項目,屬教育部A類學科競賽,是最具影響力的國家級大學生科技創新競賽之一。智能物流搬運機器人項目是大學生工程實踐與創新能力大賽“智能+”賽中一個賽項。通過分析該賽事歷屆競賽要求和查閱物流機器人設計相關文獻[6-16],發現目前智能物流搬運機器人基本上都采用黑、白線的巡線方式和采用STM32 型單片機主流產品(STM32F0、STM32F1、STM32F3)作為控制器,功能上能實現二維碼、物料的識別、物料的抓取、擺放以及機器人的避障和定位。但文獻和歷屆競賽對在取物料環節要求單一,物料的精準擺放、不用巡線方式來實現機器人精準定位等方面的研究很少涉及或不夠深入。因此設計并制作一臺新型智能物料搬運機器人,能按照給定任務,在物料處于動態環境中完成識別、準確抓取和不靠巡線實現精準定位以及實現物料的精準擺放,是智能物流搬運機器人研究中的一大進步,也是為了能在浙江省第九屆大學生工程實踐與創新能力大賽“智能+”賽道物流搬運機器人項目中取得好成績。
1.1.1 場地情況
此次設計的機器人是為了參加浙江省第九屆大學生工程實踐與創新能力大賽智能+”賽道物流搬運機器人項目。該賽項賽場尺寸為2 400 mm×2 400 mm正方形平面區域(如圖1所示,兩條紅色中心線實際不存在),賽道地面為亞光淺黃色,地面圖案中央設有1塊800 mm×800 mm灰色方框,為機器人不能進入區域,線寬為20 mm。在比賽場地內,設置出發區、返回區、原料區、粗加工區、半成品區。出發區和返回區的尺寸均為300 mm×300 mm,顏色分別為藍色和褐色;原料區為直徑?300 mm,總高120 mm的圓柱體電動轉盤,由白色亞光的?300 mm×5 mm轉盤和支架底座組成,轉盤勻速旋轉一圈(不包括停頓時間)控制在15 s內;物料分兩批放置,每批擺放3個物料均布在?200 mm 的圓周上,轉盤停頓4 s,轉盤轉一圈停頓3 次。粗加工區的尺寸(長×寬)為580 mm×150 mm半成品區的尺寸(長×寬×高)為580 mm×150 mm×45 mm 及580×140×0 mm 的臺階區域,粗加工區、半成品區上均有用于測量物料擺放位置準確程度的色環。
圖1 競賽場地示意圖
1.1.2 搬運的物料
此次競賽的初賽,機器人待搬運的物料形狀包絡在直徑為50 mm、高度為70 mm、質量約為50 g 的圓柱體中,夾持部分的形狀為球體,物料的材料為3D 打印ABS,3 種顏色為:紅(ABS/Red (C-21-03))、綠(ABS/Green(C-21-06))、藍(ABS/Blue(C-21-04))。
1.1.3 實現功能
機器人工作流程:機器人自出發區運行至二維碼板,獲取兩次搬運任務,根據任務要求,機器人在物料區、粗加工區、半成品區之間往返,把6 個物料按照任務要求依次搬運至半成品區,任務完成后回到返回區。為了完成競賽任務要求,機器人應該具有以下功能:
(1)能識別二維碼獲得二次搬運任務(3 種顏色物料的搬運順序)并且一直在顯目位置顯示搬運任務直至比賽結束;要求必須亮光顯示,字體高度不小于8 mm。
(2)機器人各機構都使用電驅動,采用電池供電,總額定供電電壓U≤12.6 V,總額定容量C≤3 200 mAh。隨車裝載,比賽過程中不能更換。選用的電池應方便進行測量。
(3)機器人(含機械手臂)外形尺寸滿足鉛垂方向投影在邊長為300 mm 的正方形內,高度不超過400 mm。允許機器人結構設計為可折疊形式,但出發之后才可自行展開。
(4)要求機器人在競賽場地內全程自主運行,具有定位、移動、避障和路徑規劃能力,能按照任務要求準確到達對應位置。
(5)機器人能根據二維碼識別的搬運任務順序,準確識別物料的位置和顏色。
(6)機器人能夠在原料加工區轉盤轉動的情況下,按照給定的搬運任務順序實現準確抓取、搬運,并且具有存放3個物料的物料倉。
(7)機器人能夠識別存放位置的顏色、圓心,實現精準擺放。
根據設計要求,智能物流搬運機器人設計方案如圖2 所示,主控制器是機器人控制的核心,與各個模塊之間完成實時通信,檢測各模塊的狀態參數同步進行控制運算將結果輸送至各個模塊,能按照設定的程序完成任務的準確實施。運動模塊為機器人提供動力,由麥克納姆輪、直流電機、直流電機驅動、底盤等組成。機械手模塊由轉盤、機械臂、手爪部分組成,完成物料的抓取和準確放置。顯示模塊可以實現顯示搬運任務直至比賽結束,滿足亮光顯示,字體高度不小于8mm 的要求。視覺模塊完成二維碼、物料顏色識別、物料擺放處的色環顏色識別、和色環圓心識別等內容實現物料的精準擺放。陀螺儀反饋給主控制器機器人的位置及姿態等信息,幫助機器人實現精準定位等功能。DC-DC電源模塊以及電池為系統提供不同的直流電源。
圖2 系統方案
2.1.1 車輪
物料搬運機器人,要適宜在狹小、擁擠的環境下,完成規定動作,因此要求機器人能運動靈活,可以在任意方向平移、倒退、旋轉。本次設計的機器人二維碼的識別、動態位置下實現物料的識別、抓取以及物料的精準擺放,小車的精準定位是最最關鍵的。因此若地面有輕微的不平或者小車動作幅度較大,都可能會導致小車重心的變化,致使小車定位不精準。基于以上考慮本次設計選用了4個麥克納姆輪,實現全方位的移動。
麥克納姆輪主要由兩部分組成,與電機轉軸連接的輪轂以及與輪轂成一定角度旋轉的輥子。當麥克納姆輪在旋轉運動時,周邊輥子獨特的組裝結構可以得到法向方向分力,通過控制每個車輪的轉速,使得合成任意方向的合力,實現機器人在任何角度方向的平移運動,也可以實現轉向和原地旋轉等運動[14]。麥克姆輪的不同安裝方式對小車的運動有著不同的影響。本次設計麥克姆輪的安裝方式如圖3 所示[15]。小車的運動方向:(1)小車向前或向后運動:小車的四輪分別向前或向后運動;(2)小車向右平移:輪1、輪3 向后,輪2、輪4 向前;(3) 車向左平移:輪1、輪3 向前,輪2、輪4 向后。麥克娜姆輪工作時,通過四輪之間的速度差來改變小車的速度和行進方向,小車車身裝有陀螺儀來檢測機器人運動姿態和位置,再結合麥克姆輪的運動學分析,計算小車各個輪胎的速度,控制小車的精準定位。
圖3 麥克姆輪的安裝方式與工作原理
2.1.2 底座
底座是機器人的主要支撐部件,由于競賽場地中出發區和返回區的尺寸均為300 mm×300 mm,競賽要求不能在這兩個區域機器人的車身必須在區域內,因此底座的尺寸不能超過這個范圍。機器人底座需要有足夠的空間布置主控板、各種芯片模塊以及機械手結構和物料倉,為了提高小車運行時的平穩性,底座必須具有足夠的剛度,考慮到能效比,底座質量要盡量小,故底座材料選用雙層亞克力板。用SolidWorks 三維軟件設計物流搬運機器人底座機構的三維模型如圖4所示。
圖4 車輪及底座三維模型
2.2.1 機械手爪
機械手爪結構部分由機械手爪、傳動裝置和驅動裝置組成。為了抓取形狀包絡在直徑為50 mm、高度為70 mm、質量約為50 g 的圓柱體物料,考慮到夾持部分的形狀為球體,為了減少機械誤差,使機械手指與物料緊密貼合,使抓取更加穩定,機械手爪采用上下抓取方式來實現,用SolidWorks 三維軟件設計具體結構如圖5所示。機械手爪可以通過3D打印來實現。考慮的競賽初賽、決賽物料不同,為了手爪部分方便拆卸,機械爪和齒輪采用分體式結構,通過螺栓來進行固定。機械手爪由一個舵機來進行驅動,通過齒輪傳動來控制機械手爪的張開和閉合。機械手爪內部裝設有攝像頭,是為了抓取物料和擺放物料時的精準識別。
圖5 機械手爪結構
2.2.2 機械臂
機械臂是連接物料機器人底座和機械手爪的重要核心部件。為了完成競賽任務,小車運行至指定地點實現精準定位之后,在小車無需運動的情況下,要完成不同位置物料的抓取和擺放,機械臂的長度要滿足要求,另外機械臂的承受載荷、控制精度和機械連接方式這些對完成任務都起到至關重要的作用。本次設計的機械手手臂用SolidWork 軟件設計結構如圖6 所示,可以采用3D打印完成制作。機械臂采用四連桿方式[16],可以實現多方位、高精度的抓取,由兩個操作角360°,大扭力25 N·m 的FT6325M 舵機控制,底部的回轉裝置由1 個舵機控制,可以實現全方位的抓取。
圖6 機械臂結構
結合車輪、底座結構、機械手爪、機械臂及物料倉等的設計,運用三維建模軟件SolidWorks 設計物料搬運機器人整機三維模型如圖7所示。
圖7 物流搬運機器人整機三維建模
本次設計的關鍵技術是在動態狀態下實現物料顏色識別、抓取以及物料擺放處的色環顏色識別、和色環圓心識別等內容來實現物料的精準擺放。陀螺儀要把機器人的位置及姿態等信息反饋給主控制器,從而來實現無巡線狀態下的機器人精準定位。基于此為了幫助機器人實現精準定位等功能本次主控芯片選用了STM32F407。它與STM32F103相比,主要有以下幾方面的優勢。
(1)內核不同
STM32F103:中低端的32位ARM微控制器,該系列芯片是意法半導體(ST)公司出品,其內核是Cortex-M3。
STM32F407:又稱STM32F4,由ST(意法半導體)開發的一種高性能微控制器。采用了90 nm的NVM工藝和ART。
(2)特點不同
STM32F103:按片內Flash 的大小可分為3 大類:小容量(16 KB 和32 KB)、中容量(64 KB 和128 KB)、大容量(256 KB、384 KB和512 KB)。
STM32F407:兼容STM32F2 系列產品,便于ST 的用戶擴展或升級產品,而保持硬件的兼容能力。
(3)集成功能不同
STM32F103:集成定時器,CAN,ADC,SPI,I2C,USB,UART,等多種功能。
STM32F407:集成了新的DSP和FPU指令,168 MHz的高速性能使得數字信號控制器應用和快速的產品開發達到了新的水平。提升控制算法的執行速度和代碼效率。
控制模塊以STM32F407 最小系統為基礎,最小系統一般是指MCU 的供電、復位、晶振、BOOT 等部分。STM32F407的最小系統如圖8所示。
圖8 STM32F407 最小系統
電源正(VDD)/負(VSS)引腳,給STM32 供電;VDDA/VSSA 模擬部分電源正/負引腳,給STM32 內部模擬部分供電電源;VREF+/VREF-參考電壓正/負引腳,給STM32 內部ADC/DAC 提供參考電壓;VBAT:RTC&后備區域供電引腳,給RTC和后備區域供電。一般VBAT接電池,用于斷電維持RTC工作,如不需要,直接將VBAT接VDD即可。復位NRST引腳,用于復位STM32,低電平復位啟動選擇引腳,一般這兩個腳各接一個下拉電阻即可啟動;OSCIN:外部HSE晶振引腳,用于給STM32提供高精度系統時鐘。OSC_OUT:如果使用內部HSI能滿足使用需求,這兩個腳可以不接。OSC32_IN/:外部LSE晶振引腳,用于給STM32 內部RTC 提供時鐘,OSC32OUT:如果使用內部LSI 能滿足使用需求,這兩個腳可以不接。調試:SWCLK/SWDIOSWD調試引腳,用于調試STM32程序。
在最小系統基礎上增添IIC、串口、PWM 口、I/O 口等接口電路,就可以與外設連接。為了提高系統資源利用率,主控電路板與電機驅動控制芯片、舵機驅動器、陀螺儀、視覺模塊等相分離的主從控制模式,彼此獨立供電。
3.2.1 直流電機
本次設計的機器人底座安裝了4 個麥克納姆輪并配置了4個直流減速電機和4個驅動器。
電機是機器人的動力來源,合理選配電機是整個驅動單元設計的核心關鍵。根據智能物流搬運機器人設計參數(見表1),機器人進行動力學分析從而來確定驅動電機的相應參數。考慮到競賽機器人運動場地一般為平面,運動過程中主要受到的阻力有摩檫力、慣性力和空氣阻力[17]。摩擦力主要考慮兩個方面:麥克納姆輪與地面間的摩擦力F1和輥子繞其軸心轉動的軸承阻力F2。
表1 智能物流搬運機器人設計參數
(1)摩擦力
麥克納姆輪與地面間的摩擦力:
輥子繞其軸心轉動的軸承阻力F2:
式中:μ1為滾動摩擦因數,取0.018;μ2為輥子軸承的等效摩擦因數,取0.002;g為重力加速度,取10 m/s2。
根據智能物流搬運機器人的設計參數計算可得F1=0.45 N,F2≈0.008 N。因此單個麥克納姆輪的摩擦力為Ff=F1+F2=0.458 N。
(2)慣性力
加速運行過程中,單個麥克納姆輪承受的慣性力為:
式中:δ為旋轉慣量換算系數。根據經驗公式估算δ=1+δ1+δ2i2=1.1,其中i為減速比,由于電機自帶減速器,取值i=1;系數δ1、δ2∈[0.03,0.05],考慮安全系數,取值δ1=δ2=0.05,可得Fg=2.75 N。
(3)空氣阻力
機器人運行過程中,單個麥克納姆輪承受的空氣阻力為:
式中:ρ為空氣密度,ρ=1.29 kg/m3;CD為空氣阻力系數,CD=1.0,因此可得Fk≈0.005 N。
因此機器人在運動過程中,單個麥克納姆輪受到的阻力為:F=Ff=3.213 N。
(4)扭矩
單個麥克納姆輪需要電機提供的扭矩為:
式中:η為機械總效率,取0.8,計算可得T=0.153 N·m。
(5)轉速
求得轉速n=4.19 r/s=251 r/min。
因此本次設計選用電機類型為37GB-545B直流減速電機且自帶編碼器,額定轉速350 r/min,滿足要求251 r/min,額定轉矩3.9 kg·cm≈0.382 2 N·m,滿足要求0.153 N·m。
3.2.2 直流電機驅動模塊
直流電機驅動模塊是控制與驅動直流減速電機,擁有開環、速度閉環等多種模式,默認模式為速度環。本次設計選用的直流電機驅動模塊規格參數如下:工作電壓DC 12 V,工作電流盡量選擇2 A 以上電源供電,工作溫度為-10~+50 ℃。同時支持:(1)對CAN 總線上的直流電機驅動模塊快速設置ID;(2)通過CAN 總線控制電機速度;(3)通過CAN 總線獲取編碼信號;(4)通過串口對驅動板控制和數據設置。
智能物流搬運機器人電控系統接線原理如圖9 所示。本次設計采用12 V 鋰電池供電,可通過充電器對其充電,使用穩壓電源輸出12 V電壓分別為電機驅動塊、電機和舵機等提供電源。通過穩定電壓模塊把電壓降為5 V 為主控板和陀螺儀供電。本次系統共裝有4 個舵機進行明確分工相互配合完成機械手爪的張開、閉合,機械臂的上下伸縮以及底部的回轉控制。陀螺儀因具有良好的測量定位能力,它可以為運載體提供準確的導航定位及姿態參數,具有很高的精確度和可靠性[18]。本次設計采用三步法的三自由度陀螺儀軌跡跟蹤控制[19]。陀螺儀選用維特智能HWT101,具有如下性能:(1)能輸出高精度的單軸石英晶體(水晶)陀螺儀,采用高性能的微處理器和先進的動力學解算與卡爾曼動態濾波算法,能夠快速求解出產品當前的實時運動姿態;(2)采用數學積分及運動估算,解算出高精度旋轉角度,避免出現大幅度誤差;(3)采用先進的數字濾波技術,能有效降低測量噪聲,提高測量精度。(4)產品內部集成了姿態解算器,能夠在動態環境下精準輸出產品的當前姿態,姿態測量靜態精度0.1度,穩定性極高。
圖9 智能物流搬運機器人電控系統接線原理圖
按照初賽要求及流程編寫程序流程圖,智能物流搬運機器人系統總體軟件設計流程如圖10 所示。機器人啟動前,為了避免不可預知錯誤的出現,首先進行系統初始化處理。系統一鍵啟動后,機器人從出發區開始出發,電機驅動機器人通過陀螺儀進行位置糾偏,實現精準定位至二維碼掃描設定位置進行搬運任務的讀取,準確讀取完搬運任務并在顯示模塊顯示搬運順序,機器人準確行至原料區的事先設定位置進行物料識別搬運,此時由于轉盤隨機轉動,機械手采用上下抓取的方式,爪內部設有攝像頭,進行顏色識別,識別到對應的顏色待轉盤停止瞬間(4 s 內)完成抓取并放到機械人上的物料倉,并隨著轉盤的轉動繼續識別物料完成物料抓取,直至3個物料按照搬運順序完全完成抓取和放置。機器人繼續行至粗加工區的設定位置(事先設定),這個時候機器人的位置是否精準直接關系到物料擺放是否精準(擺至中心環內滿分15 或者至少在二環以內10 分以上),此時的精準定位的參考坐標以機器人手爪內設有的攝像頭來識別中間色環的圓心來精準定位。待3 個物料都精準放置粗加工區,之后再按照原定順序完成抓取再精準擺放至半成品區。此時的擺放也如粗加工時一樣,機器人的位置精準很關鍵。待3 個物料都精準擺放至半成品區后,機器人再重新返回至原料區按照給定的任務順序完成后3 個物料的抓取、放置,再按照上面步驟運行至粗加工區完成物料的精準擺放,完成之后再按原定順序抓取重新放置在機器人的物料倉,再運行至半成品區,完成精準擺放。本次設計的擺放為了競賽能取得好的成績,采用碼垛放置一個物料得30分。全部完成之后機器人回到返回區。
圖10 總流程
視覺模塊包括二維碼識別、物料顏色識別、圓識別和機器人場地定位等。采用模塊化編程,以便適應任務多變的需求。智能物料搬運機器人經過圖像數據采集、圖像灰度化、圖像分割、邊緣檢測、形態學處理、查找輪廓、輪廓篩選、三角擬合、角度計算等方法和手段,提取物體的輪廓特征點,并計算物體質心點的三維坐標,換算成機器人的關節轉角信息,為機器人提供視覺定位[20],引導機器人完成識別和精準定位。
在實驗調試過程中,發現機器人有時候不能準確識別物料顏色,致使無法完成任務要求。只有調整好各個顏色的HSV閥值,才能防止出錯。經過多次試驗,三個顏色的如下HSV閥值,機器人均能準確地完成物料的顏色識別。
在調試過程中,還發現機械手抓取物料時,雖手爪到位且抓取動作無誤,但有時候就是抓不住物料,還有在物料放置環節,程序無誤,但是多次試驗時,放置的結果(分值)出現比較大的差異,有時候甚至會出現五環之外。經過研究測試發現,在盡可能減少機械誤差的前提下跟機器人車身的定位不精確有關。采用識別中間色環圓心為基準坐標給車子定位,為了確保車子定位精準,開始時設置誤差范圍在1之間,但多次試驗發現,車子有時候會微調整,致使無法完成后續動作,使得比賽時間延長,經過多次驗證誤差設置為2,物料的抓取和擺放精準度很好。
本次設計并制造的智能物流搬運機器人實物如圖11所示。機器人(含機械手臂)外形尺寸滿足鉛垂方向投影在邊長為300 mm 的正方形內,高度不超過400 mm的要求。在機器人的醒目位置安裝有任務碼顯示裝置,在比賽過程中能夠持續顯示所有任務信息,確保亮光顯示,字體高度不小于8 mm。機器人各機構都使用電驅動,采用電池供電,滿足總額定供電電壓:U≤12.6 V,總額定容量:C≤3 200 mAh 的要求。功能上機器人完全能自主運行,動態狀態下實現物料顏色識別、抓取以及物料的精準擺放。采用陀螺儀、視覺模塊相結合把機器人的位置及姿態等信息反饋給主控制器,從而來實現無巡線狀態下的機器人避障和精準定位。設計的機器人完全滿足第九屆浙江省大學生工程實踐與創新能力競賽“智能+”賽道的初賽要求,并且設計的機器人在此次初賽中以高職組第一名的成績沖進了決賽。
圖11 智能物流搬運機器人實物圖