李炳志? 王爽
摘? 要:偽速度的引入導(dǎo)致了拉氏方程的廣義化,使得通過(guò)歐拉-龐卡萊方程建立多體系統(tǒng)的動(dòng)力學(xué)模型,實(shí)現(xiàn)了動(dòng)力學(xué)的全局描述,并保持了潛在理論結(jié)構(gòu)和拉氏方程的優(yōu)點(diǎn)。并且其慣量矩陣相對(duì)簡(jiǎn)單,對(duì)于完整或非完整約束系統(tǒng)都適用。空間算子代數(shù)中的移位算子結(jié)合了關(guān)聯(lián)矩陣、通路矩陣和低序體陣列的特點(diǎn),而且形式更簡(jiǎn)單,更容易在計(jì)算機(jī)上實(shí)現(xiàn),最重要的是它包含了運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)遞推關(guān)系。將其引入動(dòng)能函數(shù)的計(jì)算,提高了效率,避免了重復(fù)計(jì)算、交叉運(yùn)算。最后給出了算例及仿真。
關(guān)鍵詞:偽速度;歐拉-龐卡萊方程;移位算子;高效率;動(dòng)力學(xué)模型
中圖分類號(hào):TP241? 文獻(xiàn)標(biāo)識(shí)碼:A? 文章編號(hào):2096-4706(2023)24-0147-06
High Efficient Dynamics Modeling of Mechanical Multibody System Based On
Euler-Poincare Equation
HAO Yongjiang1, LI Bingzhi2, WANG Shuang3
(1.Kunshan Key Industry Development and Promotion Center, Suzhou? 215300, China; 2.China National Heavy Duty Truck Group Co., Ltd., Ji'nan? 250000, China; 3.Nanjing University of Information Science & Technology, Nanjing? 210044, China)
Abstract: The introduction of quasi-velocities leads to a generalization of Lagrange's equation, and the dynamics model of multi-body system established by Euler-Poincare equation achieves global description of the dynamics, and keeps the advantages of underlying theoretical structure and the Lagrange's equation. Its inertia matrix is relatively simple, which can be application to holonomic or non-holonomic constrained systems. The shift operator of spatial operator algebra combines the features of correlation matrix, access matrix and lower body arrays, and its simple structure is easy to be achieved on computer. More importantly, it contains recurrence relation of kinematics and dynamics. It is introduced into the calculation of the kinetic energy function, which improves the efficiency, avoids double counting and cross operation. Finally, the calculation examples and the simulation are given.
Keywords: quasi-velocities; Euler-Poincare equation; shift operator; high efficiency; dynamics model
0? 引? 言
過(guò)去十多年來(lái),不得不面對(duì)一系列控制設(shè)計(jì)問(wèn)題—多體復(fù)雜機(jī)電系統(tǒng),其中非線性起著重要的作用,幸運(yùn)的是非線性控制系統(tǒng)分析的幾何理論在20世紀(jì)八九十年代取得了實(shí)質(zhì)性的進(jìn)展,為解決許多需要,提供了關(guān)鍵性的概念化的工具,但是誠(chéng)于許多控制工程師所承認(rèn)的,在工程實(shí)踐上,快速建模,計(jì)算和實(shí)現(xiàn)是主要關(guān)心的事情,這一問(wèn)題又提出了如何快速地對(duì)復(fù)雜多體系統(tǒng)進(jìn)行數(shù)學(xué)建模,因此建立和處理復(fù)雜的模型對(duì)于設(shè)備和控制器都是首先需要的。
然而,面對(duì)中-高等多體鏈?zhǔn)较到y(tǒng),建立準(zhǔn)確的數(shù)學(xué)模型也相當(dāng)復(fù)雜和困難。自然,利用計(jì)算機(jī)進(jìn)行自動(dòng)化推導(dǎo)的興趣一直在增加,大多數(shù)實(shí)際工程中主要集中于鏈?zhǔn)交驑?shù)式結(jié)構(gòu),這是一類適用于重要機(jī)器人和車輛的系統(tǒng)。但是,許多系統(tǒng)并非樹(shù)形系統(tǒng),它們會(huì)帶有閉環(huán)以及其形式的代數(shù)和(或)微分約束,需要加到打開(kāi)的樹(shù)形系統(tǒng)上,典型的例子是機(jī)器人手爪的抓取,或者車輛帶有滾輪,這種系統(tǒng)附加的復(fù)雜化增大了計(jì)算機(jī)組裝方程的規(guī)模。
Poincare方程[1]也叫作偽坐標(biāo)下的拉格朗日方程或者歐拉—龐卡來(lái)方程[2],龐卡來(lái)方程包含了潛在的鏈?zhǔn)浇Y(jié)構(gòu)特點(diǎn)和模塊化的優(yōu)點(diǎn),但它們常常保持自然本質(zhì)屬性,鏈?zhǔn)椒绞浇?dòng)力學(xué)方程相比拉氏方程更簡(jiǎn)單,此外它們的組裝更容易,適于自動(dòng)使他們成為“工業(yè)強(qiáng)度”系統(tǒng)的實(shí)際選擇[3-6]。
然而,符號(hào)計(jì)算,因?yàn)樗鼘?duì)于非線性,參數(shù)依賴的系統(tǒng)是基本的,而它對(duì)于控制工程師是相當(dāng)新的工具,符號(hào)計(jì)算不取代數(shù)值計(jì)算,它而是補(bǔ)充和加強(qiáng)數(shù)值計(jì)算,認(rèn)識(shí)符號(hào)和數(shù)值計(jì)算的區(qū)別以及如何更好地將它們集成起來(lái)是一項(xiàng)有意義的挑戰(zhàn),采用符號(hào)計(jì)算于以下幾個(gè)目的:基本的數(shù)學(xué)計(jì)算(實(shí)現(xiàn)坐標(biāo)變換、計(jì)算李括號(hào));建立顯示的數(shù)學(xué)模型;簡(jiǎn)化模型(通過(guò)Taylor線性化,對(duì)稱化簡(jiǎn)化);產(chǎn)生數(shù)字仿真指令;完成非線性控制的構(gòu)造(計(jì)算逆系統(tǒng)或完成反饋線性化);實(shí)現(xiàn)控制器的數(shù)值指令生成。
綜上所述,本文介紹樹(shù)結(jié)構(gòu)的運(yùn)動(dòng)學(xué)和歐拉—龐卡萊符號(hào)建模以及模塊化的建模并以一個(gè)實(shí)例為對(duì)象和仿真。
1? 偽速度
機(jī)械多體系統(tǒng)常假設(shè)為鏈?zhǔn)綐?shù)結(jié)構(gòu),即使事實(shí)上帶有閉環(huán),也可以方便的建造相應(yīng)的潛在樹(shù)模型(打開(kāi)閉環(huán)),再加上附加的約束條件。所考慮的系統(tǒng)是剛體組成的,通過(guò)關(guān)節(jié)將剛體聯(lián)系起來(lái),多體系統(tǒng)是由剛體通過(guò)關(guān)節(jié)相連而組成。每個(gè)關(guān)節(jié)有一組速度變量及其形位(configuration)參數(shù),這些參數(shù)的個(gè)數(shù)等于關(guān)節(jié)的自由度數(shù),相應(yīng)于關(guān)節(jié)參數(shù)組成的廣義坐標(biāo)定義為q。
考慮完整約束的系統(tǒng),其可能形位對(duì)應(yīng)于光滑流形M,(維數(shù)為m)稱之為形位流形。M上的局部坐標(biāo)定義了系統(tǒng)的形位,稱之為廣義坐標(biāo)[7]。任何在時(shí)間間隔(t1,t2)內(nèi)系統(tǒng)的運(yùn)動(dòng),跟蹤了M上的一個(gè)軌跡,該軌跡通過(guò)局部q(t):[t1,t2]→M,任何q ∈ M上的一點(diǎn)有廣義速度(dq/dt)屬于M的切空間,在q這點(diǎn),用TqM來(lái)描述。動(dòng)力系統(tǒng)的狀態(tài)空間是2m維流形,,稱之為余切從。
在q ∈ M形位處系統(tǒng)的虛位移是一個(gè)無(wú)限小位移δq,它使系統(tǒng)轉(zhuǎn)移到一個(gè)許可形位q′ ∈ M,q′ = q + δq,很顯然δq是虛位移的條件為:當(dāng)且僅當(dāng)它是無(wú)限小的,而且δq ∈ TqM,若系統(tǒng)在形位q處有一個(gè)廣義力Q的作用,則在虛位移δq作用下的虛功為δw = QTδq。
設(shè)M是m維形位流形,對(duì)于拉氏系統(tǒng),又設(shè)V1,…,Vm構(gòu)成系統(tǒng)的m個(gè)線性獨(dú)立的矢量場(chǎng),作用在M上,于是每個(gè)換拉子或李括號(hào)可表達(dá)為:
的確,這些系數(shù)容易在局部坐標(biāo)系中計(jì)算,定義:
設(shè)q(t):[t1,t2]→M是一個(gè)光滑軌跡,則q(t)定義了在點(diǎn)q(t) ∈ M處軌跡的切向量,所以我們總是能夠?qū)(t)表達(dá)為切向量vi的線性組合(i=1,2,…,m)
在局部坐標(biāo)中,m維流形上的矢量場(chǎng)可以想象為m維列向量,余矢量場(chǎng)為m維列向量,用這種辦法來(lái)計(jì)算,其中:
變量p稱為偽速度。由于這些量是“速度”,我們或許試圖將它們與一組坐標(biāo)π聯(lián)系起來(lái),使? 成立,但這并不能總是得到保證,考察(4),有:
δπ = U(q)δp
但是實(shí)際上,右手邊(每個(gè)δπi)不總是可微的(應(yīng)為積分)。
2? 樹(shù)形拓?fù)浣Y(jié)構(gòu)描述
一個(gè)多體系統(tǒng)可以視為潛在的樹(shù)結(jié)構(gòu),附加的代數(shù)或微分約束方程。描述MBS樹(shù)和數(shù)據(jù)結(jié)構(gòu),則展示如何計(jì)算樹(shù)中任意位置在參考系中的形位坐標(biāo)和速度,一個(gè)樹(shù)定義為一組鏈,每個(gè)鏈?zhǔn)加诟鶆傮w。帶有閉環(huán)的系統(tǒng)可由樹(shù)系統(tǒng)加上約束實(shí)現(xiàn),一個(gè)樹(shù)有n的剛體和n個(gè)關(guān)節(jié)組成,每個(gè)系統(tǒng)包括基架參考坐標(biāo)系,它由體“O”來(lái)定義,否則體和鉸可以任意編號(hào)。
獨(dú)立數(shù)據(jù)體的結(jié)構(gòu)描述如下,關(guān)節(jié)和體由他們?cè)跀?shù)據(jù)列表中的位置隱含地編號(hào),每個(gè)物體包含一個(gè)唯一的“向內(nèi)的”接點(diǎn)(in board node),對(duì)應(yīng)于(外邊的)關(guān)節(jié),經(jīng)過(guò)此關(guān)節(jié),該物體與樹(shù)的內(nèi)部分支聯(lián)系起來(lái),或聯(lián)到根上去(體O),每個(gè)物體也可能包含“向外的”接點(diǎn)(outboard nodes),這些向外的接點(diǎn)區(qū)分了體的地址(locations),這些地址可能與關(guān)節(jié)地址(關(guān)節(jié)的向內(nèi)邊)有關(guān),或與傳感器地址有關(guān),或與外部作用點(diǎn)有關(guān),或任意其他作用點(diǎn)有關(guān)。既然一個(gè)關(guān)節(jié)把樹(shù)連接到根(根的接點(diǎn)視為體O的外向接點(diǎn)),則必然有n-1個(gè)外向接點(diǎn),存在于n個(gè)物體上,對(duì)應(yīng)于余下n-1的個(gè)關(guān)節(jié),這些就是n個(gè)向外的接點(diǎn)。向外關(guān)節(jié)接點(diǎn)必然依1到n的次序進(jìn)行編號(hào),且對(duì)應(yīng)于相應(yīng)的關(guān)節(jié)序號(hào),特定與關(guān)節(jié)有關(guān)的序號(hào)不是基本的,但是通常根接點(diǎn)的序號(hào)被賦予序號(hào)1,而余下的外向接點(diǎn)可以任意編號(hào),向內(nèi)接點(diǎn)不必分配序號(hào)[8,9]。
一個(gè)樹(shù)由一組鏈組成,如一個(gè)樹(shù):0,1,2,4;0,1,2,3,5;0,1,2,3,6。所有的鏈皆從0號(hào)剛體開(kāi)始,因此不必將它列入。不過(guò)體序列本身不足以定義一個(gè)樹(shù),例如體5和6皆連到了體3上,但是她們通過(guò)不同的鉸連上去。此中信息由定義每個(gè)鏈為一組有序列表來(lái)提供;每組包含一個(gè)體和它的向內(nèi)鉸接點(diǎn),即{向內(nèi)鉸好,體號(hào)}。例如下述三鏈:{{1,1},{2,2},{5,4}};{{1,1},{2,2},{3,3},{4,5}};{{1,1},{2,2},{3,3},{6,6}};鏈1包含了體1,2,4;體1通過(guò)鉸1連到參考系,體2通過(guò)鉸2連到體1,體4通過(guò)鉸5連到體4,數(shù)據(jù)表明體5在鉸4處連到了體3(鉸4在第二條鏈上),體6通過(guò)鉸6(在第三條鏈上)連到體3上。
以圖1所示的樹(shù)形多體系統(tǒng)為例,對(duì)多體系統(tǒng)的各種拓?fù)浣Y(jié)構(gòu)描述方法進(jìn)行比較。首先,利用羅伯森和維騰堡首先提出利用圖論的方法,建立其關(guān)聯(lián)矩陣S和通路矩陣T分別為:
根據(jù)文獻(xiàn)[10]方法,建立圖1系統(tǒng)的低序體陣列見(jiàn)表1。
根據(jù)空間算子代數(shù)標(biāo)號(hào)規(guī)則[11],將圖1系統(tǒng)進(jìn)行重行標(biāo)號(hào)(如圖2所示),對(duì)于分枝的編號(hào)L1,…,Ll各分枝中體的編號(hào)遵照規(guī)則標(biāo)號(hào)與關(guān)聯(lián)矩陣方法恰好相反,即內(nèi)側(cè)分枝號(hào)及體編號(hào)大于外側(cè)分枝及體編號(hào)。建立其移位算子為:
其中,,。
考察由k+1各剛體組成的單鏈,通過(guò)關(guān)節(jié)連接起來(lái),如圖3和4所示,體由0到k的序號(hào)編號(hào),0表示參考剛體,同時(shí)表示任意常規(guī)的慣性參考系,第k號(hào)關(guān)節(jié)將k-1剛體在點(diǎn)Ok-1與k號(hào)剛體在點(diǎn)Ok點(diǎn)聯(lián)系起來(lái)。
圖3? 由k+1個(gè)剛體組成序號(hào)從0到k的k關(guān)節(jié),序號(hào)從1到k的單鏈MBS
圖4? 在任意k號(hào)連桿上,向內(nèi)向外關(guān)節(jié)鉸接點(diǎn)定義為Ok和Ck,體固聯(lián)坐標(biāo)系以O(shè)k為其原點(diǎn)
設(shè)F k表示固定在體上的參考系,以O(shè)k為其原點(diǎn),rCOk表示從Ok到Ck的矢量,r k表示Ok到Ok+1的矢量,皆定義在F k中,我們將采用坐標(biāo)的特別說(shuō)明,在其中表示矢量,或者在切空間中描述,以上標(biāo)加以“k”標(biāo)識(shí),而與坐標(biāo)無(wú)關(guān)就不加任何上標(biāo)。有時(shí)需要應(yīng)用一個(gè)固定在體k的坐標(biāo)系,系由F k平移,但是以Pk點(diǎn)而不是Ok點(diǎn)為其原點(diǎn),此時(shí)我們采用Fpkk的記號(hào),設(shè)rpok定義了從O到P的矢量,它也是F k中的矢量,則從F k到FPKk的平移變換產(chǎn)生形位矩陣:
第k個(gè)中關(guān)節(jié)有nk,1≤nk≤6個(gè)自由度,它們通過(guò)nk個(gè)坐標(biāo)q(k)以及相應(yīng)的nk個(gè)偽速度β(k)以及一個(gè)形位矩陣Xk[q(k)],希望計(jì)算一個(gè)參考系的歐幾里得形位矩陣,該系固定在最后一個(gè)剛體上,以末端接點(diǎn)為其原點(diǎn),例如:圖4的系統(tǒng)可以有5個(gè)接點(diǎn),我們可以得到相對(duì)于定向空間坐標(biāo)系的形位:
關(guān)節(jié)1的作用→移動(dòng)到C1→…→關(guān)節(jié)k的作用→移動(dòng)到Pk:
式(8)可被修正,用來(lái)計(jì)算,鏈或樹(shù)中不同體坐標(biāo)系下任意兩個(gè)接點(diǎn)的形位,為了使之對(duì)樹(shù)適用這個(gè)計(jì)算需要一個(gè)簡(jiǎn)單程序來(lái)找出聯(lián)系兩個(gè)接點(diǎn)的鏈。
3? 效率動(dòng)力學(xué)建模
一般情況下,多體系統(tǒng)可視為潛在的樹(shù)結(jié)構(gòu),其上可附加作用有代數(shù)的和(或)微分的約束。樹(shù)形系統(tǒng)都是由一組鏈組成,本部分通過(guò)鏈?zhǔn)较到y(tǒng)來(lái)說(shuō)明通過(guò)龐卡萊方程建立高效率動(dòng)力學(xué)方程的過(guò)程,可進(jìn)一步擴(kuò)展到樹(shù)形系統(tǒng)。建立拉格朗日方程及龐卡來(lái)方程的關(guān)鍵是建立動(dòng)能函數(shù),首先根據(jù)空間算子代數(shù)理論[12],以n個(gè)連桿的串聯(lián)機(jī)械臂(如圖5所示)為例,得到空間速度的遞推關(guān)系如下。
圖5中k+1個(gè)物體組成的鏈,Rordriguez定義了C點(diǎn)的空間速度,在以C為其原點(diǎn)的坐標(biāo)系下,Vc = [ω,vc],vc表示C點(diǎn)的速度,ω表示連桿的角速度,設(shè)O為同一物體上的另一點(diǎn),rCO表示C對(duì)于O在體坐標(biāo)系中的位置,則C點(diǎn)的空間速度對(duì)于O點(diǎn)的速度存在關(guān)系:
其中:。
其轉(zhuǎn)置:
關(guān)節(jié)k的關(guān)節(jié)映射矩陣H(k) ∈ R6×nk,故:
于是,對(duì)(10)到(12)的重復(fù)導(dǎo)致了如下速度遞推關(guān)系,將其在坐標(biāo)說(shuō)明(coordinate specific notation)中表示:
式中,上標(biāo)i表示第i坐標(biāo)系,假定H(k),β(k)定義在F k坐標(biāo)系中,而V(k-1)在F k-1坐標(biāo)系中計(jì)算,于是容易在k坐標(biāo)系中計(jì)算出V(k):
若V 0(0)給定,則(14)使我們能夠作遞推計(jì)算,對(duì)于k = 1…k,遞推計(jì)算出F k原點(diǎn)的速度,以及其角速度,它們二者在F k坐標(biāo)系中的表示,隨后我們?cè)O(shè)V 0(0) = 0。有點(diǎn)濫用說(shuō)明,容易定義:
則式(15)改寫為式(16):
考慮第k個(gè)剛體連桿,設(shè)Icm(k)表示其關(guān)于質(zhì)心在坐標(biāo)系F k下的慣量張量,m(k)表示質(zhì)量,a(k)表示從質(zhì)心到任意點(diǎn)O的位置矢量關(guān)于質(zhì)心的空間慣量,MCM,對(duì)于O,MO為:
式中:IO是對(duì)于O的慣性張量。
空間速度和空間慣性矩陣,由此對(duì)于整個(gè)鏈而言,就容易方便地構(gòu)造出來(lái),定義空間速度和關(guān)節(jié)偽速度:
V = [V T(1),…,V T(n)],β = [β T(1),…,β T(n)](18)
因此得到:
其中:
由連桿1到n組成鏈的動(dòng)能函數(shù)為:
其中,,。
為:
通過(guò)上述定義和構(gòu)造得出偽速度形式的動(dòng)能函數(shù):
因此,得到簡(jiǎn)化形式的龐卡方程為:
其中:,,。
u(q)表示勢(shì)能函數(shù),Qp表示偽速度坐標(biāo)系下的廣義力,與拉氏方程相比龐卡萊方程有重要的優(yōu)點(diǎn),一個(gè)明顯又實(shí)際的是慣量矩陣相對(duì)簡(jiǎn)單,并且拉氏方程本質(zhì)上構(gòu)造了一個(gè)局部表示,無(wú)論對(duì)于何種局部坐標(biāo),而龐卡萊方程可以導(dǎo)致一個(gè)動(dòng)力學(xué)的全局描述。
4? 算例:數(shù)值計(jì)算
各連桿坐標(biāo)系如圖6所示,系統(tǒng)的Denavit-Hartenberg參數(shù)列表如表2所示。
假設(shè)各桿件質(zhì)量分別m1 = 2.1 kg,m2 = 2.5 kg,m3 = 3.0 kg,L1 = 2.1 m,L2 = 2.5 m,L3 = 3.0 m,假設(shè)沒(méi)有外力矩情況下,仿真得到各關(guān)節(jié)角度及偽速度變化曲線如圖7。
5? 結(jié)? 論
偽速度的引入導(dǎo)致了拉氏方程的廣義化,使得通過(guò)歐拉-龐卡萊方程建立多體系統(tǒng)的動(dòng)力學(xué)模型,實(shí)現(xiàn)了動(dòng)力學(xué)的全局描述。并且其慣量矩陣相對(duì)簡(jiǎn)單,對(duì)于完整或非完整約束系統(tǒng)都適用。將空間算子代數(shù)中的移位算子引入動(dòng)能函數(shù)的計(jì)算,提高了效率,同時(shí),避免了重復(fù)計(jì)算、交叉運(yùn)算。最后給出了算例及仿真結(jié)果。
參考文獻(xiàn):
[1] EMELYANOV S V,KOROVIN S K,LEVANTOVSKY L V. A Drift Algorithm in Control of Uncertain Process [J].Problems of Control and Information Theory,1986,15(6):425-438.
[2] YONG K D,KWATNY H G. Variable Structure Servomehanism and its Applicationto Overspeed Protection Control [J].Automatica,1982,18(4):385-400.
[3] MARINO R. High Gain Feedback NonLinear Control System [J].International Joural of Control,1985,42(6):1369-1385.
[4] KWATNY H G. Variable Structure of AC Drives [M].Variable Structure Control for Robotics Aerospace Applicatons,Amsterdam:Elsevier,1993.
[5] YOUNG K K,KOKOTOVIC P,UTKIN V. A singular perturbation analysis of high-gain feedback systems [J].IEEE Transactions on Automatic Control,1977,22(6):931-938.
[6] SLOTIONE J J,SASTRY S S. Tracking Control of Nonlinear Systems Using Sliding Surfaces,With Application to Robot Manipulators [J].Internatonal Journal of Control,1983.38(2):465-492.
[7] JIAN A,RODRIGUEZ G. Computational robot dynamics using spatial operators [C]//IEEE International Conference on Robotics and Automation.San Francisco,IEEE,2000:843-849.
[8] FEATHERSTONE R. Efficient Factorization of the Joint-Space Inertia Matrix for Branched Kinematic Trees [J].The International Journal of Robotics Research,2005,24(6):487-500.
[9] 劉延柱,洪嘉振,揚(yáng)海興.多剛體動(dòng)力學(xué) [M].北京:高等教育出版社,1989.
[10] 馬霞,張晉珠,李燦,等.應(yīng)用R軟件的ARIMA模型教學(xué)案例設(shè)計(jì) [J].福建電腦,2022,38(11):113-117.
[11] RODRIGUEZ G,JIAN A,KREUTZ-DELGADO K. Spatial Operator Algebra for multibody system dynamics [J].Journal of the Astronautical Sciences,1992,40:27-50.
[12] FEATHERSTONE R. Robot Dynamics Algorithms [M].New York:Springer,1987.
作者簡(jiǎn)介:郝永江(1978—),男,漢族,山東牟平人,中級(jí)工程師,博士研究生,研究方向:機(jī)械控制;李炳志(1980—),男,漢族,山東德州人,工程師,碩士研究生,研究方向:汽車電子;王爽(1999—),男,漢族,江蘇宿遷人,碩士研究生在讀,研究方向:視覺(jué)SLAM。