郭 建
(華南理工大學(xué)廣州學(xué)院機(jī)械工程學(xué)院 廣東·廣州 510800)
機(jī)器人的位置和姿態(tài)稱(chēng)為位姿。位姿的數(shù)學(xué)描述是表達(dá)機(jī)器人的線速度、角速度、力和力矩的基礎(chǔ),坐標(biāo)變換是研究不同坐標(biāo)系中的機(jī)器人位姿關(guān)系的重要途徑。當(dāng)?shù)玫轿蛔说拿枋鲆院?,就可以利用各關(guān)節(jié)位姿之間的關(guān)系來(lái)描述機(jī)器人的整個(gè)運(yùn)動(dòng)鏈,進(jìn)而得到機(jī)器人的基坐標(biāo)系和末端坐標(biāo)系之間的關(guān)系。機(jī)器人運(yùn)動(dòng)學(xué)的計(jì)算主要圍繞兩個(gè)問(wèn)題進(jìn)行展開(kāi),機(jī)器人正逆運(yùn)動(dòng)學(xué),兩者是機(jī)器人運(yùn)動(dòng)學(xué)的核心。機(jī)器人的正運(yùn)動(dòng)學(xué)是已知或者給定一組關(guān)節(jié)角,計(jì)算出工具坐標(biāo)系相對(duì)于基坐標(biāo)系的位置和姿態(tài),也就是求解機(jī)器人末端執(zhí)行器的位姿。機(jī)器人的逆運(yùn)動(dòng)學(xué)是給定機(jī)器人末端執(zhí)行器的位置和姿態(tài),計(jì)算所有可到達(dá)指定位置和姿態(tài)的關(guān)節(jié)角。
在進(jìn)行機(jī)器人運(yùn)動(dòng)學(xué)教學(xué)過(guò)程中,通常以四足機(jī)器人或者六軸關(guān)節(jié)機(jī)器人作為實(shí)際分析對(duì)象機(jī)器人模型如圖1所示,外觀尺寸長(zhǎng)×寬×高為:300mm×250mm×263mm。
圖1:整體結(jié)構(gòu)
圖2:D-H坐標(biāo)系
機(jī)器人腿部處于擺動(dòng)相時(shí),機(jī)器人的腿部結(jié)構(gòu)可以看成一串轉(zhuǎn)動(dòng)關(guān)節(jié)連接的剛體連桿構(gòu)成,基體坐標(biāo)系{O}建立在機(jī)器人腿部側(cè)擺轉(zhuǎn)動(dòng)關(guān)節(jié)軸處;OX軸正向是機(jī)器人運(yùn)動(dòng)方向的相反方向;OY軸方向是與重力方向平行;OZ軸方向用右手法則判定。利用 D-H方法建立的坐標(biāo)系如圖2所示。是相應(yīng)關(guān)節(jié)的轉(zhuǎn)動(dòng)角度變量,L1是基坐標(biāo)系原點(diǎn)到坐標(biāo)系{2}原點(diǎn)之間的距離,L2、L3是大腿與小腿的等效長(zhǎng)度。右前腿的D-H參數(shù)如表1所示。
表1:右前腿D-H參數(shù)表
根據(jù)表1中的參數(shù),可以得到如下變化矩陣:
(1)數(shù)學(xué)計(jì)算量較大,對(duì)于應(yīng)用型本科院校的學(xué)生來(lái)講,對(duì)于以上公式的理解比較費(fèi)勁。
(2)對(duì)學(xué)生的線性代數(shù)基礎(chǔ)知識(shí)要求很高。
(3)很多學(xué)生以為又是線性代數(shù)的計(jì)算,每天忙著記憶公式,對(duì)公式不理解。
(4)對(duì)實(shí)際的機(jī)器人運(yùn)動(dòng)學(xué)分析無(wú)從著手,只知道對(duì)著公式計(jì)算,參數(shù)有時(shí)候?qū)?yīng)不上。
在MATLAB的機(jī)器人工具箱中,可以實(shí)用兩種函數(shù)實(shí)現(xiàn)坐標(biāo)的旋轉(zhuǎn)可視化,函數(shù)trplot()可以用圖形表示相應(yīng)的體坐標(biāo)系,函數(shù)tranimate()用動(dòng)畫(huà)展示世界坐標(biāo)系旋轉(zhuǎn)為體坐標(biāo)系的過(guò)程。這兩個(gè)功能可以有助于學(xué)生看清楚坐標(biāo)旋轉(zhuǎn)的過(guò)程,以及旋轉(zhuǎn)之后新坐標(biāo)系和舊坐標(biāo)系的位置關(guān)系。
筆者在實(shí)際的教學(xué)過(guò)程中發(fā)現(xiàn),旋轉(zhuǎn)矩陣的物理含義是學(xué)生最難理解的地方,對(duì)于矩陣的理解很容易,但是經(jīng)過(guò)幾旋轉(zhuǎn)后的計(jì)算就會(huì)變得很繁瑣,在計(jì)算過(guò)程很容易出錯(cuò)。在MATLAB的機(jī)器人工具箱中,3X3的旋轉(zhuǎn)矩陣可以用rotx()、roty()、rotz()來(lái)計(jì)算。T=rotx(pi/6)表示圍繞 X 軸旋轉(zhuǎn) 30°得到的旋轉(zhuǎn)矩陣。機(jī)器人工具箱分別提供了trotx()、troty()、trotz()三個(gè)函數(shù)計(jì)算4X4的齊次變換矩陣,分別對(duì)應(yīng)X軸,Y軸,Z軸旋轉(zhuǎn)一定的角度,比如圖1的坐標(biāo)系o'-XYZ繞著o-XYZ的X軸旋轉(zhuǎn)30°。則旋轉(zhuǎn)矩陣可以直接表示為T(mén)0=trotx(pi/6)。對(duì)于平移坐標(biāo)變換,機(jī)器人工具箱提供了函數(shù)transl()。
對(duì)機(jī)器人的運(yùn)動(dòng)學(xué)方程求解,是一個(gè)非線性的問(wèn)題。目前主要分為兩類(lèi):數(shù)值解和封閉解。筆者在實(shí)際教學(xué)中發(fā)現(xiàn)嗎,學(xué)生在進(jìn)行數(shù)學(xué)公式推導(dǎo)過(guò)程中,很容易出現(xiàn)厭學(xué),覺(jué)得機(jī)器人運(yùn)動(dòng)學(xué)枯燥的情況。在MATLAB的機(jī)器人工具箱中,封閉解使用ikine6s()完成,這個(gè)只適用于關(guān)節(jié)數(shù)為6,且腕部三個(gè)旋轉(zhuǎn)關(guān)節(jié)相交于一點(diǎn)的情況。數(shù)值解使用ikine()完成,它適用各種關(guān)節(jié)數(shù)目的機(jī)械臂通過(guò)設(shè)定初始的關(guān)節(jié)角坐標(biāo)對(duì)機(jī)械臂運(yùn)動(dòng)學(xué)配置進(jìn)行隱藏式控制。
D-H建模方法是使用連桿參數(shù)來(lái)描述機(jī)構(gòu)運(yùn)動(dòng)關(guān)系。一個(gè)長(zhǎng)度不為零的連桿的兩端連接了兩個(gè)關(guān)節(jié),連桿的運(yùn)動(dòng)學(xué)功能在于保持兩端關(guān)節(jié)軸線之間固定的幾何關(guān)系。關(guān)節(jié)軸線i-1和關(guān)節(jié)軸線i的公法線長(zhǎng)度用表示,關(guān)節(jié)軸線i-1和關(guān)節(jié)軸線i的夾角用表示;關(guān)節(jié)i上的兩條公法線ai與ai-1之間的距離用di表示;連桿i相對(duì)于連桿i-1繞軸線i的旋轉(zhuǎn)角度,繞關(guān)節(jié)軸線i測(cè)量,用表示。在MATLAB機(jī)器人工具箱中,還用變量表示機(jī)器人的關(guān)節(jié)類(lèi)型,其中=0表示轉(zhuǎn)動(dòng)關(guān)節(jié),=1表示移動(dòng)關(guān)節(jié)。在MATLAB的機(jī)器人工具箱中,用函數(shù)Link()可以創(chuàng)建一個(gè)機(jī)械臂對(duì)象,其中輸入?yún)?shù)的順序分別是關(guān)節(jié)角、連桿偏距di、連桿長(zhǎng)度ai-1、連桿轉(zhuǎn)角、關(guān)節(jié)類(lèi)型。利用MATLAB同樣可以完成機(jī)器人的數(shù)學(xué)建模個(gè)計(jì)算,部分代碼如下。在MATLAB中利用D-H參數(shù)法建立的機(jī)械臂如圖3所示。
圖3:MATLAB建立D-H坐標(biāo)系
在2020-2021第一學(xué)期的機(jī)器人技術(shù)教學(xué)中,前兩周利用傳統(tǒng)教學(xué)方法進(jìn)行教學(xué),前期學(xué)生反饋比較多的就是公式計(jì)算麻煩,不理解公式,只會(huì)計(jì)算例題,從第三周開(kāi)始引入MATLAB進(jìn)入課堂,很多學(xué)生對(duì)運(yùn)動(dòng)學(xué)計(jì)算的物理含義開(kāi)始逐漸清晰。對(duì)于旋轉(zhuǎn)和平移的計(jì)算超過(guò)80%的學(xué)生沒(méi)有障礙,部分學(xué)生開(kāi)始對(duì)六足機(jī)器人和康復(fù)機(jī)器人進(jìn)行運(yùn)動(dòng)學(xué)分析,有一組學(xué)生基于機(jī)器人的運(yùn)動(dòng)學(xué)計(jì)算申請(qǐng)了廣東省大學(xué)生攀登計(jì)劃,用于分析上肢康復(fù)機(jī)器人。引入MATLAB進(jìn)入課堂能較好地激發(fā)學(xué)生的學(xué)習(xí)興趣,本次期末考試中,全班同學(xué)51人,只有兩人掛科,取得了較好的教學(xué)效果。