謝東江,劉奭奭,鐘榮林,秦 昊
(惠州工程職業學院,廣東惠州 516023)
以培養學生創新精神與創新能力為價值導向,培養適應創新型國家建設需要的高水平創新人才,是我國高等教育的一項重要使命,也是當前高等學校教育教學改革的重要內容之一[1]。機器人教育作為一門具有較強實踐性質的課程,融合了機械、計算機、電子信息、控制工程、人工智能等眾多學科的理論與實踐,創新教育效果明顯[2]。項目化教學模式突破了單一的課堂教學模式,具有真實性、實踐性、跨學科性、合作性、創新性、開放性等特點[3]。目前很多高職院校都有了機器人實訓中心,并且利用實訓中心開設了以機器人為中心的項目教學課程,學生可以對機器人進行編程,完成碼垛、軌跡、壓鑄等項目。但是,這些項目都是停留在機器人應用的層面,只是解決了學生操作機器人的問題。本文通過設計并制作了一套機器人系統,并在機械結構設計、機器人零件加工、裝配、機器人調試過程中進行項目教學,讓學生真正了解機器人的機械結構、系統組成及運動控制原理;掌握機器人關鍵零部件如機械手指的設計、機械零件數控加工及裝配;通過齒輪傳動設計、機械零件的公差配合設計以及軟件編程解決機器人系統中的機械臂抖動問題;通過在項目教學實施過程中體驗機器人在實際生產的用途以及在實際生產中如何使用機器人。
機器人系統包括機械結構子系統和控制子系統兩部分,在機械結構子系統中,包括了給系統提供動力源的驅動模塊和執行動作的機械機構模塊;在控制子系統中,包括了電子電路硬件模塊和可編程環境的軟件模塊。系統結構如圖1所示。
圖1 機器人系統結構
驅動模塊為舵機,機械機構模塊包括手指、手腕、小臂、大臂1、大臂2、基盤、底板。該機器人有6個舵機,分別控制大臂、小臂、手腕和手指等,可以單個舵機運動,也可以多個舵機同時運動,通過軟件程序調節舵機運動的速度和方向實現用機械手指抓取、轉移和搬運物體的功能。機器人在空間有6個自由度的活動范圍,能最大限度模擬實際生產過程中的動作。機器人結構如圖2所示。
圖2 機器人機械結構
1.1.1 機械手指設計
機械手指采用平面四連桿結構設計,原理如圖3所示。A B為固定結構,A D、B C、CE三根連桿可自由活動,點D在CE桿上。當B C桿繞點B順時針方向運動時,四連桿的C、D、E點分別移動至C1、D1、E1,其中E1相對點E位置水平向左方向移動了。反之,如果B C桿做逆時針方向運動,點E將水平向右移動。
圖3 平面四連桿機構原理
利用以上原理,設計了機械手指如圖4所示,主動輪M順時針旋轉時,左側手指將向外移動,同時帶動從動輪逆時針旋轉,右側手指同步向外移動,手指組合呈松開狀態。反之,主動輪逆時針旋轉時,手指組合呈夾緊狀態。
圖4 機械手指
連桿材料采用鋁合金6061,既可以減輕手指的重量,又可以保證手指的強度。
1.1.2 防抖動設計
旋轉軸采用鉚接的方式連接,軸采用旋鉚方式固定在零件上,相對于螺桿、螺母連接既提高了結構的強度,也能保證零件裝配后的誤差范圍小,從而實現防抖動的目的。具體設計如圖5所示。
圖5 鉚接軸設計
(1)軸的尾部采用燕尾設計,燕尾角度為120°,既保證鉚接機對接的精度,又可以保證軸的尾部材料向四周擴散。
(2)軸尾部的高度大于基材的厚度,最好高出0.2 mm以上,預留軸尾部的材料通過高溫與基板融合,保證鉚接的強度。
機器人系統的硬件模塊采用了Arduino UNO主板和擴展板,如圖6所示。Arduino UNO是一款基于ATmega328P的微控制器板。它有14個數字輸入/輸出引腳(其中6個可用作PWM輸出),6個模擬輸入,16 MHz晶振時鐘,USB接口,電源插孔,ICSP接頭和復位按鈕。只需要通過USB數據線連接電腦就能供電、程序下載和數據通訊。
圖6 Arduino UNO主板和擴展板
Arduino UNO是一個開源的硬件模塊,它可以和各種傳感器組合設計實現不同的功能,如通過紅外傳感器實現測量距離;通過接觸傳感器實現檢測障礙物;通過灰度傳感器實現循跡等[4]??梢岳脭U展板來加載上述的傳感器進行組合項目實驗。Arduino UNO也提供了一個開源的軟件開發環境,包括圖形化編程和IDE編程,本文采用了后者的開發環境。
機器人有6個舵機,分別控制對應機械臂的旋轉方向和角度,在程序中,通過改變舵機的角度來控制舵機的運動速度,對于某一舵機,程序中相鄰兩步改變的角度值越大,舵機的運動速度就越快,反之,舵機的運動速度越慢。在實際過程中,發現由于小臂長度尺寸較大,運動過程中容易出現晃動,通過減小軸3的角度變化值,由原來的10°變更為現在的5°,即在程序中myservo3由初始值的105°變為運動時的100°,大大改善了晃動的問題。
本文的機器人系統項目,包括了機械設計、機械制造、控制理論、人工智能等方面的知識,涉及多學科知識的應用,可以系統地、全面地讓學生去學習,有基礎理論知識,也有控制實操環節,具體流程如圖7所示。
圖7 項目教學實踐流程
學生利用SolidWorks軟件進行零件設計,在進行零件結構設計的過程中,了解并掌握機械設計的基礎,如進行齒輪設計時,需要了解并掌握齒輪的基本知識,如齒頂圓、齒根圓和分度圓的概念和計算公式。在零件結構設計的過程中,讓學生熟練使用設計軟件,了解軟件的基本功能和使用技巧。
在SolidWorks中設計齒輪的步驟如下,首先計算齒輪齒頂圓直徑,然后用單個的齒形陣列切割齒頂圓。該單個齒形設計如圖8所示。圖中,P為節距,p=πm(m齒輪模數);ha為齒頂高,ha=m;h為齒高,h=2.25 m。
圖8 單個齒形
在機械手指的設計中,需要保證左右兩個手指同步加緊和放松,設計中可以利用齒輪的配合指令,使主動輪和從動輪同步運動模擬手指的動作,如圖4所示。
在進行零件的2D圖紙設計時,可以讓學生了解并掌握零件出圖的方法和步驟。如圖紙的布局,尺寸的標注,公差選擇,以及根據零件規格輸出BOM清單。在標注尺寸的過程中,掌握零件的裝配基準和設計基準,以及尺寸鏈的計算,在圖紙的標題欄中,需要選用合適的材料、規格和標識每個零件的用量,機器人底板的2D圖紙如圖9所示。
圖9 底板結構2D圖
項目中,學生對底座、大臂、手腕、手腕等結構零件的進行數控加工,利用數控車床、數控銑床和鉆床等設備加工出零件的結構,培養學生的工程實踐能力和動手能力,在實踐中使學生了解機械設計和零件加工之間的關系。以機器人底板為例,首先確定零件的加工流程如圖10所示,然后利用UG軟件編寫CNC程序。
圖10 底板加工流程
底板零件中心鉆定位孔程序如下:
(1)示教單軸運動
分別改變以下6個軸(myservo0~myservo5)的角度數值,機器人的每個軸將根據調整的參數進行運動。
(2)示教抓取、搬運小球
在程序中,通過改變單軸或同時改變多個軸的角度參數,實現機器人抓取和搬運小球的動作。其中通過改變單軸的流程如圖11所示。
圖11 抓取小球單軸流程
通過機器人編程,可以實現對各種形狀的物體進行抓取和搬運,并且模擬工業機器人的碼垛等動作,在實踐過程中,使學生了解機器人的工作原理及編程技巧,激發學生對機器人課程的興趣,提高學生的動手操作能力。
該機器人控制系統采用的Arduino是一款便捷靈活、適用的開源電子原型平臺,平臺的硬件和軟件都是開放。平臺可以適配各種傳感器如溫度、轉速、紅外、超聲波等,學生可以根據自己的興趣擴展各種傳感模塊,實現距離測試、顏色識別和溫度感應。
本文的機器人系統教學項目,已在學校的機電工程系得到應用,機械設計及自動化專業學生完成機械零件設計和仿真項目,數控專業學生完成機械零件加工項目,機器人專業學生完成機器人調試和示教等項目,該系統在實際教學中取得良好的效果。
本文設計了機器人系統,采用四連桿結構設計了機器人手指,通過齒輪傳動仿真了機器人手指的運動,設計了鉚接軸取代螺釘用于機械零件的連接固定,然后利用CNC加工機械零件,進行組合裝配一套機器人系統,在Arduino的IDE開發環境中進行軟件編程。通過設計和制作該機器人系統,在每個環節中實施項目教學,學生通過設計機器人系統,掌握了機械設計、控制理論、數控加工及機器人專業基礎知識,通過制作機器人結構零件,增強了動手實踐能力,通過示教機器人系統,提升了解決實際問題的綜合能力。