摘要:智能機器人是我國“十三五”期間的重大科研方向和熱點應用領域,在高等院校相關專業中,智能機器人方向的教學資源建設和教學改革實踐方興未艾。同時,智能機器人是較為典型的機械、電子和計算機等先進技術結合的一體化系統,將其作為大學生工程教育和創新教育的實驗平臺非常適合。在眾多類型的機器人中,多自由度機械臂是市場應用最為廣泛的一種智能機器人,由此,本文詳細論述了浙江師范大學數理與信息工程學院基于Arduino的6自由度智能機械臂的設計。教學實踐表明,該設計的創新實驗平臺具有較強的專業知識綜合性,較能調動學生學習的主動性,在培養學生實踐能力和創新素養方面效果良好。
關鍵詞:智能機器人;6自由度機械臂;創新實驗;Arduino;創新能力
中圖分類號:G434 文獻標識碼:A 論文編號:1674-2117(2018)10-0099-03
引言
創新實驗平臺[1]是高等院校在進行工程教育和創新教育時,將理論知識、實踐技能和創新能力有機融合的高層次、綜合性教學手段。隨著近年來智能機器人技術的發展,以智能機器人開發或應用為核心的創新實驗平臺成為熱點。[2]智能機器人是一種典型的融合了材料、機械、電子以及計算機技術、傳感技術、可編程控制和人工智能等先進技術的一體化系統,與之相關的研究所涉及的學科多,應用領域廣,是目前世界各國高校和研究機構進行教學研究與工程訓練的理想實驗平臺。[3]
在眾多類型的機器人中,多自由度機械臂[4]可完成碼垛、裝配、切削、焊接或噴涂等工業生產作業,是最為常見且應用最廣泛的一種智能機器人,本文以我國目前市場占有率最高的ABB公司6自由度關節機械臂4600為參考對象(如圖1),首先基于D-H參數法進行運動學分析[5],在建立參數模型后,采用通用模型套件設計了6自由度機械臂模型。模型控制系統采用Arduino控制器,通過編程控制多個舵機完成所需動作序列。用于學生創新實驗時,以動作序列編程為主,設計了上下料、拋光和噴涂三種基本動作序列要學生編程實現,如果配合末端執行器,可執行夾取或裝配等更復雜動作。
智能機器人的運動學模型及系統硬件
智能機器人利用控制系統進行運動軌跡規劃和實時運動控制,其數學基礎是機器人運動學,此類問題一直是機器人和人工智能領域的研究熱點。機器人運動學描述了機械運動關節與機器人運動組件(如連桿等)的各剛體之間的運動關系。進行機器人設計時,首先應該對其進行運動學分析,并建立參數模型。根據ABB 4600 6自由度機械臂的固有物理結構,本文采用如圖2所示的D-H參數模型來描述機器人各個運動部件之間的數學關系。
在圖2中,設連桿長度為αi,連桿扭角αi表示垂直于公共法線所在平面內兩軸的夾角,連桿距離di表示兩連桿的相對位置,關節角θi表示兩連桿法線的夾角。由此,可以用ai和αi來描述單個連桿,而用di和θi描述兩個連桿之間的關系。同時,連桿長度ai、連桿扭角αi和連桿距離di均只與機器人物理結構相關,可視為常量,具體定義見右下表。
為了使智能機器人創新實驗平臺搭建方便快速,筆者采用了目前流行的智能機械臂通用硬件,主要包括機械臂通用組件、舵機和Arduino控制器,具體如下:
(1)機械臂通用組件:這套組件的作用是組成機械臂各個位置的連桿,材質為鋁合金,外觀如圖3所示。
(2)舵機:舵機驅動連桿轉動一定角度,多個舵機協同作用,可以使機械臂做出各種動作。本文選用的舵機如下頁圖4所示。
(3)Arduino控制器:Arduino是一個支持多個擴展接口的開源硬件平臺。以Arduino為控制器的機器人擁有許多功能,如使機器人連接各類傳感器、驅動不同類型的電動機或存儲一組預定義動作序列等。本文選用的型號是常見的Arduino UNO,如下頁圖5所示。
基于Arduino的智能機器人控制系統
機器人能夠順利執行預先編輯好的各種動作,依賴的是基于單片機或智能控制器的控制系統。本文選用最近流行的Arduino UNO控制器,其編程環境較為簡單,且是開源系統,相關資源較多,擴展性強,滿足創新實驗平臺的實驗仿真需求。
本文的6自由度智能機器人共使用6路舵機,是較為典型的多路舵機控制案例。6個舵機都支持180度轉角,舵機的轉動角度是通過調節脈沖寬度調制(PWM)信號的占空比來實現的,標準PWM信號的周期固定為20ms(50Hz),脈寬在500us到2500us之間,脈寬和舵機的轉角0度~180度相對應。所謂動作序列的編輯,就是同時實驗測試,找出PWM脈寬和各個舵機轉角值(對應著不同動作)之間對應的時序關系,并把這種時序關系存儲起來,當需要機器人重復該動作序列時,按照預先存儲好的時序驅動各個舵機,完成動作。
利用Arduino的編程環境,可以完成上述實驗過程,學生在編程調試過程中,能夠更形象直觀地理解智能機器人控制系統的工作流程,較深入地將理論知識點與實踐結合起來,同時,編輯新的動作序列也能較好地培養學生的創新能力。本文實驗采用的編程軟件環境如圖6所示。
控制舵機角度等的范例程序如下:
pos1 = pos1+20;
servo1.write(pos1);
delay (30);
if(pos1>170)
{ pos1=170;
servo1.write(pos1);}
每個不同的動作序列都需要根據分解后的各個動作設置對應舵機的參數,并校正上面程序中的變量值,對于多個舵機而言還需考慮時延等情況。
綜上所述,從整個創新實驗平臺的軟硬件以及實驗的過程來看,本文的創新實驗平臺具有較強的綜合性,結合了智能機器人的控制與應用,雖有難度,但也較好地調動了學生的積極性。
結論
隨著智能機器人應用領域的不斷擴大,人們對機器人性能的要求越來越高,高速、高精度、智能和模塊化成為目前機器人發展的主要趨勢。而6自由度關節式智能機器人的操作空間大且結構緊湊,所以它的應用范圍最廣泛。本文選擇ABB公司的4600型機器人為研究對象,建立D-H參數模型,搭建了以Arduino控制器為核心的6自由度機械臂軟硬件系統,并將該系統作為創新實驗平臺,用于機器人實踐教學,取得了較好的教學效果。
參考文獻:
[1]鐘麗鴻,金京姬,王強強.開放性創新實驗教學管理模式初探[J].教育現代化,2017,4(28):210-213.
[2]張則,蘇貴章,李春江,等.大學生創新性實驗計劃實施策略[J].中國科技信息,2015(11):1-3.
[3]董愛梅.以智能機器人為平臺專業學位研究生培養模式的研究[J].教育教學論壇,2017(45):170-171.
[4]左駿秋,張磊,喜冠南,等.關節半解耦6自由度服務機器人的設計與運動學研究[J].機械設計,2017,34(6):88-94.
[5]Loh B G,Rosen J. Kinematic analysis of 7 degress of freedom upper-limb exoskeleton robot with tilted shoulder abduction[J].International Journal of Precision Engineering and Manufacturing,2013,14(1):69-76.
作者簡介:李知菲,男,講師,研究方向為智能機器人、虛擬現實與動作捕捉。