林海峰,王 姮
(西南科技大學 特殊環(huán)境機器人技術四川省重點實驗室,四川 綿陽621010)
多關節(jié)機器人是一種應用非常廣泛的機器人,絕大部分工業(yè)機器人和智能移動機器人都是多關節(jié)機器人,擁有多關節(jié)機械臂。機器人在農業(yè)上可以完成蔬菜和水果的采摘,在工業(yè)上的應用更是比比皆是,如各種噴涂和焊接機器人。對機器人的應用大大降低了工人勞動強度,降低了勞動成本,提高了工作效率,具有很大的應用價值。多關節(jié)機械臂的靈活程度對其工作能力有著至關重要的作用[1-2]。關節(jié)臂的工作空間是多關節(jié)機器人靈活程度的重要指標之一,它是指其末端參考點所能達到的空間點集合。目前,機器人工作空間的仿真通常通過建立機器人的正運動學方程,然后求解機器人的末端坐標,最后將末端坐標點集合顯示在坐標圖中加以實現(xiàn),這通常需要大量的矩陣運算,步驟繁瑣工作量大,極易出錯。本文在Robotics Toolbox仿真工具箱的基礎上,提出了一種簡化的工作空間仿真方法,只要知道機械臂模型和相關參數(shù),不需要進行正運動學解,即可求出末端坐標,進而求出工作空間的仿真圖??晒┰O計者、操作員和運動規(guī)劃者分析工作問題,制定工作策略。
本文以Brokk50為例,首先畫出其簡化的機械臂模型,然后確定關節(jié)間D-H變換參數(shù)[3-4],最后通過仿真驗證參數(shù)的正確性。Brokk50機器人的機械臂簡圖如圖1所示。
為了方便查看,圖1中將坐標系0和坐標系1的原點放在了一起。
oxyz:與固定坐標相連的固定參考坐標系,稱為基坐標系。
onxnynzn:與機器人的第n個桿件相固連,坐標原點在第n+1關節(jié)的中心點處。
圖1 Borkk機器人D-H坐標系
確定和建立每個坐標系遵循以下3條規(guī)則:
(1)zn-1軸沿著第n關節(jié)的運動軸;
(2)xn軸垂直于zi軸及 zi-1軸并指向離開 zi-1軸的方向;
(3)yn軸按右手坐標系的要求建立。
同時,剛性桿件的D-H表示法取決于連桿的以下4個參數(shù):
(1)連桿長度 an:表示沿 xn軸方向 zn-1軸與 zn軸之間的距離;
(2)連桿扭角 αn:表示繞 xn軸線由 zn-1軸到 zn軸所旋轉的角度;
(3)連桿間距 dn:表示沿 zn軸方向 xn-1軸到 xn軸的距離;
(4)轉角變量 θn:表示繞軸由 xn-1軸到 xn軸所旋轉的角度。
由圖1和機械臂參數(shù)可以確定連桿參數(shù)和變量,如表1所示。
其中,轉角變量θi為關節(jié)繞z軸的旋轉角度,是未知量;連桿間距為相鄰關節(jié)間公垂線的距離;連桿長度為已知;連桿扭角αn為相鄰兩個z軸的夾角。
表1 機械臂連桿參數(shù)和變量表
對于機械臂的運動學、動力學以及軌跡規(guī)劃分析,可以使用基于Matlab平臺的機器人工具箱—Robotics Toolbox,此工具箱最新版本在2002年4月由Peter I.Corke更新。該工具箱函數(shù)可以在Matlbab7.1版本上運行。它提供給用戶一些常用的函數(shù),可以實現(xiàn)機械臂運動學、動力學仿真,是一款非常方便和容易上手的輔助工具[5-6]。
下面使用工具箱中的函數(shù)對Brokk機器人機械臂進行建模和正運動學仿真,具體實現(xiàn)函數(shù)如下:
link函數(shù)中的參數(shù)從前到后分別代表D.H參數(shù)表中的 α、a、θ、d;standard表示采用的是標準 D.H 建模方法;roBot函數(shù)作用是將機械臂各桿與關節(jié)連接起來;q表示關節(jié)變量的初始角度;driveBot是繪制機械臂的函數(shù)。 這里取 L1、L2、L3、L4、L5 分別為 40、60、80、60、50。采用工具箱函數(shù)得到的仿真結果如圖2所示。其中x、y、z分別表示抓持器的位置;ax、ay、az表示抓持器的姿態(tài),是用RPY旋轉來表示的,ax表示偏航角,ay表示俯仰角,az表示滾動角;q1、q2、q3、q4、q5 為 5 個關節(jié)角度值。由圖2可以看出機械臂參數(shù)正確,可以進行工作空間分析。
圖2 基于Robotics Toolbox工具箱的機械臂仿真圖
本文采用一種不需要正運動解算的機器人末端坐標求取方法,改進了傳統(tǒng)的空間求取方法——蒙特卡洛方法。可以快速求出機器人的末端坐標并得到工作空間圖像,計算速度快,適合任何關節(jié)型機械臂工作空間求解,只需要具有大致模型和參數(shù)。具體求解步驟如下:
(1)根據(jù)機器人參數(shù)確定參數(shù)值和變化范圍;
(2)利用隨機函數(shù) RAND(j)(j=1,2,…,N)產生 N 個0~1之間的隨機值,由此產生的隨機步長為(qmaxi-qmini)×RAND(j),得到機械關節(jié)變量的偽隨機值為[7]:
式中qmaxi、qmini為關節(jié)變量的上下限,i為關節(jié)數(shù)目;
(3)將N個關節(jié)變量組合帶入Robotics Toolbox公式fkine(機器人名,c)中,得到機械臂末端運動矩陣,并提取x、y、z坐標分別存于矩陣 X、Y、Z 中;
(4)通過 plot3(x,y,z)和 plot(x,y)、plot(x,z)、plot(y,z)得到工作空間的點集云圖。
圖3 Brokk機器人工作空間末端云圖
Brokk50機器人工作空間的仿真結果如圖3所示。
靈活運用基于Matlab平臺的機器人工具箱——Robotics Toolbox,可以在僅僅知道機械臂的部分參數(shù)的情況下快速建立機械臂仿真模型,并在不計算機械臂運動學正解的情況下得出工作空間,減少了大量復雜的矩陣運算,提高了工作效率。可以直觀地指導機械臂的設計工作,確定設計參數(shù);也可以為遙操作和軌跡規(guī)劃提供一些理論支持,減少實際調試時間,優(yōu)化運動軌跡,避免機構干涉等問題。
[1]郁邦永,茅獻彪.機械手工作空間分析與仿真系統(tǒng)探討[J].煤礦機械,2012,33(8):68-70.
[2]梁喜鳳,王永維,苗香雯,等.番茄收獲機械手工作空間分析與仿真[J].浙江大學學報(農業(yè)與生命科學版),2005,31(6):807-811.
[3]任崇軒.五自由度機械臂運動和控制仿真分析[D].廣州:華南理工大學,2012.
[4]馬江.六自由度機械臂控制系統(tǒng)設計和運動學仿真[D].北京:北京工業(yè)大學,2012.
[5]馮飛,張洛平,張波.四自由度機器人Matlab仿真實例[J].河南科技大學學報(自然科學版),2008,29(3):24-26.
[6]康嘉瑞,樊留群,LAURISCHKAT R.基于 Matlab的機器人逆運動學研究[J].佳木斯大學學報(自然科學版),2008,29(3):24-26.
[7]田海波,馬宏偉,魏娟.串聯(lián)機器人機械臂工作空間與結構參數(shù)研究[J].農業(yè)機械學報,2013,44(4):196-201.