張皓宇,劉曉偉,任 川,趙 彬
(1.遼寧省氣象信息中心,遼寧 沈陽 110168;2.沈陽新松系統(tǒng)自動(dòng)化股份有限公司,遼寧 沈陽 110168;3.東北大學(xué)信息科學(xué)與工程學(xué)院,遼寧 沈陽 110819)
并聯(lián)機(jī)構(gòu)學(xué)理論研究蓬勃發(fā)展,并聯(lián)機(jī)器人的運(yùn)動(dòng)學(xué)理論也不斷得到豐富[1-3]。并聯(lián)機(jī)器人是一種具有高載荷自重比的封閉式運(yùn)動(dòng)結(jié)構(gòu),適用于制造、飛行仿真系統(tǒng)和醫(yī)療機(jī)器人等領(lǐng)域。機(jī)械手是一組運(yùn)動(dòng)連桿或鏈條的集合,這些連桿或鏈條連接在一起形成一個(gè)能夠完成特定任務(wù)的機(jī)構(gòu)[4]。典型的任務(wù)包括取放操作、模仿人類動(dòng)作和在危險(xiǎn)區(qū)域操作。機(jī)器人具有兩種基本設(shè)計(jì),串聯(lián)和并聯(lián),在運(yùn)動(dòng)學(xué)上是不同的。串聯(lián)式機(jī)械手是由一系列端到端的運(yùn)動(dòng)環(huán)節(jié)連接而成的開環(huán)結(jié)構(gòu),代表了當(dāng)今大多數(shù)結(jié)構(gòu)類似于人類手臂的機(jī)器人機(jī)械手[5]。并聯(lián)機(jī)器人又稱并聯(lián)機(jī)器人、并聯(lián)機(jī)器人是一種閉環(huán)運(yùn)動(dòng)結(jié)構(gòu)。一般來說串聯(lián)機(jī)器人正運(yùn)動(dòng)學(xué)求解容易,逆運(yùn)動(dòng)學(xué)相對較難。雖然串行機(jī)械手由于其開環(huán)運(yùn)動(dòng)結(jié)構(gòu),易于理解,但不適用于快速分揀、小范圍搬運(yùn)等場合。并聯(lián)機(jī)器人逆運(yùn)動(dòng)學(xué)求解容易,正運(yùn)動(dòng)學(xué)處理很難有通用解決辦法。機(jī)械上,并聯(lián)機(jī)器人由帶有末端執(zhí)行器的移動(dòng)平臺組成,末端執(zhí)行器通過三個(gè)或更多的鉸接鏈接連接到基座,每個(gè)鏈路在鏈路基座附近都有一個(gè)線性驅(qū)動(dòng)器。并聯(lián)機(jī)器人都很適合這些快速高自重比的應(yīng)用,在最終定位的末端執(zhí)行器提供了更高的精度。
任何串行或并聯(lián)機(jī)器人都存在兩類運(yùn)動(dòng)學(xué)問題:逆運(yùn)動(dòng)學(xué)問題(IKP)和正運(yùn)動(dòng)學(xué)問題(FKP)[6]。目前的FKP 求解策略依賴于迭代方法,迭代方法計(jì)算開銷大,耗時(shí)長,且不能進(jìn)行最優(yōu)的實(shí)時(shí)操作。針對FKP 問題,提出了一種利用改進(jìn)形式的多層感知器進(jìn)行反向傳播學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)將問題的求解精度提高到預(yù)期水平,并能實(shí)時(shí)求解。再次,研究了建立NURBS 曲線相關(guān)步驟相關(guān)技術(shù),建立了NURBS 曲線并將其運(yùn)用到并聯(lián)機(jī)器人軌跡插補(bǔ)中,它可以處理任何類型的幾何圖形。NURBS 分段點(diǎn)定義為加速度在零方向上變化的過渡點(diǎn)。求解了運(yùn)動(dòng)學(xué)和NURBS 曲線問題,建立機(jī)構(gòu)的位置、速度、加速度與連桿長度、角度等機(jī)構(gòu)參數(shù)之間的關(guān)系,為后續(xù)并聯(lián)機(jī)器人快速分揀提供了保障。
工業(yè)機(jī)器人傳統(tǒng)上是一種開鏈的機(jī)構(gòu),其連桿通常是串聯(lián)的[7-8]。開放式運(yùn)動(dòng)鏈機(jī)器人通常具有較長的臂長、較大的工作空間和較好的機(jī)動(dòng)性能。然而,懸臂式機(jī)械手本身的剛性較差,在高速、高動(dòng)載工況下的動(dòng)態(tài)性能較差。而并聯(lián)機(jī)器人特別是自動(dòng)裝配,快速分揀,高自重比和高精密機(jī)械加工工裝夾具組裝就顯得尤為重要,也是研發(fā)人員一直努力尋找的有效解決方案。
并聯(lián)機(jī)器人機(jī)構(gòu)圖,如圖1 所示?;陂]合運(yùn)動(dòng)鏈概念的可選機(jī)械手設(shè)計(jì)研究取得了一定的進(jìn)展,與傳統(tǒng)的開放式運(yùn)動(dòng)鏈機(jī)械手相比,具有以下優(yōu)點(diǎn):由于缺少懸臂式結(jié)構(gòu),使得剛性和精度更高,對于執(zhí)行機(jī)構(gòu)的數(shù)量具有較高的力/扭矩能力,因?yàn)閳?zhí)行機(jī)構(gòu)是并聯(lián)而不是串聯(lián)布置的,而且逆運(yùn)動(dòng)學(xué)相對簡單,這是實(shí)時(shí)計(jì)算機(jī)在線控制的優(yōu)勢。閉環(huán)運(yùn)動(dòng)鏈機(jī)器人在工作空間和可操作性要求低、動(dòng)載荷大具有廣闊的應(yīng)用前景。
圖1 并聯(lián)機(jī)器人機(jī)構(gòu)圖Fig.1 Mechanism Diagram of Parallel Robot
并聯(lián)機(jī)器人正解解決的是從機(jī)器人關(guān)節(jié)到機(jī)器人末端姿態(tài)的傳遞關(guān)系,反解解決的是從機(jī)器人末端姿態(tài)到機(jī)器人關(guān)節(jié)角的傳遞關(guān)系,正反解是解決機(jī)器人在空間運(yùn)動(dòng)的關(guān)節(jié)角和空間位姿的傳遞關(guān)系。在數(shù)學(xué)上,雖然并聯(lián)機(jī)器人的IKP 有一個(gè)封閉的數(shù)學(xué)解,但是FKP 缺少一個(gè)封閉的解[9-10]。一般來說,F(xiàn)KP 表示一個(gè)待定問題,其中方程的數(shù)量小于未知數(shù)的數(shù)量。此外,運(yùn)動(dòng)學(xué)公式的高度非線性也增加了計(jì)算的復(fù)雜性。IKP 將任務(wù)空間映射到關(guān)節(jié)空間,根據(jù)機(jī)械手的最終位置和方向,找到關(guān)節(jié)角度或連桿長度。在數(shù)學(xué)上,IKP 建立了這樣一個(gè)映射函數(shù):{task space}{joint space}。FKP 將關(guān)節(jié)空間映射到任務(wù)空間,根據(jù)給定的關(guān)節(jié)角度或長度集找到最終的位置和方向。FKP 的求解需要完成運(yùn)動(dòng)控制系統(tǒng)的反饋回路,即FKP 指示是否已經(jīng)到達(dá)工作區(qū)中所需的點(diǎn)。目前的FKP 求解策略依賴于迭代方法,迭代方法計(jì)算開銷大,耗時(shí)長,且不能進(jìn)行最優(yōu)的實(shí)時(shí)操作。
圖2 第i 分支的關(guān)節(jié)角和桿長的示意圖Fig.2 Schematic Diagram of Joint Angle and Bar Length of Branch i
圖中:(xk,yk,zk)—o-xyz坐標(biāo)系中的物理坐標(biāo);r—?jiǎng)悠脚_的外接圓半徑;R—固定平臺的外接圓半徑;i、θij—第i支鏈上的第j桿的桿長和轉(zhuǎn)角。
首先,F(xiàn)1和F2組成一個(gè)球形副,所以:首先,沿y軸平移L12;然后,繞x軸旋轉(zhuǎn)θ12;最后,繞y軸旋轉(zhuǎn)(θ1+θ11-90°),整理得:
設(shè)末端執(zhí)行器中心的坐標(biāo)為(xtcp ytcp ztcp),這樣可以獲得位置變換的坐標(biāo)公式:
3.1.1 消元法反解
求解θ1,整理方程式:
3.1.2 歸一解
根據(jù)上面第一支鏈的結(jié)論,可以得到并聯(lián)機(jī)器人運(yùn)動(dòng)學(xué)反解的歸一解(通用解):
目前并聯(lián)機(jī)器人正解析解決辦法有幾類方法:分析方法、迭代方法、使用額外的傳感器和神經(jīng)網(wǎng)絡(luò)的方法[11-13]。在并聯(lián)機(jī)械手末端安裝額外的傳感器,以獲得更多關(guān)于系統(tǒng)(機(jī)械手)狀態(tài)的信息,有助于快速方便地解決FKP。傳感器的額外成本使得這成為解決FKP 最不理想的方法。在迭代方法中,運(yùn)動(dòng)學(xué)問題被公式化,因此它可以使用任何可用的數(shù)值技術(shù)來求解。然而,這些數(shù)值技術(shù)是計(jì)算密集型的,并不能保證一個(gè)解決方案。本節(jié)介紹了一些并聯(lián)機(jī)器人構(gòu)型的神經(jīng)網(wǎng)絡(luò)求解FKP 方案。神經(jīng)網(wǎng)絡(luò)正運(yùn)動(dòng)學(xué)的目標(biāo)是設(shè)計(jì)一種方法,適用于所有類別的并聯(lián)機(jī)器人,減少計(jì)算資源的使用、實(shí)時(shí)快速執(zhí)行。
3.3.1 神經(jīng)網(wǎng)絡(luò)概述
基于神經(jīng)網(wǎng)絡(luò)求解FKP 的分析方法不僅限于并聯(lián)機(jī)器人的特殊結(jié)構(gòu),可以推廣到其他類型的并聯(lián)機(jī)器人。神經(jīng)元處理單元對修改后的信號進(jìn)行求和,并將該值應(yīng)用于線性或非線性激活函數(shù)。然后,產(chǎn)生的信號或值被傳送到輸出單元。輸入、權(quán)重、體系結(jié)構(gòu)和閾值都是神經(jīng)網(wǎng)絡(luò)器可以控制的參數(shù)。
一旦確定了神經(jīng)網(wǎng)絡(luò)的體系結(jié)構(gòu),就可以通過訓(xùn)練或?qū)W習(xí)過程來設(shè)置權(quán)重值。在網(wǎng)絡(luò)訓(xùn)練中,神經(jīng)網(wǎng)絡(luò)的自由參數(shù)(權(quán)值)是通過環(huán)境的連續(xù)刺激過程來適應(yīng)網(wǎng)絡(luò)的。環(huán)境刺激是從該環(huán)境的不同狀態(tài)獲得的輸入—輸出數(shù)據(jù)值。在訓(xùn)練過程中,系統(tǒng)地更新自由參數(shù),使其值收斂到最優(yōu)值。自由參數(shù)更新的大小由一個(gè)稱為學(xué)習(xí)率的因素控制。何時(shí)停止訓(xùn)練取決于預(yù)先定義的條件,如達(dá)到最大期望的訓(xùn)練時(shí)間和最低錯(cuò)誤率等。
3.3.2 神經(jīng)網(wǎng)絡(luò)逆解
神經(jīng)網(wǎng)絡(luò)類似于人腦學(xué)習(xí)的過程,神經(jīng)網(wǎng)絡(luò)參數(shù)的準(zhǔn)確性和學(xué)習(xí)數(shù)據(jù)量的多少有很大的關(guān)系。輸入為并聯(lián)機(jī)器人關(guān)節(jié)的角度值經(jīng)過神經(jīng)網(wǎng)絡(luò)模塊輸出為機(jī)器人的末端的位置和姿態(tài),如圖3 所示。運(yùn)動(dòng)學(xué)簡化模型示意圖可以得到:
圖3 運(yùn)動(dòng)學(xué)簡化模型Fig.3 Simplified Kinematics Model
整理公式可以得到:
根據(jù)上面所述的非線性方程組,采用三層BP 神經(jīng)網(wǎng)絡(luò)方法對并聯(lián)機(jī)器人運(yùn)動(dòng)學(xué)進(jìn)行正向求解。根據(jù)并聯(lián)機(jī)器人的外觀結(jié)構(gòu)構(gòu)型,建立基于神經(jīng)網(wǎng)絡(luò)的并聯(lián)機(jī)器人非線性方程。神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)共分為三層,輸入層共有3 個(gè)神經(jīng)元,輸出層有4 個(gè)神經(jīng)元,如圖4 所示??山?jīng)由下式將機(jī)器人正運(yùn)動(dòng)學(xué)的非線性映射轉(zhuǎn)換為線性映射,設(shè)N個(gè)樣本為(Pj,αj),其中j=1,2,…,N。Pj為網(wǎng)絡(luò)輸入向量,作為第j個(gè)位置樣本,αj作為第j個(gè)電機(jī)轉(zhuǎn)角為網(wǎng)絡(luò)輸出向量。
式中:wi—隱含層的節(jié)點(diǎn)i與輸入層的權(quán)值;a1i—隱含層的節(jié)點(diǎn)i與輸入層的閾值;wk—輸出層與隱含層間的權(quán)值;a2k—輸出層與隱含層間的閾值。
圖4 三層前向神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Three-Layer Feedforward Neural Network Structure
將并聯(lián)機(jī)器人運(yùn)動(dòng)控制過程中產(chǎn)生的位置和關(guān)節(jié)角度進(jìn)行保存,作為大量樣本輸入訓(xùn)練后,可以獲得機(jī)器人關(guān)節(jié)角度到機(jī)器人末端位置的運(yùn)動(dòng)學(xué)正描述,即可根據(jù)建立的非線性方程和權(quán)重從而得到并聯(lián)機(jī)器人正解。
在數(shù)控控制器的軌跡規(guī)劃中,最大加速度和最大顛簸的控制是非常重要的,因?yàn)樗诤艽蟪潭壬嫌绊懼鴻C(jī)器人運(yùn)動(dòng)穩(wěn)定性。線性插補(bǔ)器和圓形插補(bǔ)器的典型問題包括:處理大量短節(jié)段需要過多的數(shù)據(jù)傳輸和加工時(shí)間。線段連接處的速度不連續(xù)明顯,傳統(tǒng)的方法已不能滿足當(dāng)前制造業(yè)對高速高精度加工的要求。
在變進(jìn)給量控制中,NURBS 曲線上每個(gè)采樣點(diǎn)的進(jìn)給量是根據(jù)該點(diǎn)的曲率和允許的弦誤差確定的。然后在泰勒展開中使用這個(gè)進(jìn)給量來確定下一個(gè)采樣點(diǎn)。眾所周知,進(jìn)給速度必須根據(jù)軌跡的曲率變化而變化,在高速加工中應(yīng)盡可能快地保持進(jìn)給速度。同樣,當(dāng)一個(gè)彎曲區(qū)域之后是一個(gè)平坦區(qū)域時(shí),也有必要確定速度開始增加的點(diǎn)。
在加工過程中,通過刀具路徑規(guī)劃將參數(shù)曲面離散成一組參數(shù)曲線,然后執(zhí)行軌跡規(guī)劃對每條曲線進(jìn)行插值。參數(shù)曲線有不同的表示形式,NURBS 曲線由于其計(jì)算速度快、計(jì)算穩(wěn)定性好,已被許多CAD/CAM 系統(tǒng)用作基本幾何表示。提出了一種NURBS 曲線插補(bǔ)的綜合插補(bǔ)方案。以NURBS 曲線為例,對所開發(fā)的軌跡規(guī)劃進(jìn)行了逐步測試。該曲線由直線段和任意曲線段在銳角處連接而成。傳統(tǒng)的機(jī)器人運(yùn)動(dòng)規(guī)劃只提供線性和圓形插補(bǔ)器,使用線性化的線段序列來逼近曲線。這種傳統(tǒng)的方法由于分割導(dǎo)致進(jìn)給量波動(dòng)較大,并產(chǎn)生較大的數(shù)據(jù)文件。對于一般參數(shù)曲面運(yùn)動(dòng)控制,該方法效率低,易產(chǎn)生誤差。
由于這種運(yùn)動(dòng)規(guī)劃是實(shí)時(shí)實(shí)現(xiàn)的,因此開發(fā)了特定的算法來計(jì)算每個(gè)采樣間隔的進(jìn)給量和采樣點(diǎn)。NURBS 樣條曲線擬合過程如下:
(1)節(jié)點(diǎn)參數(shù)ui計(jì)算過程(累計(jì)弦長法)
到此,B樣條曲線就擬合出來了。接下來需要對曲線進(jìn)行數(shù)據(jù)點(diǎn)的密化,好讓機(jī)器人周期性走到各個(gè)密化點(diǎn),一般采取泰勒展開的方式密化。
為了實(shí)現(xiàn)機(jī)械手的實(shí)時(shí)軌跡控制,討論的正,逆運(yùn)動(dòng)學(xué)一般必須在線計(jì)算。驗(yàn)證了并聯(lián)機(jī)器人正運(yùn)動(dòng)學(xué)的正確性,如圖5(a)~圖5(b)所示。在機(jī)械臂的運(yùn)動(dòng)學(xué)分析中,將給定的執(zhí)行機(jī)構(gòu)坐標(biāo)轉(zhuǎn)換為直角坐標(biāo)的正逆運(yùn)動(dòng)學(xué)都是必要的,該策略在不到兩次迭代和0.02 s 的執(zhí)行時(shí)間內(nèi),位置和方向參數(shù)的精度分別接近0.01mm 和0.01°。
圖5 正弦與圓弧跟蹤曲線示意圖Fig.5 Sine and Arc Tracking Curve Diagram
NURBS 插補(bǔ)器在插補(bǔ)過程中既能在大部分時(shí)間內(nèi)實(shí)現(xiàn)均勻進(jìn)給,又能在每一個(gè)插補(bǔ)點(diǎn)都能在規(guī)定的誤差范圍內(nèi)。曲線的尖角或進(jìn)給敏感角,避免高頻分量或含有與插補(bǔ)軌跡中機(jī)器固有頻率匹配的頻率分量和高抖動(dòng),如圖6 所示。在軌跡規(guī)劃方法中,提出了一種檢測NURBS 曲線尖角的前瞻模塊。在此基礎(chǔ)上,采用加減速方法進(jìn)行了修正,滿足機(jī)器人的加減速能力。
圖6 NURBS 樣條曲線示意圖Fig.6 NURBS Spline Diagram
為了實(shí)際驗(yàn)證并聯(lián)機(jī)器人運(yùn)動(dòng)控制正確性,為并聯(lián)機(jī)器人運(yùn)動(dòng)抓取實(shí)驗(yàn),如圖7(a)~圖7(b)所示。依靠千分表可以進(jìn)行測試,得并聯(lián)機(jī)器人重復(fù)定位精度(±0.05)mm,運(yùn)動(dòng)速度快,拾放節(jié)拍120 次/min。并聯(lián)機(jī)器人為生產(chǎn)線系統(tǒng)提供了穩(wěn)定運(yùn)動(dòng)控制功能,并聯(lián)機(jī)器人準(zhǔn)確識別并同步跟蹤傳輸線上高速運(yùn)動(dòng)的產(chǎn)品,在高速運(yùn)動(dòng)中連續(xù)抓取多包產(chǎn)品,然后整齊的擺放到包裝箱中。
圖7 運(yùn)動(dòng)抓取示意圖Fig.7 Motion Grab Diagram
針對并聯(lián)機(jī)器人運(yùn)動(dòng)控制與NURBS 軌跡規(guī)劃問題,提出了神經(jīng)網(wǎng)絡(luò)正運(yùn)動(dòng)學(xué)控制與NURBS 軌跡規(guī)劃控制方法。并聯(lián)機(jī)器人FKP 的求解是閉環(huán)控制系統(tǒng)的關(guān)鍵,由于缺乏一種封閉形式的數(shù)學(xué)解,提出了神經(jīng)網(wǎng)絡(luò)解決運(yùn)動(dòng)學(xué)正解通用逼近器。在該模型中,輸入端接收信號將其傳輸?shù)缴窠?jīng)元處理單元,在神經(jīng)元處理單元中,信號通過權(quán)值乘法進(jìn)行修改。然后提出了一種NURBS曲線插補(bǔ)的綜合插補(bǔ)方案,同時(shí)滿足給定速度和弦長精度的要求。用NURBS 樣條擬合方法對插補(bǔ)后的進(jìn)給曲線進(jìn)行進(jìn)一步平滑,在插補(bǔ)過程中,反復(fù)檢查弦長誤差,并將其限制在規(guī)定的誤差范圍內(nèi)。從正運(yùn)動(dòng)學(xué)仿真、逆運(yùn)動(dòng)學(xué)和NURBS 樣條曲線驗(yàn)證了軟件有效性。這種混合策略確實(shí)需要稍微增加計(jì)算機(jī)系統(tǒng)內(nèi)存,但是節(jié)省的時(shí)間和迭代次數(shù)的節(jié)省足以克服引入神經(jīng)網(wǎng)絡(luò)的成本。并聯(lián)機(jī)器人運(yùn)動(dòng)學(xué)策略在不到兩次迭代和0.02s 的執(zhí)行時(shí)間內(nèi),位置和方向參數(shù)的精度分別接近0.01mm 和0.01°。在實(shí)際抓取運(yùn)動(dòng)過程中,并聯(lián)機(jī)器人重復(fù)定位精度±0.05mm,運(yùn)動(dòng)速度快,拾放節(jié)拍120 次/min,驗(yàn)證了算法的有效性和正確性。