两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

樹狀結構鏈接系統(tǒng)的姿態(tài)和動作的產生方法

文檔序號:6585705閱讀:667來源:國知局
專利名稱:樹狀結構鏈接系統(tǒng)的姿態(tài)和動作的產生方法
技術領域
本發(fā)明涉及一種樹狀結構鏈接系統(tǒng)的姿態(tài)和動作的產生方法,所述樹狀結構鏈接系統(tǒng)是通過模擬人、動物、機器人等而制成的并且包括多個在接頭處連接的鏈節(jié)。
背景技術
一種常規(guī)的產生表現(xiàn)人、動物等動作(出現(xiàn)在CG動畫、電影作品、游戲等中)的數(shù)據(jù)以及表現(xiàn)具有多個接頭的機器人(諸如人形機器人)的動作的數(shù)據(jù)的技術被披露在下列文獻中(1)Choi,K.J and Ko,H.S.“Online Motion Retargetting,”the Journal of Visualization andComputer Animation,vol.11,pp.223-235,2000;(2)Gleicher,M.And Litwinowicz,P.“Constraint-based Motion Adaptation,”the Journal of Visualization and Computer Animation,vol.9,pp.65-94,1998;(3)Lee,J.And Shin,S.Y.“A HierarchicalApproach to Interactive Motion Editing for Human-like Figures,”Proceedings of SIGGRAPH′99,pp.39-48,1999等。所有這些文獻都是關于這樣的技術,即,通過優(yōu)化計算來計算滿足約束條件的動作(諸如一條腿不在地面上滑動等)以便將先前獲得的動作捕捉數(shù)據(jù)提供給各種鏈節(jié)長度等互不相同的人形樹狀結構鏈接系統(tǒng)或者制作一個新的動作并將該動作的特征存儲起來。
在上述文獻(1)中所披露的技術中,計算動作以便在使端部鏈節(jié)的位置固定的同時使每一個接頭角度分別盡可能地接近一個給定的目標值。在上述文獻(2)中所披露的技術中,通過大范圍優(yōu)化來計算符合約束條件的動作以使約束條件在整個動作中趨于平滑。在上述文獻(3)中所披露的技術中,利用分級樣條函數(shù)表示約束條件,從而在滿足約束條件的同時能夠改變身體中的一部分的姿態(tài)。例如對于參考文獻(2)的技術,能夠對整個動作進行優(yōu)化計算。
對于參考文獻(1)、(2)和(3)的技術,需要諸如動作捕捉數(shù)據(jù)的參考動作。盡管動作捕捉的費用與前者相比減少了并且捕捉數(shù)據(jù)的數(shù)據(jù)庫逐漸能夠在市場上得到,但是存在著這樣的缺點,即,無論什么時候需要沒有包括在數(shù)據(jù)庫中的動作,都必須捕捉新的動作,由相同數(shù)據(jù)庫制作的動作是相似的,并且對所希望得到的動作進行調整需要很多時間和很大努力。
對于參考文獻(2)和(3)的技術,存在著這樣一個缺點,即,由于采用大范圍優(yōu)化計算,因此它不能用于順序地輸入到實時或者交互式動作的產生中。
對于參考文獻(1)的技術,存在著這樣一個缺點,即,如果約束條件被加入到除了端部鏈節(jié)以外的鏈節(jié),那么計算結果可能會出現(xiàn)偏差。另外,還存在著這樣一個缺點,即,如果將固定多個鏈節(jié),那么不能獲得這種計算結果。
市售的CG軟件包括一個用于限定鏈接結構目標的端部鏈節(jié)位置以制作動畫的界面,它存在著這樣一個缺點,即,難以形成自然的姿態(tài),這是由于它僅能夠計算相當于該樹狀結構鏈接系統(tǒng)的一個分枝的部分鏈節(jié)序列(諸如臂、腿等)的接頭角度,并且不能改變整個樹狀結構鏈接系統(tǒng)的姿態(tài)。
它僅能夠將限定鏈節(jié)序列的端部鏈節(jié)為固定鏈節(jié)。這對于數(shù)值計算是行不通的,這是因為當在多個固定鏈節(jié)之間僅有少量的接頭時在每一個約束條件之間會出現(xiàn)矛盾。
常規(guī)技術中沒有考慮球形接頭的活動范圍。
發(fā)明概述本發(fā)明的一個目的在于,提供一種樹狀結構鏈接系統(tǒng)的姿態(tài)和動作的產生方法,該方法能夠克服上述常規(guī)技術中的缺陷,即使在沒有諸如動作捕捉數(shù)據(jù)的現(xiàn)有的動作數(shù)據(jù)的情況下也能夠通過確定一個或者多個鏈節(jié)的運動軌跡的方便運算及時地利用多個接頭和多個自由度(例如20個或者更多)使人形的整體產生類似人的動作,或者當存在如動作捕捉數(shù)據(jù)的動作數(shù)據(jù)時通過運算能夠對這些數(shù)據(jù)進行調整并且重新利用這些數(shù)據(jù)。
一種如本發(fā)明權利要求1所述的方法,其特征在于,通過為任何數(shù)量的任何鏈節(jié)設定任何數(shù)量的約束條件或者通過在產生中任意地添加或者刪除約束條件來產生滿足這些約束條件的樹狀結構鏈接系統(tǒng)的姿態(tài)和動作。
一種如本發(fā)明權利要求2所述的方法,其特征在于,所述約束條件包括鏈節(jié)的位置和姿態(tài)以及使這些得到改變的速度和角速度。
一種如本發(fā)明權利要求3所述的方法,其特征在于,所述約束條件包括接頭不超出相應的特定動作范圍。
一種如本發(fā)明權利要求4所述的方法,其特征在于,所述接頭包括具有三個自由度的球形接頭,并且利用一種直觀地表示動作范圍的方法使所述球形接頭不超出它們的動作范圍。
一種如本發(fā)明權利要求5所述的方法,其特征在于,所述約束條件包括使具有所有自由度或者一部分自由度的接頭的接頭值和接頭速度盡可能地接近給定的接頭目標值和給定的接頭目標速度。
一種如本發(fā)明權利要求6所述的方法,其特征在于,根據(jù)與每一個約束條件的理想狀態(tài)之間的誤差考慮一個恢復力來實現(xiàn)所述約束條件。
一種如本發(fā)明權利要求7所述的方法,其特征在于,分別為所述約束條件設定優(yōu)先次序。
一種如本發(fā)明權利要求8所述的方法,其特征在于,利用一種逆向運動學計算來產生樹狀結構鏈接系統(tǒng)的姿態(tài),根據(jù)約束條件的優(yōu)先次序對逆向運動學計算的計算結果的精確度作出要求或者降低要求,并且利用一種奇異點低靈敏性動作分解方法來解決計算結果的奇異點問題。
一種如本發(fā)明權利要求9所述的方法,其特征在于,如果所述樹狀結構鏈接系統(tǒng)具有現(xiàn)有的動作數(shù)據(jù),那么通過在動作過程中的運算在動作鏈節(jié)中添加約束條件或者刪除約束條件。
根據(jù)本發(fā)明,即使沒有諸如動作捕捉數(shù)據(jù)的動作數(shù)據(jù),僅通過計算也能夠產生動作,現(xiàn)有的動作數(shù)據(jù)也可被處理,這是由于沒有執(zhí)行覆蓋整個動作的優(yōu)化,在實時接收輸入的同時能夠產生動作,并且例如通過限定鏈節(jié)的運動軌跡,能夠容易地使諸如一個目標物的動作從某一個位置移動到另一個位置。
根據(jù)權利要求2所述的方法,通過設定固定的鏈節(jié),能夠容易地產生在環(huán)境中受到接觸等約束的動作。
根據(jù)權利要求3或4所述的方法,通過設定接頭活動范圍,能夠防止產生還沒有被制作成人、動物、機器人等的姿態(tài)。另外,可調節(jié)身體的硬度和柔軟度。
根據(jù)權利要求5所述的方法,能夠容易地產生對某一現(xiàn)有動作作出少許改動的動作或者周期性動作。
根據(jù)權利要求6所述的方法,僅通過本地信息即可實現(xiàn)各種約束,并且能夠產生實時交互式的動作。
根據(jù)權利要求7或8所述的方法,可在任何位置設定任何數(shù)量的約束條件,并且即使這些約束條件是矛盾的,也可根據(jù)預先設定的優(yōu)先次序計算適合的動作。
根據(jù)權利要求9所述的方法,如果已經存在動作數(shù)據(jù),那么可通過相同的運算根據(jù)所述動作數(shù)據(jù)制作新的動作。
本發(fā)明能夠應用于CG動畫、電影作品、游戲的產生以及人形機器人的操作等領域。在這些應用領域中,本發(fā)明除了能夠用作獨立的軟件以外,還能夠用作包括任何圖形界面的軟件的計算引擎(calculation engine),以及還可插入到現(xiàn)有的CG軟件中。
在行走動作等的周期性動作中,使每一個周期中的姿態(tài)相同是重要的。這也能夠通過引入接頭目標值來實現(xiàn)。通過設定接頭目標值,如果約束條件給定的鏈節(jié)動作的運動軌跡是周期性的,那么整體的動作也是周期性的。
考慮到上述效果,現(xiàn)在任何人都能夠通過運算容易產生模擬人、動物、機器人等樹狀結構鏈接系統(tǒng)的整體自然動作,而這些整體自然動作通常只能由專業(yè)的動畫處理人員付出大量的時間和工作才能夠獲得或者利用昂貴的設備捕捉真實的人或者動物的動作。另外,由于能夠實時地產生動作,因此對于需要高交互性的領域(例如游戲),可以將本發(fā)明方法用作能夠產生根據(jù)實際情況而作出各種動作的計算引擎。
在機器人領域中,本發(fā)明可用作一種能夠操作具有多個接頭的機器人(諸如人形機器人)的直觀界面。由于這樣一種機器人具有多個必須操作的變量,因此目前用于執(zhí)行交互式操作的界面例如僅限于實現(xiàn)引導機器人行走方向。根據(jù)本發(fā)明,現(xiàn)在可在多種情況下引導機器人的各種動作。
另外,利用上述本發(fā)明所涉及的樹狀結構鏈接系統(tǒng)的姿態(tài)和動作的產生方法還能夠形成兩個或者多個主要構架。因此,本發(fā)明還涉及一種通過在主要構架(諸如主要構架動畫)之間的插值運算產生樹狀結構鏈接系統(tǒng)的一系列動作的方法。
附圖的簡要說明

