資源描述:
《剛體動(dòng)力學(xué)(rigidbodydynamics)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、剛體動(dòng)力學(xué)(RigidBodyDynamics)任程本文的內(nèi)容由作者翻譯整理了BrianVincentMirtich博士畢業(yè)論文“Impulse-baseddynamicsimulationofrigidbodysystems,1996”的附錄而來。本文并不系統(tǒng)講解剛體動(dòng)力學(xué),卻旨在提綱挈領(lǐng)的講解在學(xué)習(xí)剛體動(dòng)力學(xué)(RigidBodyDynamics)的過程中的幾個(gè)十分關(guān)鍵的問題。其中第1節(jié)介紹向量、矩陣在不同坐標(biāo)系間的轉(zhuǎn)換及其作用,第2節(jié)介紹用矩陣表示的向量叉積并利用其表述矩陣的求導(dǎo)運(yùn)算,第3節(jié)利用1、2節(jié)的內(nèi)容進(jìn)一
2、步導(dǎo)出實(shí)用的動(dòng)力學(xué)公式,說明了為何物理書中的剛體動(dòng)力學(xué)公式形式有τ()tt?I??()和τ()tttt???Iα()?()I?()兩種情形,而在實(shí)際情況(如機(jī)器人領(lǐng)域、計(jì)算機(jī)圖形與動(dòng)畫領(lǐng)域)中使用的經(jīng)常為τ()tttt?Iα()???()I?()。閱讀本文前您需要已經(jīng)具備最基本的向量、矩陣的知識(shí),并已經(jīng)知道基本的牛頓力學(xué)定律Fa?m。1.向量、矩陣、坐標(biāo)系本文中,一個(gè)坐標(biāo)系指右手方向的三維坐標(biāo)系,其三個(gè)基準(zhǔn)軸向量i,,jk相互正交,滿足i??jk。我們經(jīng)常要將某向量在一個(gè)坐標(biāo)系下的坐標(biāo)轉(zhuǎn)換到另一個(gè)坐標(biāo)系下。例如對于一
3、個(gè)向量v,設(shè)31?列向量v表示其在坐標(biāo)系F(坐標(biāo)系常以大寫斜體字母表f示)下的坐標(biāo),31?列向量v表示其在坐標(biāo)系G下的坐標(biāo)。如果我們以三個(gè)31?g列向量rrr,,分別表示坐標(biāo)系F的基準(zhǔn)軸ijk,,在坐標(biāo)系G下的坐標(biāo)。則有坐標(biāo)轉(zhuǎn)xyz換公式:vrrr????vRvg??xyzff其中33?的矩陣R為一個(gè)旋轉(zhuǎn)矩陣,它將向量v在坐標(biāo)系F下的坐標(biāo)轉(zhuǎn)換為其在坐標(biāo)系G下的坐標(biāo),此后本文中將稱R為“由坐標(biāo)系F到坐標(biāo)系G的旋轉(zhuǎn)矩陣”。一個(gè)旋轉(zhuǎn)矩陣的各個(gè)列向量為單位向量(即長度為1),且相互正交。此矩陣的各個(gè)行向量同樣亦是如此。矩陣R
4、的行列式(determinant)為1,且R的一個(gè)重要且十分常用的特征為?1TRR?(1.1)?1式(1.1)在被廣泛應(yīng)用于快速計(jì)算R。除向量外,矩陣也經(jīng)常要被變換到不同坐標(biāo)系中以能夠作用于不同坐標(biāo)系下的向量坐標(biāo)。例如,設(shè)向量?和向量L分別表示一個(gè)剛體“在相對于附著在其自身的局部坐標(biāo)系下”的角速度(angularvelocity)和角動(dòng)量(angularmomentum),則?和L的關(guān)系為LI??其中I為一個(gè)33?的質(zhì)量矩陣(massmatrix)。對于如何得到公式LI??,及慣量I的表示請參看相關(guān)力學(xué)書籍,或者參看
5、OnlineSiggraph2001CourseNotes:“Physicallybasedmodeling”中RigidBodyDynamics一節(jié):http://www.pixar.com/companyinfo/research/pbm2001/現(xiàn)假設(shè)角速度和角動(dòng)量被表示在另一個(gè)坐標(biāo)系下,例如表示在空間中始終固定的全局坐標(biāo)系下。設(shè)?和L分別為角速度和角動(dòng)量在全局坐標(biāo)系下的坐標(biāo),則此oo時(shí)這兩個(gè)向量通過一個(gè)矩陣I相聯(lián)系,即LI??oooo則一個(gè)重要的關(guān)系式為:TIR?IR(1.2)o其中R是由剛體局部坐標(biāo)系到全局
6、坐標(biāo)系的旋轉(zhuǎn)矩陣。I如同I一樣代表著相同的映射關(guān)系,由I和?得到的角動(dòng)量L與由I和?得oooo到的角動(dòng)量L相似,只是表示在不同的坐標(biāo)系下:LI??oooT?()RIR()R??RI??RL2.用矩陣表示向量叉積(crossproducts)3在一個(gè)向量空間?,兩個(gè)向量進(jìn)行叉積()?可以得到另外一個(gè)向量:?abab??yzzy??ab??ab?ab(2.1)?zxxz??ab?ab??xyyx?式(2.1)可以用另一種方式表示:abab???其中a?是一個(gè)33?的斜對稱矩陣:??0?aazy??a???aa0??zx?
7、??aa0??yx斜對稱矩陣指矩陣具有性質(zhì):Taa????在動(dòng)力學(xué)的公式表述中以矩陣的方式來表示向量叉積經(jīng)常很有用。設(shè)a?表示在坐標(biāo)系F下“被向量a施加叉積”的運(yùn)算,a?表示在坐標(biāo)系G下FG“被向量a施加叉積”的運(yùn)算。如果R是由坐標(biāo)系F到坐標(biāo)系G旋轉(zhuǎn)矩陣,則運(yùn)算a?與a?的關(guān)系為:FGTaR???aR(2.2)GFa?與a?的不同僅在于它們作用于不同坐標(biāo)系下。GF矩陣求導(dǎo):叉積矩陣提供了一個(gè)很方便的渠道來表述一個(gè)矩陣的導(dǎo)數(shù)。設(shè)坐標(biāo)系B相對于一個(gè)慣性坐標(biāo)系O進(jìn)行旋轉(zhuǎn),角速度為?()t,旋轉(zhuǎn)矩陣R()t為由坐標(biāo)系B到坐標(biāo)
8、系O的旋轉(zhuǎn)矩陣。如果?()t是角速度?()t在坐標(biāo)系O下的坐o標(biāo),?()t是角速度?()t在坐標(biāo)系B下的坐標(biāo),則有矩陣的導(dǎo)數(shù):bRR????o(2.3)RR????b證明:設(shè)r為固定在坐標(biāo)系B中的一個(gè)向量,它隨坐標(biāo)系B一起在全局坐標(biāo)框架O下旋轉(zhuǎn)。以r和r分別表示r在坐標(biāo)系O和坐標(biāo)系B下的坐標(biāo)。則計(jì)算導(dǎo)數(shù)r?obo有幾種方式:rR????d()r