国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      樹(shù)狀結(jié)構(gòu)鏈接系統(tǒng)的姿態(tài)和動(dòng)作的產(chǎn)生方法

      文檔序號(hào):6585705閱讀:665來(lái)源:國(guó)知局
      專利名稱:樹(shù)狀結(jié)構(gòu)鏈接系統(tǒng)的姿態(tài)和動(dòng)作的產(chǎn)生方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種樹(shù)狀結(jié)構(gòu)鏈接系統(tǒng)的姿態(tài)和動(dòng)作的產(chǎn)生方法,所述樹(shù)狀結(jié)構(gòu)鏈接系統(tǒng)是通過(guò)模擬人、動(dòng)物、機(jī)器人等而制成的并且包括多個(gè)在接頭處連接的鏈節(jié)。
      背景技術(shù)
      一種常規(guī)的產(chǎn)生表現(xiàn)人、動(dòng)物等動(dòng)作(出現(xiàn)在CG動(dòng)畫、電影作品、游戲等中)的數(shù)據(jù)以及表現(xiàn)具有多個(gè)接頭的機(jī)器人(諸如人形機(jī)器人)的動(dòng)作的數(shù)據(jù)的技術(shù)被披露在下列文獻(xiàn)中(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等。所有這些文獻(xiàn)都是關(guān)于這樣的技術(shù),即,通過(guò)優(yōu)化計(jì)算來(lái)計(jì)算滿足約束條件的動(dòng)作(諸如一條腿不在地面上滑動(dòng)等)以便將先前獲得的動(dòng)作捕捉數(shù)據(jù)提供給各種鏈節(jié)長(zhǎng)度等互不相同的人形樹(shù)狀結(jié)構(gòu)鏈接系統(tǒng)或者制作一個(gè)新的動(dòng)作并將該動(dòng)作的特征存儲(chǔ)起來(lái)。
      在上述文獻(xiàn)(1)中所披露的技術(shù)中,計(jì)算動(dòng)作以便在使端部鏈節(jié)的位置固定的同時(shí)使每一個(gè)接頭角度分別盡可能地接近一個(gè)給定的目標(biāo)值。在上述文獻(xiàn)(2)中所披露的技術(shù)中,通過(guò)大范圍優(yōu)化來(lái)計(jì)算符合約束條件的動(dòng)作以使約束條件在整個(gè)動(dòng)作中趨于平滑。在上述文獻(xiàn)(3)中所披露的技術(shù)中,利用分級(jí)樣條函數(shù)表示約束條件,從而在滿足約束條件的同時(shí)能夠改變身體中的一部分的姿態(tài)。例如對(duì)于參考文獻(xiàn)(2)的技術(shù),能夠?qū)φ麄€(gè)動(dòng)作進(jìn)行優(yōu)化計(jì)算。
      對(duì)于參考文獻(xiàn)(1)、(2)和(3)的技術(shù),需要諸如動(dòng)作捕捉數(shù)據(jù)的參考動(dòng)作。盡管動(dòng)作捕捉的費(fèi)用與前者相比減少了并且捕捉數(shù)據(jù)的數(shù)據(jù)庫(kù)逐漸能夠在市場(chǎng)上得到,但是存在著這樣的缺點(diǎn),即,無(wú)論什么時(shí)候需要沒(méi)有包括在數(shù)據(jù)庫(kù)中的動(dòng)作,都必須捕捉新的動(dòng)作,由相同數(shù)據(jù)庫(kù)制作的動(dòng)作是相似的,并且對(duì)所希望得到的動(dòng)作進(jìn)行調(diào)整需要很多時(shí)間和很大努力。
      對(duì)于參考文獻(xiàn)(2)和(3)的技術(shù),存在著這樣一個(gè)缺點(diǎn),即,由于采用大范圍優(yōu)化計(jì)算,因此它不能用于順序地輸入到實(shí)時(shí)或者交互式動(dòng)作的產(chǎn)生中。
      對(duì)于參考文獻(xiàn)(1)的技術(shù),存在著這樣一個(gè)缺點(diǎn),即,如果約束條件被加入到除了端部鏈節(jié)以外的鏈節(jié),那么計(jì)算結(jié)果可能會(huì)出現(xiàn)偏差。另外,還存在著這樣一個(gè)缺點(diǎn),即,如果將固定多個(gè)鏈節(jié),那么不能獲得這種計(jì)算結(jié)果。
      市售的CG軟件包括一個(gè)用于限定鏈接結(jié)構(gòu)目標(biāo)的端部鏈節(jié)位置以制作動(dòng)畫的界面,它存在著這樣一個(gè)缺點(diǎn),即,難以形成自然的姿態(tài),這是由于它僅能夠計(jì)算相當(dāng)于該樹(shù)狀結(jié)構(gòu)鏈接系統(tǒng)的一個(gè)分枝的部分鏈節(jié)序列(諸如臂、腿等)的接頭角度,并且不能改變整個(gè)樹(shù)狀結(jié)構(gòu)鏈接系統(tǒng)的姿態(tài)。
      它僅能夠?qū)⑾薅ㄦ湽?jié)序列的端部鏈節(jié)為固定鏈節(jié)。這對(duì)于數(shù)值計(jì)算是行不通的,這是因?yàn)楫?dāng)在多個(gè)固定鏈節(jié)之間僅有少量的接頭時(shí)在每一個(gè)約束條件之間會(huì)出現(xiàn)矛盾。
      常規(guī)技術(shù)中沒(méi)有考慮球形接頭的活動(dòng)范圍。
      發(fā)明概述本發(fā)明的一個(gè)目的在于,提供一種樹(shù)狀結(jié)構(gòu)鏈接系統(tǒng)的姿態(tài)和動(dòng)作的產(chǎn)生方法,該方法能夠克服上述常規(guī)技術(shù)中的缺陷,即使在沒(méi)有諸如動(dòng)作捕捉數(shù)據(jù)的現(xiàn)有的動(dòng)作數(shù)據(jù)的情況下也能夠通過(guò)確定一個(gè)或者多個(gè)鏈節(jié)的運(yùn)動(dòng)軌跡的方便運(yùn)算及時(shí)地利用多個(gè)接頭和多個(gè)自由度(例如20個(gè)或者更多)使人形的整體產(chǎn)生類似人的動(dòng)作,或者當(dāng)存在如動(dòng)作捕捉數(shù)據(jù)的動(dòng)作數(shù)據(jù)時(shí)通過(guò)運(yùn)算能夠?qū)@些數(shù)據(jù)進(jìn)行調(diào)整并且重新利用這些數(shù)據(jù)。
      一種如本發(fā)明權(quán)利要求1所述的方法,其特征在于,通過(guò)為任何數(shù)量的任何鏈節(jié)設(shè)定任何數(shù)量的約束條件或者通過(guò)在產(chǎn)生中任意地添加或者刪除約束條件來(lái)產(chǎn)生滿足這些約束條件的樹(shù)狀結(jié)構(gòu)鏈接系統(tǒng)的姿態(tài)和動(dòng)作。
      一種如本發(fā)明權(quán)利要求2所述的方法,其特征在于,所述約束條件包括鏈節(jié)的位置和姿態(tài)以及使這些得到改變的速度和角速度。
      一種如本發(fā)明權(quán)利要求3所述的方法,其特征在于,所述約束條件包括接頭不超出相應(yīng)的特定動(dòng)作范圍。
      一種如本發(fā)明權(quán)利要求4所述的方法,其特征在于,所述接頭包括具有三個(gè)自由度的球形接頭,并且利用一種直觀地表示動(dòng)作范圍的方法使所述球形接頭不超出它們的動(dòng)作范圍。
      一種如本發(fā)明權(quán)利要求5所述的方法,其特征在于,所述約束條件包括使具有所有自由度或者一部分自由度的接頭的接頭值和接頭速度盡可能地接近給定的接頭目標(biāo)值和給定的接頭目標(biāo)速度。
      一種如本發(fā)明權(quán)利要求6所述的方法,其特征在于,根據(jù)與每一個(gè)約束條件的理想狀態(tài)之間的誤差考慮一個(gè)恢復(fù)力來(lái)實(shí)現(xiàn)所述約束條件。
      一種如本發(fā)明權(quán)利要求7所述的方法,其特征在于,分別為所述約束條件設(shè)定優(yōu)先次序。
      一種如本發(fā)明權(quán)利要求8所述的方法,其特征在于,利用一種逆向運(yùn)動(dòng)學(xué)計(jì)算來(lái)產(chǎn)生樹(shù)狀結(jié)構(gòu)鏈接系統(tǒng)的姿態(tài),根據(jù)約束條件的優(yōu)先次序?qū)δ嫦蜻\(yùn)動(dòng)學(xué)計(jì)算的計(jì)算結(jié)果的精確度作出要求或者降低要求,并且利用一種奇異點(diǎn)低靈敏性動(dòng)作分解方法來(lái)解決計(jì)算結(jié)果的奇異點(diǎn)問(wèn)題。
      一種如本發(fā)明權(quán)利要求9所述的方法,其特征在于,如果所述樹(shù)狀結(jié)構(gòu)鏈接系統(tǒng)具有現(xiàn)有的動(dòng)作數(shù)據(jù),那么通過(guò)在動(dòng)作過(guò)程中的運(yùn)算在動(dòng)作鏈節(jié)中添加約束條件或者刪除約束條件。
      根據(jù)本發(fā)明,即使沒(méi)有諸如動(dòng)作捕捉數(shù)據(jù)的動(dòng)作數(shù)據(jù),僅通過(guò)計(jì)算也能夠產(chǎn)生動(dòng)作,現(xiàn)有的動(dòng)作數(shù)據(jù)也可被處理,這是由于沒(méi)有執(zhí)行覆蓋整個(gè)動(dòng)作的優(yōu)化,在實(shí)時(shí)接收輸入的同時(shí)能夠產(chǎn)生動(dòng)作,并且例如通過(guò)限定鏈節(jié)的運(yùn)動(dòng)軌跡,能夠容易地使諸如一個(gè)目標(biāo)物的動(dòng)作從某一個(gè)位置移動(dòng)到另一個(gè)位置。
      根據(jù)權(quán)利要求2所述的方法,通過(guò)設(shè)定固定的鏈節(jié),能夠容易地產(chǎn)生在環(huán)境中受到接觸等約束的動(dòng)作。
      根據(jù)權(quán)利要求3或4所述的方法,通過(guò)設(shè)定接頭活動(dòng)范圍,能夠防止產(chǎn)生還沒(méi)有被制作成人、動(dòng)物、機(jī)器人等的姿態(tài)。另外,可調(diào)節(jié)身體的硬度和柔軟度。
      根據(jù)權(quán)利要求5所述的方法,能夠容易地產(chǎn)生對(duì)某一現(xiàn)有動(dòng)作作出少許改動(dòng)的動(dòng)作或者周期性動(dòng)作。
      根據(jù)權(quán)利要求6所述的方法,僅通過(guò)本地信息即可實(shí)現(xiàn)各種約束,并且能夠產(chǎn)生實(shí)時(shí)交互式的動(dòng)作。
      根據(jù)權(quán)利要求7或8所述的方法,可在任何位置設(shè)定任何數(shù)量的約束條件,并且即使這些約束條件是矛盾的,也可根據(jù)預(yù)先設(shè)定的優(yōu)先次序計(jì)算適合的動(dòng)作。
      根據(jù)權(quán)利要求9所述的方法,如果已經(jīng)存在動(dòng)作數(shù)據(jù),那么可通過(guò)相同的運(yùn)算根據(jù)所述動(dòng)作數(shù)據(jù)制作新的動(dòng)作。
      本發(fā)明能夠應(yīng)用于CG動(dòng)畫、電影作品、游戲的產(chǎn)生以及人形機(jī)器人的操作等領(lǐng)域。在這些應(yīng)用領(lǐng)域中,本發(fā)明除了能夠用作獨(dú)立的軟件以外,還能夠用作包括任何圖形界面的軟件的計(jì)算引擎(calculation engine),以及還可插入到現(xiàn)有的CG軟件中。
      在行走動(dòng)作等的周期性動(dòng)作中,使每一個(gè)周期中的姿態(tài)相同是重要的。這也能夠通過(guò)引入接頭目標(biāo)值來(lái)實(shí)現(xiàn)。通過(guò)設(shè)定接頭目標(biāo)值,如果約束條件給定的鏈節(jié)動(dòng)作的運(yùn)動(dòng)軌跡是周期性的,那么整體的動(dòng)作也是周期性的。
      考慮到上述效果,現(xiàn)在任何人都能夠通過(guò)運(yùn)算容易產(chǎn)生模擬人、動(dòng)物、機(jī)器人等樹(shù)狀結(jié)構(gòu)鏈接系統(tǒng)的整體自然動(dòng)作,而這些整體自然動(dòng)作通常只能由專業(yè)的動(dòng)畫處理人員付出大量的時(shí)間和工作才能夠獲得或者利用昂貴的設(shè)備捕捉真實(shí)的人或者動(dòng)物的動(dòng)作。另外,由于能夠?qū)崟r(shí)地產(chǎn)生動(dòng)作,因此對(duì)于需要高交互性的領(lǐng)域(例如游戲),可以將本發(fā)明方法用作能夠產(chǎn)生根據(jù)實(shí)際情況而作出各種動(dòng)作的計(jì)算引擎。
      在機(jī)器人領(lǐng)域中,本發(fā)明可用作一種能夠操作具有多個(gè)接頭的機(jī)器人(諸如人形機(jī)器人)的直觀界面。由于這樣一種機(jī)器人具有多個(gè)必須操作的變量,因此目前用于執(zhí)行交互式操作的界面例如僅限于實(shí)現(xiàn)引導(dǎo)機(jī)器人行走方向。根據(jù)本發(fā)明,現(xiàn)在可在多種情況下引導(dǎo)機(jī)器人的各種動(dòng)作。
      另外,利用上述本發(fā)明所涉及的樹(shù)狀結(jié)構(gòu)鏈接系統(tǒng)的姿態(tài)和動(dòng)作的產(chǎn)生方法還能夠形成兩個(gè)或者多個(gè)主要構(gòu)架。因此,本發(fā)明還涉及一種通過(guò)在主要構(gòu)架(諸如主要構(gòu)架動(dòng)畫)之間的插值運(yùn)算產(chǎn)生樹(shù)狀結(jié)構(gòu)鏈接系統(tǒng)的一系列動(dòng)作的方法。
      附圖的簡(jiǎn)要說(shuō)明

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