圖1示出了利用本發(fā)明所涉及的產生動作數(shù)據(jù)的方法所形成的動作數(shù)據(jù)用于人形的一個實施例;圖2示出了實現(xiàn)本發(fā)明所涉及的產生動作數(shù)據(jù)的方法的一個程序的流程圖;圖3示出了本發(fā)明所涉及的產生動作數(shù)據(jù)的方法如何被用于人形;圖4示出了一個球形接頭的接頭活動范圍;圖5以圖表的形式示出了球形接頭的鏈接參數(shù);以及圖6示出了空間投影(ay,az,α)的球形接頭的接頭活動范圍。
優(yōu)選實施例的描述圖1示出了利用本發(fā)明所涉及的樹狀結構鏈接系統(tǒng)的姿態(tài)和動作的產生方法所提供的一個模型的實施例。該人形樹狀結構鏈接系統(tǒng)模型,例如是出現(xiàn)在計算機圖形中的人或者是用于操作具有多個接頭的機器人(諸如人形機器人)的直觀界面的模型。在該模型中,多個鏈節(jié)被連接在具有三個自由度的多個球形接頭和多個具有一個自由度的旋轉接頭處。
執(zhí)行本發(fā)明所涉及的動作數(shù)據(jù)產生方法的系統(tǒng)可用作一個計算引擎或者插入到可在計算機上執(zhí)行的獨立軟件或者其它軟件中。圖2中示出了本發(fā)明所涉及的動作數(shù)據(jù)產生方法的一個流程圖。盡管用于每一個輸入和輸出以及從外部操作的界面的一個示例(作為參考)也包括在該圖中,但是本發(fā)明的范圍是由粗線包圍的部分。
執(zhí)行本發(fā)明所涉及的動作數(shù)據(jù)產生方法的系統(tǒng)順序地包括一個通解(general-solution)/零間隔計算部分(zero-space calculationpart)3、接頭目標速度計算部分4、優(yōu)化計算部分5和積分部分6。
通過點擊作為一個外部界面的鼠標等(14、15),選擇顯示在一個顯示器(未示出)上的樹狀結構鏈接系統(tǒng)中的改變其運動軌跡的鏈節(jié)和固定所有間隔的鏈節(jié),接著輸入一個特定運動軌跡鏈節(jié)選擇數(shù)據(jù)11和固定鏈節(jié)選擇數(shù)據(jù)12。在隨后的數(shù)據(jù)實時產生過程中這些鏈節(jié)也是能夠改變的。特定運動軌跡鏈節(jié)選擇數(shù)據(jù)11被輸入到通解/零間隔計算部分3中。然后,通過移動作為外部界面的鼠標、操縱桿(1)等使被選為改變其運動軌跡的鏈節(jié)的運動軌跡數(shù)據(jù)(2)被輸入到通解/零間隔計算部分3中。通解/零間隔計算部分3計算被限定其運動軌跡的鏈節(jié)在其運動軌跡上移動時的接頭速度的通解以及在不影響鏈節(jié)的運動軌跡的情況下改變接頭速度的間隔(零間隔),接頭速度的通解的計算結果被提供給接頭目標速度計算部分4,并且將零間隔的計算結果提供給優(yōu)化計算部分5。
也將固定鏈節(jié)選擇數(shù)據(jù)12輸入到接頭目標速度計算部分4中。另外,例如利用現(xiàn)有動作數(shù)據(jù)等(13)中的鏈節(jié)位置(13)從現(xiàn)有動作數(shù)據(jù)中輸入要固定的鏈節(jié)的位置數(shù)據(jù)(定位數(shù)據(jù)8)。另外,輸入作為每一個接頭的目標值的接頭目標數(shù)據(jù)9?,F(xiàn)有動作數(shù)據(jù)中的接頭值(13)可用作該數(shù)據(jù)。另外,輸入每一個接頭的活動范圍。接收到上述數(shù)據(jù)的接頭目標速度計算部分4分別計算目前位置和目前固定鏈節(jié)的接頭角度與理想狀態(tài)之間的誤差,計算反饋這些誤差的接頭目標速度并且將結果輸入到優(yōu)化計算部分5中。
接收到接頭目標速度的計算結果的優(yōu)化計算部分5計算在通解/零間隔計算部分3中計算的零間隔中在接頭目標速度計算部分4中可能接近計算的接頭目標速度的一個最佳接頭速度,并將結果提供給積分部分6。
積分部分6對所獲得的接頭速度進行積分以獲得接頭值(jointvalue)數(shù)據(jù)。包含接頭值的時序數(shù)據(jù)和鏈節(jié)位置的時序數(shù)據(jù)的動作數(shù)據(jù)作為輸出數(shù)據(jù)被輸出以存儲在外部文件16中或者以圖形的形式顯示在屏幕17上。
實際動作產生的過程如下選擇所有固定間隔的鏈節(jié)(a,b,c);選擇實時限定其運動軌跡的鏈節(jié)(p);如果需要的話,適當?shù)卦O置接頭活動范圍;以及在動作已經是已知的情況下,在對其復制的同時,利用適合的界面輸入用于限定鏈節(jié)p的運動軌跡以限定其運動軌跡。另外,此時,將在原始動作中的每一時刻的位置提供給固定間隔的鏈節(jié)a,b和c作為被固定的位置并且將在原始動作中的每一時刻的接頭值設為接頭目標值。
此時產生的動作滿足在間隔中的特定位置處固定任何數(shù)量的鏈節(jié)的兩個或者多個約束中的全部或者其中一部分(它包含特定的位置隨著時間改變的情況),接頭角度盡可能地接近目標值(它包含目標值隨著時間改變的情況),并且接頭不會偏離活動范圍等。但是,約束條件不是必須限于這三種,如果它們是能夠以相同的形式表示的約束條件,那么它們可不受限制地合并。
下面將描述本發(fā)明的更具體的實施例。根據(jù)利用本發(fā)明的動作產生軟件,如果使用者適當?shù)剡x擇限定其運動軌跡的鏈節(jié)和固定其位置的鏈節(jié),并且分別設定所述運動軌跡和位置,那么可隨時計算出考慮到接頭目標值、接頭活動范圍等的最佳動作。圖3示出了在這樣的動作產生軟件中的界面的一個實例。這樣一種界面被稱為釘住(pin)/拖動界面。該界面的基本功能使在將由a,b,c和p表示的鏈節(jié)中的一些固定在間隔中的同時,能夠使其它的鏈節(jié)隨著使用者的引導而移動(拖動)。
通過釘住/拖動產生的動作的目的是產生下列的動作(1)被拖動的鏈節(jié)在限定的運動軌跡上移動;(2)被固定的鏈節(jié)被固定在限定的位置處;(3)每一個接頭不偏離活動范圍;以及(4)每一個接頭值盡可能地接近給定的目標值。
這符合強加了多個約束條件的逆向運動學計算,并且顯然對于以解析的方式對其解答是不真實的。另外,嚴格的解答可能是不存在的,這是因為在每一個約束條件之間的矛盾性。例如,如果將鏈節(jié)拖出由固定位置限定的活動范圍,那么同時滿足條件(1)和(2)的解答是不存在的。
在本發(fā)明所涉及的方法的一個實施例中,首先,將雅可比行列式的數(shù)值解方法應用到逆向運動學問題中。另外,為了解決約束條件之間的矛盾,將四個約束條件分為兩個優(yōu)先次序的步驟。將上述四個約束條件中關于拖動鏈節(jié)的約束條件(1)設為較高的優(yōu)先次序,并且在不影響約束條件(1)的零間隔中尋找盡可能滿足其它三個約束條件的解答。因此,如果約束條件(1)與其它約束條件是矛盾的,那么將約束條件(1)設為較高的優(yōu)先次序,不考慮其它的約束條件。
為了應付在約束條件(2)-(4)之間存在矛盾的情況,即當在約束條件(1)的零間隔中尋找最佳解答時出現(xiàn)秩遞減的矩陣的情況,使用奇異點低靈敏性動作分解矩陣(SR-Inverse)(請參考Nakamura andHanafusa,“singular point low sensitivity motion decompositionof a joint form robot arm”Society of Instrument and ControlEngineers papers,453-459頁,1984),該奇異點低靈敏性動作分解矩陣通過使一個誤差接近一個奇異點而不會獲得一個非常大的解。因此,可設定任何數(shù)量的固定鏈節(jié)、任何的活動范圍以及任何的目標值,并且由于如果這些約束條件之間存在矛盾,那么誤差會根據(jù)預定的權重來分布,因此不會輸出一個不自然的動作。另外,結合對利用SR-Inverse所形成的誤差進行反饋的控制器以便在消除矛盾的情況下,它能夠返回到滿足約束條件的姿態(tài)。
關于樹狀結構鏈接系統(tǒng)的接頭值的鏈節(jié)i的位置的雅可比被定為下列形式Ji≡∂ri∂θ---(1)]]>其中ri是鏈節(jié)i的位置,θ為調整樹狀結構鏈接系統(tǒng)的接頭值的一個矢量,以及Ji是鏈節(jié)i關于θ的位置的雅可比。對于有效地計算雅可比行列式的方法請參見例如,D.E.Orin and W.W.Schrader,“E fficient Computation of the Jacobin for Robot Manipulators”International Journal of Robotics Research,vol.3,No.4,PP.66-75,1987。以下列形式利用雅可比行列式表示鏈節(jié)i和接頭速度之間的關系r.i=Jiθ.---(2).]]>作為用于計算諸如人、動物、機器人等的樹狀結構鏈接系統(tǒng)的每一個鏈節(jié)的標準的鏈節(jié)被稱為路由鏈節(jié)(route link)。如果該路由鏈節(jié)沒有被固定到慣性坐標系,那么其位移速度和角速度也被包含在 中。如果Ji是一個正方形規(guī)則矩陣,那么接頭速度可通過下列等式從鏈節(jié)i的速度中獲得θ.=Ji-1r.i---(3).]]>但是,由于諸如人、動物、機器人等的樹狀結構鏈接系統(tǒng)通常具有30個或者更多的自由度,因此Ji不是正方形的并且具有冗余。在這種情況下,利用一個偽逆矩陣Ji#以下列形式表示等式(2)的通解θ.=Ji#r.i+(E-Ji#Ji)y---(4)]]>其中E是單位矩陣,而y是一個任意矢量。等式(4)的右手邊的第二個項利用冗余表示零間隔,并且利用其能夠在不改變鏈節(jié)i的速度的情況下尋找滿足其它約束條件的解。
下面將對本發(fā)明所涉及的方法的一個實施例中的用于產生動作的計算進行描述。首先,計算在被拖動的鏈節(jié)可移動到限定位置處時的接頭速度的通解。計算被拖動的鏈節(jié)遵循被限定的運動軌跡的位置rpref和速度 的 的通解。如果rp是被拖動的鏈節(jié)的當前位置,利用下列等式計算考慮到反饋的目標速度r.pref=r.pref+Kp(rpref-rp)---(5)]]>其中Kp是正定增益矩陣,利用關于被拖動的鏈節(jié)位置的接頭值的雅可比行列式Jp以下列形式表示 和 之間的關系r.p=Jpθ.---(6).]]>利用下列等式計算實現(xiàn)目標速度rpd的接頭速度 的通解θ.=Jp#r.pd+(E-Jp#Jp)y---(7).]]>這里執(zhí)行反饋控制以補償積分誤差。另外,如果利用加權的偽逆矩陣代替正常的偽逆矩陣,那么可調節(jié)“硬度”,即,可調節(jié)每一個接頭的移動的難易程度。
現(xiàn)將描述關于其它約束條件的計算。等式(7)被重新寫成θ.=θ.0+Wy---(8)]]>其中W三E-Jp#Jp以及θ.0≡Jp#rpd..]]>假設具有Nf被固定的鏈節(jié),并且這些位置是用rFi(i=1,…,NF)表示。另外,假設具有ND被設定接頭目標值的鏈節(jié),并且這些接頭目標值用θD表示。假設,NL接頭超出活動范圍,并且這些接頭值用θL表示。NL可在任何時間的動作過程中改變。利用這些以下列形式限定一個矢量PauxPaux≡(rF1T…rFNFTθDTθLT)T(9) 和接頭速度 之間的下列關系與等式(2)類似p.aux=Jauxθ.---(10).]]>下面描述Jaux的計算。任意矢量y的計算如下。首先,利用下面描述的一種方法計算Paux的目標速度Pauxd。被等式(8)代入到等式(10)中獲得一個結果p.aux=p.aux0+JauxWy---(11)]]>其中Paux0.≡Jauxθ.0.]]>利用S≡JauxWy以及ΔPaux.≡Pauxd.-Paux0.]]>以將等式(11)改變?yōu)橄铝泻唵涡问降牡仁絊y=Δp.aux---(12)]]>由于S不必使?jié)M秩,利用SR-Inverse以解該等式。如果S的SR-Inverse被表示為S*,那么y被計算為y=S*Δp.aux---(13)]]>通過將等式(13)代入到等式(8)中可獲得接頭速度 ,并且通過對其進行積分能夠得到每一個構架的接頭角度數(shù)據(jù)。
對上述Jaux的計算進行描述。如果對于固定的鏈節(jié),關于rFi的接頭值的雅可比行列式用JFi(i=1,…,NF)表示,那么它將保持下列關系r.Fi=JFiθ.---(14).]]>對于接頭目標值是已知的接頭,其速度 和 之間的關系用下列形式表示θ.D=JDθ.---(15)]]>其中JD是一個矩陣,如果θD的第i個接頭與θ的第j個接頭相對應,那么第(i,j)個元素如果不是0就是1。類似地,θL的速度和 之間的關系用下列形式表示θ.L=JLθ.---(16)]]>其中JL是一個矩陣,如果θL的第i個接頭與θ的第j個接頭相對應,那么第(i,j)個元素如果不是0就是1。上述矩陣相加,Jaux成為了Jaux=JFi...JFNFJDJL---(17)]]>下面對與JFi、Jp和JL的球形接頭對應的部分進行描述。
現(xiàn)對上述Pauxd的計算進行描述。利用下列等式計算固定的鏈節(jié)的目標速度 r.Fid=KFi(rFiref-rFi)---(18)]]>其中rFiref是固定鏈節(jié)的位置并且KFi是正定增益矩陣。設定接頭目標值的目標速度 的計算如下θ.Dd=KD(θDref-θD)---(19)]]>其中θDref是設定接頭目標值的一個矢量并且KD是一個正定增益矩陣。超出活動范圍的接頭的目標速度計算如下 其中θLimax和θLimin分別是接頭角度的最大值和最小值,而KIi是一個正定增益函數(shù)。等式(19)和(20)僅可用于一個自由度的接頭。現(xiàn)將對球形接頭的處理進行描述。
首先,描述球形接頭的接頭目標值。接頭值Ri和接頭速度ωi分別是由一個3×3的旋轉矩陣和其角速度限定的。當為球形接頭設定接頭目標值RDI∈R3×3時,以下列方式獲得目標速度。首先,計算一個誤差矢量eiei=12ΔRi(1,2)-ΔRi(2,3)ΔRi(1,3)-ΔRi(3,1)ΔRi(2,1)-ΔRi(3,2)---(21)]]>ΔRi≡RDiRiT(22)其中ΔRi(m,n)是ΔRi的第(m,n)個元素。隨后,計算目標角速度ωDidωDid=-KDiei(23)其中KD1是一個正定增益矩陣。對于球形接頭,利用等式(21)-(23)代替等式(19)。對應于球形接頭的成為JFi、JD和JL的一部分的雅可比行列式包括三列,每一列分別對應于繞x,y和z的轉動。并且可象對中在相應方向上的旋轉接頭那樣分別對每一列進行計算。
接著,描述球形接頭的接頭活動范圍。由于球形接頭具有三個自由度,活動范圍被表示為在三維空間中的范圍。盡管具有各種表示這種姿態(tài)的方法,但是重要的是,選擇一種適于提高計算速度的方法。例如,如果通常利用歐拉角表示這種姿態(tài),由于是非線性的,因此活動范圍成為了一種非常復雜的形式,并且從而使計算速度降低。這里,將描述如何表示球形接頭的活動范圍以使其容易直觀地理解。如圖4中所示,總共利用三個參數(shù)表示球形接頭的活動范圍,其中兩個參數(shù)表示鏈節(jié)的方向,而另外一個表示鏈節(jié)的扭轉角。當Ri是一個單位矩陣時,利用一個單位矢量di0表示鏈節(jié)的方向。通過使di0圍繞包含在一個垂直于di0的平面中的矢量ai來獲得鏈節(jié)的實際方向di,如圖5中所示。ai的長度為sin(γi/2),其中旋轉角為γi。扭轉角α被定義為所需的旋轉角以使Ri與從單位矩陣的狀態(tài)下使Ri圍繞ai轉動所得到的框架一致??紤]到上述環(huán)境,由球形接頭所得到的所有姿態(tài)可包括在一個以di0為中心的圓柱形中,其中半徑為1并且高度為2π。在該實施例中,假設對于所有的球形接頭,di0=(100)T,因此ai包含在yz平面中。即,它被表示為ai=(0ayaz)T。因此,活動范圍變成了一個圓柱形,如圖6中所示,該圓柱形具有一個在(ay,az,α)空間中的平行于α軸線的軸線。ay,az,和α的計算如下。由于di0=(100)T,因此di為di=Ridi0=(Ri(1,1)Ri(2,1)Ri(3,1))T(24)因此,所獲得的ay和az如下ay=Ri(3,1)2(1+Ri(1,1))---(25)]]>以及az=Ri(2,1)2(1+Ri(1,1))---(26)]]>由于在圍繞ai轉動后的坐標系對應于Ri的x軸,分別根據(jù)y軸和z軸上的角度獲得扭轉角α。盡管等式(25)和(26)在γi=±π時成為了一個奇異點,這是由于它通常在活動范圍外,因此它在實施時不會成為一個問題。
如果能夠獲得對應于一個特定姿態(tài)的三個參數(shù),那么接著確定它是否在活動范圍內。如圖6中所示,通過將活動范圍表示為一個柱形多面體可進行有效的計算。在該實施例中,利用一組三角表示在ay-az平面中的活動范圍,并且利用三角的每一個尖的上限值和下限值表示扭轉角α的活動范圍。對于這樣一種形式,以下列方式判斷其是否在活動范圍內。首先,如果尋找包含(ay,az,0)的三角并且沒有發(fā)現(xiàn)該三角,那么判斷其在活動范圍之外。如果發(fā)現(xiàn)了這樣一個三角,那么判斷(ay,az,α)是否在上限和下限之間。如果確定其在活動范圍之外,那么計算在活動范圍內使其返回的接頭目標速度。為此,預先為每一個球形接頭設定標準姿態(tài)Rsi,并且計算朝向Rsi時目標角速度ωLi。分別利用Rsi代替到等式(22)中的Rdi并且利用ωLi代替等式(23)中的ωDi。
在上述實施例中,假設固定鏈節(jié)的位置和接頭目標值是不隨時間改變的。但是,容易擴展到隨時間變化的情況,下面對其進行描述。因此,利用其它裝置獲得的動作,諸如動作捕捉,可實時地被編輯以產生一個新的動作。需要擴展到下面兩個方面。
(a)在參考動作中的固定鏈節(jié)的位置rFiref和速度 是利用正向運動學計算獲得的,并且利用下列等式代替等式(18)。r.Fid=r.Firef+KFi(rFiref+rFi)---(27)]]>(b)在參考動作中的接頭值和接頭速度用作接頭目標值和接頭目標速度 ,并且利用下列等式代替等式(19)。θ.Dd=θ.Dref+KD(θDref-θD)---(28)]]>
權利要求
1.一種樹狀結構鏈接系統(tǒng)的姿態(tài)和動作的產生方法,所述樹狀結構鏈接系統(tǒng)是通過模擬人、動物、機器人等而制成的并且包括多個在接頭處連接的鏈節(jié),其特征在于,通過為任何數(shù)量的任何鏈節(jié)設定任何數(shù)量的約束條件或者通過在產生中任意地添加或者刪除約束條件來產生滿足這些約束條件的樹狀結構鏈接系統(tǒng)的姿態(tài)和動作。
2.如權利要求1所述的方法,其特征在于,所述約束條件包括鏈節(jié)的位置和姿態(tài)以及使這些得到改變的速度和角速度。
3.如權利要求1或2所述的方法,其特征在于,所述約束條件包括接頭不超出相應的特定動作范圍。
4.如權利要求3所述的方法,其特征在于,所述接頭包括具有三個自由度的球形接頭,并且利用一種直觀地表示動作范圍的方法使所述球形接頭不超出它們的動作范圍。
5.如權利要求1、2、3或4所述的方法,其特征在于,所述約束條件包括使具有所有自由度或者一部分自由度的接頭的接頭值和接頭速度盡可能地接近給定的接頭目標值和給定的接頭目標速度。
6.如權利要求1、2、3、4或5所述的方法,其特征在于,根據(jù)與每一個約束條件的理想狀態(tài)之間的誤差考慮一個恢復力來實現(xiàn)所述約束條件。
7.如權利要求1、2、3、4、5或6所述的方法,其特征在于,分別為所述約束條件設定優(yōu)先次序。
8.如權利要求7所述的方法,其特征在于,利用一種逆向運動學計算來產生樹狀結構鏈接系統(tǒng)的姿態(tài),根據(jù)約束條件的優(yōu)先次序對逆向運動學計算的計算結果的精確度作出要求或者降低要求,并且利用一種奇異點低靈敏性動作分解方法來解決計算結果的奇異點問題。
9.如權利要求1至8中任何一項所述的方法,其特征在于,如果所述樹狀結構鏈接系統(tǒng)具有現(xiàn)有的動作數(shù)據(jù),那么通過在動作過程中的運算在動作鏈節(jié)中添加約束條件或者刪除約束條件。
10.一種通過在主要構架之間的插值運算產生樹狀結構鏈接系統(tǒng)的一系列動作的方法,其特征在于,所述主要構架是利用如權利要求1至9中任何一項所述的方法產生的。
全文摘要
本發(fā)明涉及一種樹狀結構鏈接系統(tǒng)的姿態(tài)和動作的產生方法,所述樹狀結構鏈接系統(tǒng)是通過模擬人、動物、機器人等而制成的并且包括多個在接頭處連接的鏈節(jié),其特征在于,通過為任何數(shù)量的任何鏈節(jié)設定任何數(shù)量的約束條件或者通過在產生中任意地添加或者刪除約束條件來產生滿足這些約束條件的樹狀結構鏈接系統(tǒng)的姿態(tài)和動作。
文檔編號G06T13/40GK1420453SQ0212850
公開日2003年5月28日 申請日期2002年8月9日 優(yōu)先權日2001年8月9日
發(fā)明者中村仁彥, 山根克 申請人:東京大學
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宁武县| 公主岭市| 龙门县| 新巴尔虎右旗| 钟祥市| 正阳县| 华宁县| 手游| 绥宁县| 江西省| 鄂尔多斯市| 康保县| 新民市| 易门县| 新巴尔虎右旗| 万源市| 当涂县| 航空| 霍州市| 鄂托克前旗| 曲阜市| 靖江市| 衡阳市| 贵定县| 扎赉特旗| 南召县| 循化| 焉耆| 马边| 庆元县| 漳平市| 平江县| 东丽区| 贺兰县| 宁远县| 玛沁县| 阿尔山市| 清流县| 台安县| 宾阳县| 祁连县|