TWI780925B - 模擬馬達間隙之域適應 - Google Patents
模擬馬達間隙之域適應 Download PDFInfo
- Publication number
- TWI780925B TWI780925B TW110135577A TW110135577A TWI780925B TW I780925 B TWI780925 B TW I780925B TW 110135577 A TW110135577 A TW 110135577A TW 110135577 A TW110135577 A TW 110135577A TW I780925 B TWI780925 B TW I780925B
- Authority
- TW
- Taiwan
- Prior art keywords
- output value
- value
- integral
- joint
- joints
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1641—Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/10—Programme-controlled manipulators characterised by positioning means for manipulator elements
- B25J9/12—Programme-controlled manipulators characterised by positioning means for manipulator elements electric
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/15—Vehicle, aircraft or watercraft design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Geometry (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Automation & Control Theory (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Mathematical Optimization (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Manipulator (AREA)
- Analysing Materials By The Use Of Radiation (AREA)
- Transmission And Conversion Of Sensor Element Output (AREA)
- Feedback Control In General (AREA)
Abstract
一種用於訓練一控制輸入系統之方法、系統及電腦程式產品涉及:對來自一或多個可移動關節之一運動決策神經網路之一輸出值求一積分,以生成一積分輸出值;及將該積分輸出值與一間隙臨限值進行比較。若該積分輸出值並未至少滿足該臨限值,則使用一機器學習演算法生成一後續輸出值,該機器學習演算法包含一感測器值及一先前關節位置。基於該後續輸出值之一積分來模擬該一或多個可移動關節之一位置;且利用該機器學習演算法至少基於對該一或多個可移動關節之該位置之該模擬的一結果來訓練該運動決策神經網路。
Description
本揭示案之態樣係關於使用機器學習進行運動控制,具體而言,本揭示案之態樣係關於在基於物理學之動畫及運動控制系統中訓練神經網路。
一種常用於模型之技術係為模型創建一虛擬骨架,該虛擬骨架具有靈活或可移動關節及剛性骨骼。虛擬皮膚覆蓋在虛擬骨架上面,與人類肌肉、脂肪、器官及皮膚整合於骨骼上之方式類似。然後,人類藝術家使用虛擬骨架作為對運動範圍之指引來竭力地手工繪製對象之移動集之動畫。此係一個耗時之過程且亦需要藝術感,原因在於逼真之移動與屬於怪異系之移動之間僅一線之隔。一些製作工作室藉由對人類模型採用運動捕捉來避免逼真動畫繪製之困難且耗時之過程。若需要大量運動或若需要將許多不同特徵模型化,則此項技術成本高昂且可能很耗時間。
可在剛性部位使用骨骼且在可移動部位使用關節來對機器人進行虛擬模型化。此類模型控制使得機器人動畫師更容易為機器人創建逼真之移動。可將虛擬骨架中關節之移動轉化為馬達之移動,從而控制機器人之關節。虛擬模型對關節施加約束,以模擬機器人關節在真實世界中之局限性。因此,可使用機器人之虛擬模型來控制實體機器人。此種控制對於電子動畫而言很有用。
關於動畫之主要問題係需要創建人類控制之移動。在需要具有不同移動特點之許多特徵之情況下,諸如處於在存在許多不同外星特徵而該等外星特徵具有截然不同之解剖結構的空間中之商場場景下,手工繪製特徵之動畫很耗時間且不太可行。曾在此等情況下用於減輕動畫師負擔之一項技術係生成一或兩個不同移動模型,且然後隨機地應用彼等移動模型來移動場景中之特徵。此項技術適用於許多不同模型及數個不同特徵,但在大規模情況下會造成明顯不自然之效果,其中許多特徵顯然完全相同。
機器學習代表一項可在特徵動畫中用於減少對人類動畫師之需要的領域。目前,由使用機器學習技術訓練之神經網路產生之移動會導致不自然之抖動移動,且必須作出特殊努力及/或對解決方案加以適當約束以避免抖動問題。另外,當前之機器學習動畫技術無法考慮到數個真實世界之約束。在經由機器學習創建之動畫模型中缺乏真實世界之約束意味著,該等模型不適合作為虛擬模型來用於控制實體機器人,尤其是在諸如行走及平衡力學等條件敏感性領域中。
正是在此背景下產生了本揭示案之態樣。
一種用於訓練一控制輸入系統之方法、系統及電腦程式產品涉及:對來自一或多個可移動關節之一運動決策神經網路之一輸出值求一積分,以生成一積分輸出值;及將該積分輸出值與一間隙臨限值進行比較。若該積分輸出值並未至少滿足該臨限值,則使用一機器學習演算法生成一後續輸出值,該機器學習演算法包含一感測器值及一先前關節位置。基於該後續輸出值之一積分來模擬該一或多個可移動關節之一位置;且利用該機器學習演算法至少基於對該一或多個可移動關節之該位置之該模擬的一結果來訓練該運動決策神經網路。
儘管以下詳細說明出於說明目的而含有許多具體細節,但熟習此項技術者將瞭解,對以下細節作出之許多變化及更改在本發明之範疇內。因此,在不失所主張之發明之一般性且不對所主張之發明加以限制之情況下陳述下文所闡述之本發明之示例性實施例。
基於物理學之動畫需要控制方案來生成關節致動器命令,該控制方案要同時實現四個目標:1)大致遵循目標動畫;2)保持平衡(例如,在行走時不摔倒);3)自外部擾動(例如絆倒、外力、真實/虛擬模型不匹配)中恢復;4)考慮到實體機器人系統之真實世界之約束。根據本揭示案之態樣,可透過如下方式來獲得特徵之平滑逼真運動:訓練NN接受受控機構/對象感測器讀數/觀測作為輸入,且輸出機構伺服控制命令之一階導數或二階導數。在一階導數情形下,命令係透過外部時間積分來傳遞。將時間積分輸出與臨限值進行比較以對馬達間隙做出解釋,將滿足或超過該臨限值之時間積分命令a)饋送回NN且b)饋送至受控機構,使用考慮到表面剛度及表面剛度之模型來模擬受控機構值。在上述二階導數之情形下,將型樣重複兩次。對NN輸出執行第一積分及第二積分。可將第二積分之結果與臨限值進行比較以對馬達間隙做出解釋,將滿足或超過該臨限值之結果返回至a)NN及b)受控機構,可使用考慮到表面剛度及表面阻尼之模型來模擬受控機構值。
根據前述內容,可如下進行用於訓練控制輸入系統之一般化方法:對來自一或多個可移動關節之運動決策神經網路之輸出值求積分,以生成積分輸出值。
接著,使用機器學習演算法生成後續輸出值,該機器學習演算法包含感測器值及先前關節位置。在一些實施方案中,可將積分輸出值與間隙臨限值進行比較,且若積分輸出值並未至少滿足該臨限值,則生成後續輸出。可基於該後續輸出值之積分來模擬關節位置、剛體位置、表面剛度或與模擬環境相互作用之表面阻尼。接著,可利用機器學習演算法至少基於模擬結果來訓練運動決策神經網路。
一般神經網路訓練
根據本揭示案之態樣,控制輸入方案可使用機器學習與神經網路(NN)。NN可包含幾種不同類型之神經網路中之一或多者,且可具有許多不同之層。舉例而言且不具限制性,神經網路可由一或多個卷積神經網路(CNN)、遞迴神經網路(RNN)及/或動態神經網路(DNN)組成。可使用本文中所揭示之一般訓練方法來訓練運動決策神經網路。
圖1A繪示RNN之基本形式,RNN具有一層節點
120,節點120中之每一者由激活函數
S、一個輸入權重
U、遞迴隱藏節點轉變權重
W及輸出轉變權重
V表徵。激活函數
S可係本領域中已知之任何非線性函數且不限於(雙曲正切(tanh)函數。舉例而言,激活函數
S可係Sigmoid函數或ReLu函數。與其他類型之神經網路不同,RNN之整個層皆具有一組激活函數及權重。如圖1B中所示,RNN可被視為在時間
T與
T+1期間皆具有相同激活函數之一系列節點
120。因此,RNN藉由將先前時間
T之結果饋送至當前時間
T+1來維持歷史資訊。
在一些實施例中,可使用卷積RNN。可使用的另一類型之RNN係長短期記憶(LSTM)神經網路,該長短期記憶神經網路在具有輸入閘激活函數、輸出閘激活函數及遺忘閘激活函數之RNN節點中添加記憶區塊,從而達成閘控記憶,該閘控記憶允許網路在較長時間段內保留一些資訊,如Hochreiter & Schmidhuber 「Long Short-term memory」Neural Computation 9(8):1735-1780 (1997)所闡述,該文獻併入本案供參考。
圖1C繪示根據本揭示案之態樣之卷積神經網路(諸如CRNN)之實例性佈局。在此說明中,卷積神經網路係針對輸入
132而生成,輸入132之大小為4個單位之高度及4個單位之寬度,總面積為16個單位。所繪示之卷積神經網路具有:過濾器
133,其大小為2個單位之高度及2個單位之寬度,其中跳過值為1;及通道
136,其大小為9。為清晰起見,在圖1C中,僅繪示第一行通道與其過濾器窗口之間的連接
134。然而,本揭示案之態樣並不僅限於此等實施方案。根據本揭示案之態樣,卷積神經網路可具有任何數目個額外神經網路節點層
131,且可包含任何大小之層類型,諸如額外卷積層、全連接層、池化層、最大池化層、局域對比度正規化層等。
在初始化之後,定義激活函數及最佳化器。接著,在
142處為NN提供特點向量或輸入資料集。NN可自具有已知標籤之輸入生成不同特點向量中之每一者。類似地,可為NN提供與具有已知標籤或分類之輸入對應之特點向量。接著,在
143處,NN預測特點或輸入之標籤或分類。在
144處,將所預測之標籤或類別與已知標籤或類別(亦被稱為基準真值)進行比較,且損失函數針對所有訓練樣本量測預測與基準真值之間的總誤差。舉例而言且不具限制性,損失函數可係交叉熵損失函數、二次代價、三元組對比函數、指數代價等。可根據目的使用多種不同之損失函數。舉例而言且不具限制性,可使用交叉熵損失函數來訓練分類器,而可採用三元組對比函數來學習經預訓練之嵌入。接著,如
145處所指示,使用損失函數之結果且使用已知的神經網路訓練方法(諸如,具有適應性梯度下降之反向傳播等)來最佳化及訓練NN。在每一訓練時期中,最佳化器嘗試選擇將訓練損失函數(即總誤差)最小化之模型參數(即權重)。資料被劃分為訓練樣本、驗證樣本及測試樣本。
在訓練期間,最佳化器就訓練樣本將損失函數最小化。在每一訓練時期之後,藉由計算驗證損失及準確度來在驗證樣本上對模型進行評估。若無顯著變化,則可停止訓練,且可使用所得到之經訓練模型來預測測試資料之標籤。
因此,可依據具有已知標籤或分類之輸入來訓練神經網路以對該等輸入進行識別及分類。類似地,可使用所述方法訓練NN,以自具有已知標籤或分類之輸入生成特點向量。雖然以上論述與RNN及CRNN相關,但該等論述可適用於不包含遞迴層或隱藏層之NN。
強化學習
根據本揭示案之態樣,NN訓練可包含強化學習。強化學習係機器學習之一個領域,該領域涉及軟體代理應如何在環境中採取行動以將累積獎勵之一些概念最大化。強化學習可在沒有神經網路之情況下使用,但在有許多可能行動之情況下,可採用NN佈局來捕捉強化學習中之元素。
強化學習之目標係根據當前狀態選擇最佳行動。使用獎勵機制來訓練強化模型以根據狀態做出正確決策。應注意,強化模型並不僅限於神經網路且可包含例如但不限於表格或試算表中之值。
圖2A展示利用神經網路及機器學習演算法
200實施之Q學習或離散狀態強化學習。上文所論述之強化學習演算法力圖自當前狀態
201判定行動
203。一旦選擇行動,則判定行動之效果
204,且基於效果達成最佳行動或所選目標之接近程度來應用獎勵函數
205。可採用運動決策NN
202來依據當前狀態
201判定行動
203。另外,在
206處利用效果
204資訊來更新當前狀態資訊
201,且NN可基於已更新之當前狀態為下一行動預測資訊。在一些實施例中,可利用機器學習演算法訓練NN
202,該機器學習演算法使用Q-學習回饋作為損失函數中之值來訓練NN。舉例而言但不具限制性,NN所使用之強化學習之損失函數可係平方函數之和。平方損失函數與回饋之和由以下方程給出,在此
Q係NN之輸出:
方程式1
在強化學習中,可藉由Q-學習方程式給出回饋之一個實例:
方程式2
其中r(
i, a, j, ...)代表即時獎勵,其中
i係當前狀態,
a係在當前狀態下選擇之行動,
j係下一狀態。任何狀態之值由在該狀態下行動之
Q值之最大值給出。因此,max
Q(
j,b)表示在下一狀態下採取之最佳可能行動之預期獎勵。數量λ表示未來狀態折扣因子,其用於使學習偏向於選擇即時獎勵。在一些實施例中,λ=1/(1+R),其中R係為了適合於正在學習之特定任務而選擇之折扣率。在應用程式使用Q-學習之情形下,對於涉及實體模擬或機器人之應用程式,必須使控制係離散的。
因此,在強化學習中,在採取行動之後,計算回饋並使用該回饋計算損失函數。接著,使用損失函數及具有適應性梯度下降之反向傳播來更新模型。此最適於具有離散行動位置之系統。許多機器人及動畫系統並不包含離散控制,因此可使用近端策略最佳化訓練演算法來對系統實施連續隨機控制。
在其他實施例中,可使用近端策略最佳化訓練演算法。如圖2B中所示,近端策略最佳化具有行動
213輸出空間,在該行動中該輸出空間係被繪示為鐘形曲線之連續概率分佈。此演算法使用兩種網路:策略網路(亦被稱為Actor),其用於判定將採取之行動;及優勢網路(亦被稱為Critic),其用於鑒於當前狀態判定每一行動之優劣。運動決策NN
212之一些實施方案可包含:策略子網路,其經組態以提供行動
213之概率分佈,鑒於當前狀態
211,行動213能最佳地達成所期望效果
214;及優勢子網路,其用於鑒於當前狀態
211判定每一行動之優劣。換言之,策略
表示在每一控制步驟
t處在狀態
下選擇行動
之條件概率密度函數;網路接收狀態
s
t 且自π對行動
a
t 進行取樣。模擬環境提供新狀態
s
t`
=
s
t +1 216,並產生獎勵r
t 215,該獎勵係自其動態
取樣而來。獎勵函數係藉由採取對應行動a
t: r
t=R(s
t,a
t,s
t+1)依據s
t至s
t+1之間的轉變結果來定義。對於參數化策略
,代理之目標係學習將以下方程式給出之累積獎勵最大化之參數
θ:
方程式3
其中
係折扣因子,且T係訓練範圍。可使用策略梯度理論來判定預期獎勵
之梯度,該策略梯度理論根據以下方程式調整策略參數
θ以提供改良之方向:
方程式4
係折扣狀態分佈,
p
0 係初始狀態分佈,且
係在
s 0處開始且遵循策略
進行
T個步驟來達到狀態s之可能性的模型。
表示一般優勢函數。許多優勢函數皆能用於基於策略梯度之強化學習,且根據本揭示案之態樣,任何適合之優勢函數可與此函數搭配使用。可使用之一個優勢函數係一步時間優勢函數,由以下方程式給出:
方程式5
其中
係透過方程式6遞迴地定義之狀態值函數。
方程式6
使用actor critic框架依序訓練π
θ及
V
φ 。行動網路可偏向於使用高斯分佈進行探索,高斯分佈具有參數化平均值μ
θ及固定共變異數矩陣
,其中為每一行動參數指定σ
i。藉由將高斯雜訊應用於平均行動選擇方程式8來自分佈中對行動進行取樣
方程式8
梯度方程式9之最佳化結果係將行動分佈之平均值向達到更高預期獎勵之行動且遠離較低預期獎勵之行動移位。額外資訊請參見Peng等人之「Learning Locomotion Skills Using Deep RL: Does Choice of Action Space Matter?」SCA'17 2017年7月28日。
針對移動之應用
根據本揭示案之態樣,可利用機器學習演算法來訓練NN以模仿現實之移動。訓練集可係例如但不限於受控對象身體部位之預選子集之空間位置之時序、方向及/或定向。機器學習演算法準備神經網路,該神經網路能夠變化關節角度以使受控對象表現出所期望之行為且同時保持平衡。舉例而言且不具限制性,可藉由對真實移動進行運動捕捉、使用運動捕捉玩偶手繪動畫、使用虛擬模型手繪動畫或捕捉一組現實移動之任何其他方法來生成空間位置時序、方向及/或定向。在一些實施例中,訓練可使用獎勵函數,該獎勵函數使用各種原始參數及/或積分參數之不對準誤差,此等原始參數及/或積分參數使獎勵函數朝向所期望之移動演進。
狀態
201或
211可係特點變換
,其中ε係自相對於時間之速度積分求得之積分輸入
,該積分輸入係作為NN之輸出而生成。根據本揭示案之一些替代態樣,特點變換
可包含相對於時間之加速度之第二積分
。變換自輸入提取一組特點以將該組特點變成與正在被訓練之模型之變數相容之形式。在訓練時,包含目標參考運動
從而給出組合狀態
係有用的。另一選擇為,可使用狀態及參考運動之四元數聯接方位,如下文所論述。
如圖6中所示,具有剛體
606之每一關節
601可被認為一個聯接、一系列聯接、或鏈,該等聯接或鏈可形成代理或特徵構造模型
602。自NN在時間步t-1處生成的參考聯接方位與代理聯接方位之間的
L 2 四元數距離減去NN在時間步t處生成的參考聯接方位與代理聯接方位之間的
L 2 四元數距離。此提供目標聯接方位與代理聯接方位之間的差動誤差,在正確方向上移動則獎勵聯接,而在錯誤方向上移動則懲罰聯接。代理姿勢與目標姿勢之間的誤差係個別聯接定向誤差之加權和。選擇權重w
link ,以使得鏈中之第一聯接(包含關節
601及剛體
606)之權重高於鏈中之最後聯接
603之權重。如所示,鏈中之第一聯接包含關節及剛體兩者,而最後聯接僅包含剛體。在許多情形下,鏈中之最後聯接可係專用工具,諸如但不限於手、抓取器、足部或其他互動裝置。此促使系統在訓練期間先專注於對準重要聯接,再對準末端聯接。相同差動方法可用於聯接速度,但只有乘以小的速度係數
v
coeff 的速度誤差與距離誤差混合。將總差動獎勵計算為所有個別聯接獎勵之和。
方程式
11其中
w link 係個別聯接權重,且
v coeff係小的非負常數。數量
dist link 係聯接定向之間的四元數距離,現在將闡述聯接定向。在應用自例如但不限於運動捕捉或視訊獲取之真實運動模型之情形下,真實移動模型之關節自由度與代理
602之關節自由度相比,其之間可存在不匹配。舉例而言但不具限制性,真人之關節可具有三個自由度,而代理之關節
601可僅具有兩個自由度。每一聯接單元之軸被定義為聯接局域參考系中之一單位向量。就四元數距離度量而言,
q a 及
q t 分別表示代理及聯接定向四元數。因此,由以下方程式提供定向之間的差:
方程式
12其中聯接d
link之間的四元數距離由以下方程式提供:
方程式13
如下計算聯接軸之間的角度。使
及
作為代理聯接軸及目標聯接軸,將代理聯接軸及目標聯接軸轉換為世界參考系。接著,藉由以下方程式計算軸距離:
方程式14
此引入之單位軸距離允許在自由度數目不足之情況下映射聯接。
返回至方程式10之獎勵函數。(-c
ollision)項係對自碰撞之懲罰。在圖6中看到,每一聯接
604可佔據體積空間。每當聯接
604之體積空間與另一聯接
605之體積空間接觸時,可施加懲罰。
可基於代理與世界之間的足部地面互動來應用項r
ground。在處理訓練集資料時,在每一時間步處給每一聯接添加額外欄位,該額外欄位指示聯接是在地面上還是離地。若足部壓力感測器
610超過臨限值且足部被記錄為在地面上,或者若壓力感測器低於臨限值且足部被記錄為離地,則在獎勵函數中使用該資訊以給出正向獎勵。
方程式15
其中gnd
on及gnd
off指示足部地面之狀態,f
p表示足部壓力感測器
710之讀數,且P
th係足部壓力臨限值。
當足部在地面上時,可給出額外正值。獎勵和足部局域垂直軸與世界向上向量之間的角度成比例。
方程式16
其中
指示垂直軸,Q
foot係足部定向四元數,
係世界參考系中之足部向上向量,且K
1及K
2係常數。如下計算完整地面獎勵:
方程式17
若目標關節位置超出關節之實體限制,則(
-r
limit)項基於每一關節提供懲罰,此懲罰會促使訓練過程避免進入控制策略無法影響代理狀態之區域。
方程式18
其中C
joint及k
joint係定義懲罰增加幅度之常數,
係第i關節位置,
係第i關節上限,且
係第i關節下限。
可基於對輸入之取樣率訓練網路之迭代,從而更新演算法以盡快將更新應用於狀態。為此,輸入包含盡可能多之觀測。將所有可用之感測器讀數饋送至NN中。一些感測器讀數亦經過預處理。舉例而言,加速度計讀數及陀螺儀讀數兩者皆按原樣饋送且融合成機器人參考系中之姿態及重力方向。亦將經預處理之讀數饋送至NN中。
利用NN改良運動控制
NN控制之一個主要問題係選擇將哪些資訊作為輸入提供至NN,該輸入足以在每一時刻恢復系統之動態狀態。如圖3及圖4中所繪示,就圖4情形中之回饋控制輸出積分及輸出第二積分而言,僅在與間隙臨限值進行比較且至少滿足該間隙臨限值之後,該回饋控制輸出積分及輸出第二積分饋送回至NN中。如上文所論述,先前針對移動訓練之NN會產生抖動及不現實移動。因此,根據本揭示案之態樣,藉由生成NN之輸出之積分且在NN中使用來自可移動關節狀態輸入參數之輸入資訊來達到平滑現實之移動。
圖3繪示根據本揭示案之態樣之訓練運動控制。舉例而言且不具限制性,在模擬中,特徵構造
301可係具有至少一個可移動關節
302之特徵模型、骨架、機器人或機器人設備。如所示,特徵構造
301具有多個可移動關節,如黑色圓圈所指示。可移動關節
302可係馬達致動式鉸鏈、球形關節或在兩個剛體之間的任何其他連接,該等任何其他連接允許該兩個剛體之間在限定範圍內受控地相對移動。如上文關於圖7所論述,聯接之剛體可具有空間體積
704,該空間體積704由剛體佔據且可能與任何其他剛體或可移動關節所佔據之空間發生碰撞。可移動關節可連接至感測器
303,感測器303經組態以生成關於該可移動關節之狀態之資訊,該資訊在本文中被稱為感測器值。在模擬中,此感測器
303可經組態以遞送與實體機器人之感測器所生成之資訊類似之資訊,該等實體機器人之感測器可包含例如但不限於編碼器、電位計、線性可變差動變壓器、壓力感測器、陀螺儀、重力計、加速度計、解析器、速度或速率感測器。此等感測器之感測器值將對應於此等感測器之輸出或自此等感測器導出之資訊。來自機器人上之感測器之感測器值之實例包含但不限於:關節位置、關節速度、關節扭矩、機器人定向、機器人線速度、機器人角速度、足部接觸點、足部壓力或上述感測器值中之兩者或更多者。就虛擬特徵而言,感測器
303可係虛擬感測器且感測器值可僅包含與可移動關節之狀態相關之資料,例如位置、速度、加速度資料。來自機器人模擬之感測器值之實例包含但不限於關節位置、關節速度、關節扭矩、模型定向、模型線速度、模型角速度、足部接觸點、足部壓力或上述感測器值中之兩者或更多者。可將來自控制器或虛擬監測器之位置資料傳遞
306至運動決策神經網路
307且在強化學習期間用作狀態資料。
如圖3中所示,將諸如來自感測器
303 之輸入資訊直接傳遞
306至NN
307。積分器
305自NN
307接收輸出值
308。在訓練期間,積分器
305將積分輸出提供至馬達間隙臨限值比較器
310。當不訓練時,NN
307 、積分器
305將積分輸出提供至可移動關節
302並作為積分輸出回饋提供至NN
307。
在訓練期間使用之馬達間隙比較器
310將積分輸出與馬達間隙臨限值進行比較。當積分輸出滿足或超過馬達間隙臨限值時,將完全相同之積分輸出值傳遞至可移動關節
302並作為回饋
304傳遞至NN
307。若積分輸出
304並未至少滿足馬達間隙臨限值,則不將積分輸出值傳遞回至NN
307或可移動關節
302。
馬達間隙比較器
310模擬實體馬達受到之真實世界之約束。實體馬達根據各種因素(例如但不限於磨損、溫度、馬達設計、齒輪等)而需要不同水準之力來移動肢體位置。馬達間隙比較器藉由訓練NN
307超越所期望之關節位置且因此移動關節以使得抵消馬達間隙來補償間隙問題。在訓練期間,馬達間隙臨限值可係隨機化的。可在訓練開始時或在每一輪NN訓練之後將馬達間隙臨限值隨機化。
另一選擇為,馬達間隙臨限值可在模擬中基於其他因素而定。舉例而言且不具限制性,此等因素可包含關節及馬達磨損之時間相依性,且可藉由使馬達間隙臨限值隨時間增大來模型化。亦可將更精微之磨損模型應用於體現組件磨損之非線性之間隙臨限值。在簡單實例中,間隙臨限值可根據關節穿過或保持於一個位置上之次數而變化。另一選擇為,可基於關節在一個位置處所花費之時間量來變化臨限值。訓練NN可需要將間隙臨限值隨機化以減小NN過擬合。可以非線性方式將馬達間隙臨限值隨機化以模擬關節及馬達之非線性磨損。例如非均勻成長方程式,諸如
方程式19
其中A、
及
經隨機化以模擬非均勻的關節及馬達間隙。另一選擇為,A、
及
可取決於關節角度使用或關節位置使用。A、
及
之相依性可係概率性的,因此經常使用之角度或位置增大馬達間隙臨限值之機率更高。雖然方程式19在又一實例中闡述非均勻方程式之一個實例,但可生成熱圖來闡述關節不同區域及不同表面之磨損。熱圖可將使用較多之區域闡述為較熱且將使用較少之區域闡述為較冷,接著可應用隨機雜訊來減小過擬合。熱圖可與間隙臨限值相關,以使得使用高之區域比使用低之區域接收更高之臨限值,且臨限值包含一些隨機雜訊值以減小過擬合。
可使用機器學習演算法迭代地訓練上文所論述之運動決策NN
307,該機器學習演算法包含強化學習技術,諸如策略學習。Q-學習可與離散化控制一起應用;另外,適合於任務之任何其他機器學習技術可與根據本揭示案之態樣提供之控制方案一起使用。運動決策NN
307可包含額外子網路以生成嵌入或以其他方式處理狀態資訊。運動決策NN
307可經組態以將一或多種類型之資訊輸出至可移動關節或控制該可移動關節之馬達/致動器。
可移動關節
302可基於由運動決策NN
307輸出
308之資訊移動,且感測器
303可偵測到此變化。在訓練期間,模擬基於運動決策網路輸出
308之資訊及經模擬實體約束來虛擬地體現可移動關節
302之移動,該等經模擬實體約束在下一章節加以論述。依據模擬,報告可移動關節之移動變化來作為感測器輸出
303。隨後,NN可在重複進行上述過程時使用新位置及加速度資訊。此循環可持續進行,直至達成目標為止。
在此,藉由添加積分輸出
304回饋來達成對可移動關節所做出之平滑移動之改良,該積分輸出304回饋係在積分器
305處依據NN
307之輸出
308計算而來。對根據本揭示案之態樣達到之平滑效果之一種解釋可係,步階函數之積分係連續函數,且NN輸出之不連續控制經過積分器之後被轉換為連續致動器控制。
如圖4中所示,可使用其他積分輸出回饋作為NN之輸入以達到更平滑之移動。根據本揭示案之替代態樣,可利用運動決策NN
404使用狀態資訊來達到平滑移動,該狀態資訊包含自第二積分器
405生成之第二積分輸出
403之值。將第二積分輸出提供至馬達間隙比較器
409,如上文所論述,馬達間隙比較器409可根據該第二積分輸出值是滿足還是超過馬達間隙臨限值(B
th)來將該第二積分輸出值傳遞至NN或忽略該第二積分輸出。第二積分器
405經組態以求第一積分器
402之輸出。第一積分器
402自運動決策NN
404接收輸出並提供該輸出之第一積分。
圖5展示根據本揭示案之態樣之平滑運動、使用NN進行之運動控制之另一替代實施例。在此實施例中,由其他感測器生成其他資訊
505並將該其他資訊傳遞
503至運動決策NN
502。該其他資訊可不限於指示存在人或其他重要物體之視覺資訊、運動資訊或聲音資訊。添加其他資訊有助於藉由提供更多資訊以在運動決策中使用來允許運動決策NN
502產生更符合情況之移動
。第二積分器對第一積分值求積分並將其傳遞至馬達間隙比較器
510。將第二積分輸出與馬達間隙臨限值進行比較,且若第二積分輸出並未至少滿足該臨限值,則摒棄該值而不將其傳遞至關節或運動決策NN
502。若第一積分輸出滿足或超過馬達間隙臨限值,則將該第一積分輸出傳遞至運動決策NN
502及可移動關節。
應注意,根據本揭示案之態樣之控制器或變數監測器亦可偵測來自可移動關節之扭矩,且亦可將扭矩資訊提供至NN。NN亦可經組態以產生扭矩資訊。
按照本文中之論述而獲得之控制輸入可用於控制實體機器人以及用於控制機器人模擬,例如用於視訊遊戲、雲端視訊遊戲或遊戲開發引擎中,例如來自加利福尼亞州舊金山之Unity Technologies之Unity3D、華盛頓州西雅圖Amazon Game工作室之Lumberyard及北卡羅來納州卡裡Epic Games之Unreal Engine。
模擬
如上文所論述,圖6展示模擬器中之模型特徵構造。模型可被認為鏈中之聯接,其中剛體
606由可移動關節
601連接。在此,鏈中之聯接經配置以將仿人型機器人
602模型化。模型
602亦包含模擬機器人之多個轉動關節之關節,此處之關節(例如,關節
601)包含旋轉關節部分(以較小的粗體矩形表示)及鉸鏈部分(以圓圈表示)。聯接之配置係藉由使模型之不同區域中具有不同類型之關節來允許模型體現類人之移動。如模型之骨盆中所示,有旋轉關節但無鉸鏈關節。該模型之髖關節
613包含鉸鏈及旋轉關節。類似地,模型之膝關節
614包含鉸鏈,但無旋轉關節。鏈之末端聯接(例如,手聯接
603)可包含互動裝置;足部聯接可包含用於平衡之感測器裝置,例如壓力感測器
610。在模擬中,每一聯接與動態性質相關聯。此等動態性質包含質量及慣性張量。聯接被認為在相關聯之碰撞體積
604 、 605在空間中相交時相互作用。將法向反作用力及乾摩擦力施加至剛體及模擬環境。
圖7繪示根據本揭示案之態樣的模型之一個實例之腿部之相互作用及運動範圍。可將模擬器之聯接模型化,使得經由一或多個轉動關節連接剛體。受與其他剛體之碰撞或關節設計限制,關節之運動範圍係有限的。如所示,每一聯接可包含一或多個關節。舉例而言但不具限制性,骨盆聯接可包含骨盆剛體
701及骨盆關節
702。股聯接可包含股剛體
703及膝關節
704。脛聯接可包含脛剛體
705及踝關節
706,且足部聯接可包含足部剛體
707及一或多個足部壓力感測器
708。該一或多個壓力感測器
708可用於闡述模型與模擬環境
816的互動。每一關節可具有盲區
710,該盲區模擬間隙且必須在剛體可變化位置之前克服。另外,關節之運動範圍
709受關節本身設計及與鏈中其他剛體之碰撞限制。剛體亦與模擬環境
716互動。虛線表示腿部
715之位置,其該位置中腿部延伸且與模擬環境
716互動。在此,模擬環境
716之原始狀態以平整實線展示,且環境因與足部剛體
707之碰撞體積相互作用而發生之變形以短劃線
713展示。碰撞體積
712之相互穿透深度及乾摩擦力界定剛體與模擬環境之反作用力。在此注意,模擬環境
711比足部剛體
707更具可塑性,因此其穿透深度
712要大得多。此外,注意,由於模擬環境發生的可塑性變形
713,因此
711之角度與其在未變形平整環境
716中之情況下不同。乾摩擦力由以下方程式給出:
方程式20
其中F係摩擦力,
v係投影至表面上之點相對速度,且
F
react 係透過該點施加至該表面之力的絕對值。
碰撞之相互穿透深度包含複雜的真實世界之約束,諸如表面剛度及表面阻尼。表面剛度可藉由任何數目個不同量測法來量測,包含肖氏硬度計、楊氏模數、布氏標尺、洛氏硬度、維氏硬度或者闡述材料彈性或使材料變形所需之力的任何其他量測法。可在模擬中將環境之表面剛度模型化,以體現機器人或其他裝置在運作期間可能遇到之不同表面。額外因素深度說明肢體或剛體可穿透至材料中之深度。
相關但與表面剛度不同之約束係表面阻尼。表面阻尼與表面變形之時間相依性相關,而表面剛度闡述使材料變形所需之力。阻尼影響深度之時間導數,換言之,阻尼影響在肢體或剛體與材料接觸時使材料變形之速度。另外,隨時間推移,阻尼可不恆定,此意味著有時表面最初可能緩慢變形,但接著隨著所施加之力增大,變形會迅速加快。舉例而言,諸如粘土等表面可具有乾燥硬化之外殼,該外殼緩慢變形,但一旦破裂,由於下面的泥土及灰土很容易位移,該表面會迅速變形。
可將碰撞之相互穿透深度(例如但不限於,機器人足部對粘土表面之碰撞)部分地模型化成:
其中F
pen係碰撞之相互穿透深度之力,
E係表面剛度,該表面剛度可由材料剛度提供,D係穿透深度,
d
k 係表面阻尼,且D
dt係深度之時間導數。
在對NN進行訓練期間,可將乾摩擦力、表面剛度及/或表面阻尼等變數隨機化或以其他方式修改。隨機化約束值之使用可將NN訓練成根據材料類型而以不同方式作用於表面;舉例而言,與堅硬非柔韌表面相比,由於軟表面在負荷作用下表面發生變形而使得足部姿勢可隨著時間而變化,因此NN可針對軟表面輸出不同控制值。
圖8繪示根據本揭示案之態樣的模擬環境中之表面
801之實例。如所示,表面
801可包含區域
802 、 803 、 804,該等區域具有與其他區域
805不同之穿透深度、剛度、乾摩擦力及/或阻尼係數(在下文中被稱為約束)。如所示,具有不同陰影圖案之區域表示具有不同穿透深度、剛度、乾摩擦及/或阻尼之區域。可在具有不同約束之不同區域之間界定邊界
806。約束在每一區域之邊界
806內可係恆定的,但在區域之間隨機地變化。可使用結構化雜訊或簡單的高斯雜訊來將約束值隨機化。舉例而言但不具限制性,該等區域中之每一者之約束值可係恆定的,且可使用高斯雜訊或均勻分佈雜訊來生成約束值。在另一實例中,區域中之每一者之約束值不恆定,且係使用同調雜訊生成。在又一實例中,區域之第一子集之約束值不恆定,且係使用同調雜訊生成,且區域之第二子集之約束值係使用高斯雜訊或均勻分佈雜訊生成。
由不同區域之邊界
806界定之該等不同區域之形狀可係隨機化的,或另一選擇為,可將區域之形狀生成為與真實世界物體(諸如墊毯、地毯至硬木之過渡、瓷磚地板上之瓷磚等)相似。可使用高斯雜訊生成具有不同約束之不同區域。另一選擇為,可使用結構化雜訊或同調雜訊來生成具有不同約束之區域。同調雜訊可係例如但不限於輪廓,該等輪廓具有可辨識輪廓,其中添加雜訊以將可辨識輪廓之邊界隨機化但不失去總體可辨識形狀。可在訓練機器人控制器時使用單純同調雜訊或柏林同調雜訊(Perlin coherent noise)來將基本屬性分佈圖案化。在應用變換之前,可藉由初始同調雜訊來管控邊界形狀。可藉由同調雜訊之同調雜訊頻率分佈之倍頻程數目、空隙度及時間持久性來界定區域之總體形狀。空隙度係指同調雜訊分佈中之間隔之量度,其中通常分佈之間隔愈多愈大,則空隙度愈高。除了作為間隔之直觀量度之外,空隙度亦可量化圖案之額外特點,例如異質性(即,同調雜訊分佈之任何部分之某些統計性質與任何其他部分相同的程度)。時間持久性係指可對在過去值中觀測到之趨勢進行外推來判定未來值之預測的程度。
在模擬中,關節及剛體可與一或多個感測器值相關聯,該等感測器值體現真實機器人中感測器之位置及類型。在訓練及模擬期間,感測器將關於模擬之資訊提供至NN。虛擬感測器可係例如但不限於慣性量測單元(IMU)、關節角度感測器、足部壓力感測器、時脈等。此等不同感測器可在訓練期間將讀數提供至NN,該讀數可與移動訓練集搭配使用,該等移動訓練集與模擬偏差及雜訊組合。
系統
圖9繪示使用NN與強化學習(如本申請案通篇在圖(例如圖2、圖3、圖4及圖5)中所示之強化學習)之基於實體之特徵動畫的系統。該系統可包含計算裝置
900,計算裝置900耦合至使用者輸入裝置
902。使用者輸入裝置
902可係控制器、觸控螢幕、麥克風、鍵盤、滑鼠、操縱桿或允許使用者將包含聲音資料之資訊輸入至系統中之其他裝置。使用者輸入裝置可耦合至觸覺回饋裝置
921。觸覺回饋裝置可係例如振動馬達、力回饋系統、超音波回饋系統或氣壓回饋系統。另外,該系統可包含用於可移動關節之控制器
901,舉例而言但不具限制性,該控制器可控制用於關節之馬達或致動器。
計算裝置
900可包含一或多個處理器單元
903,該一或多個處理器單元可根據眾所周知之架構來組態,例如單核、雙核、四核、多核、處理器-共處理器、單元處理器等。計算裝置亦可包含一或多個記憶體單元
904(例如,隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)、唯讀記憶體(ROM)等)。
處理器單元
903可執行一或多個程式,該一或多個程式之一些部分可儲存於記憶體
904中,且處理器
903可操作地耦合至該記憶體,例如經由資料匯流排
905存取該記憶體耦合至該記憶體。程式可包含機器學習演算法
921,該機器學習演算法經組態以調整上文所論述之NN
910之權重及轉變值。另外,記憶體
904可儲存積分輸出
908,該積分輸出可作為狀態資料用作NN
910之輸入;另外,積分輸出可儲存於資料庫
922中以用於以後的訓練迭代。自感測器生成之感測器資料
909可儲存於記憶體
904中且用作NN
910之狀態資料,其中感測器資料來自真實感測器或模擬中之虛擬模型。記憶體
904亦可儲存資料庫
922。資料庫可含有其他資訊,諸如與模擬中之虛擬特徵構造之創建及移動相關聯之資訊。此類資訊可包含但不限於:馬達間隙臨限值、摩擦係數、剛度值、穿透深度、阻尼係數、參考移動資訊及移動模擬。另外,根據圖3、圖4或圖5,可在生成誤差
908期間使用資料庫
922來儲存控制資料
909之積分值。亦可將模擬資料
923、模擬環境及指令儲存於記憶體
904中,該模擬資料923包含虛擬特徵構造之材料之實體性質,該等指令用於模擬虛擬特徵與環境之間的互動。資料庫
922、感測器資料
909、積分輸出
908及機器學習演算法
921可以資料
918或程式
917形式儲存於大容量儲存器
915中或儲存於伺服器處,該伺服器耦合至網路
920,透過網路介面
914來存取。
控制資料及誤差可以資料
918形式儲存於大容量儲存器
915中。處理器單元
903進一步經組態以執行儲存於大容量儲存器
915或記憶體
904中之一或多個程式
917,該一或多個程式917使處理器執行上述方法中之一或多者。
計算裝置
900亦可包含眾所周知之支援電路906,諸如輸入/輸出(I/O)、電路907、電源供應器(P/S)
911、時脈(CLK)
912及快取記憶體
913,該等支援電路可例如經由匯流排
905與系統之其他組件進行通信。該計算裝置可包含網路介面
914。處理器單元
903及網路介面
914可經組態以經由適合的網路協定來實施區域網路(LAN)或個人區域網路(PAN),例如針對PAN使用藍芽。計算裝置可視情況包含大容量儲存裝置
915,諸如磁碟機、CD-ROM驅動器、磁帶驅動器、快閃記憶體等,且大容量儲存裝置可儲存程式及/或資料。該計算裝置亦可包含使用者介面
916以便於系統與使用者之間進行互動。使用者介面可包含監測器、電視螢幕、揚聲器、耳機或向使用者傳達資訊之其他裝置。
計算裝置
900可包含網路介面
914以便於經由電子通信網路
920進行通信。網路介面
914可經組態以透過區域網路及廣域網路(諸如,網際網路)來實施有線通信或無線通信。裝置
900可透過網路
620經由一或多個訊息封包發送及接收資料及/或檔案請求。透過網路
920發送之訊息封包可暫時儲存於記憶體
904中之緩衝區中。控制資料
909及NN
910可透過網路
920獲得且部分地儲存於記憶體
904中以供使用。
雖然上文完整闡述本發明之較佳實施例,但可使用各種替代、修改及等效形式。因此,本發明之範疇不應參考上述說明來判定,而是應參考隨附申請專利範圍及其全部等效範疇來判定。本文中所闡述之任何特點無論較佳與否皆可與本文中所闡述之任何其他特點(無論較佳與否)組合。在以下申請專利範圍中,不定冠詞「一(a/an)」係指在該冠詞後面之一或多個物項之數目,除非另有明確規定。隨附申請專利範圍不應被解釋為包含手段及功能限制,除非在給定請求項中使用片語「用於…之手段」明確闡明此限制。
120:節點
131:神經網路節點層
132:輸入
133:過濾器
134:連接
136:通道
141,142,143,144,145:操作
200:機器學習演算法
201:當前狀態/當前狀態資訊/狀態
202,212,307,404,502:運動決策神經網路
203,213:行動
204:效果
205:獎勵函數
211:當前狀態/狀態
214:所期望效果
215:獎勵
216:新狀態
301:人物構造
302:可移動關節
303:感測器/感測器輸出
304:回饋/積分輸出
305:積分器
306,503:傳遞
308:輸出值/運動決策網路輸出/輸出
402:第一積分器
403:第二積分輸出
405:第二積分器
409,510:馬達間隙比較器
505:其他資訊
601:關節/可移動關節
602:人物構造模型/代理/仿人型機器人
603:最後聯接/手聯接
604,605:聯接/碰撞體積
606,706:剛體
610,708,710:足部壓力感測器/壓力感測器
613:髖關節
614:膝關節
701:骨盆剛體
702:骨盆關節
703:股剛體
704:膝關節
705:脛剛體
707:足部剛體
709:運動範圍
712:碰撞體積/穿透深度
713:模擬環境
715:腿部
716:模擬環境/未變形平整環境
801:表面
802,803,804:區域
805:其他區域
806:邊界
900:計算裝置/裝置
901:控制器
902:使用者輸入裝置
903:處理器單元/處理器
904:記憶體單元/記憶體
905:資料匯流排/匯流排
907:輸入/輸出
908:積分輸出
909:感測器資料/控制資料
910:神經網路
911:電源供應器
912:時脈
913:快取記憶體
914:網路介面
915:大容量儲存器/大容量儲存裝置
916:使用者介面
917:程式
918:資料
920:網路/電子通信網路
921:觸覺回饋裝置
922:資料庫
923:模擬資料
S:激活函數
T:時間/先前時間
T+1:時間/當前時間
U:輸入權重
V:輸出轉變權重
W:遞歸隱藏節點轉變權重
可藉由結合附圖考慮以下詳細說明而容易地理解本揭示案之教示,在附圖中:
[圖1A]係根據本揭示案之態樣的用於運動控制之神經網路之簡化節點圖。
[圖1B]係根據本揭示案之態樣的用於運動控制之展開之神經網路的簡化節點圖。
[圖1C]係根據本揭示案之態樣的用於運動控制之卷積神經網路之簡化圖。
[圖1D]係根據本揭示案之態樣的在運動控制開發中用於訓練神經網路之方法之方塊圖。
[圖2A]係展示根據本揭示案之態樣的利用神經網路及機器學習演算法實施之Q強化學習的方塊圖。
[圖2B]係展示根據本揭示案之態樣的利用神經網路及機器學習演算法實施之近端策略強化學習的方塊圖。
[圖3]係繪示根據本揭示案之態樣的使用感測器資料及積分輸出之運動控制的圖,該積分輸出包含積分及間隙臨限值。
[圖4]係繪示根據本揭示案之態樣的使用感測器資料及積分輸出之運動控制的圖,該積分輸出包含第二積分及間隙臨限值。
[圖5]係繪示根據本揭示案之態樣的在運動控制中使用感測器資料、其他資料及積分輸出之運動控制的圖,該積分輸出包含第二積分及間隙臨限值。
[圖6]係展示根據本揭示案之態樣的在訓練模擬中之模型特徵構造之圖。
[圖7]係繪示根據本揭示案之態樣的實例性模型之腿部之相互作用及運動範圍的圖。
[圖8]繪示根據本揭示案之態樣的模擬環境中之表面之實例。
[圖9]係繪示根據本揭示案之態樣的系統之系統級方塊圖,該系統實施神經網路之訓練及運動控制之使用。
402:第一積分器
403:第二積分輸出
404:運動決策神經網路
405:第二積分器
409:馬達間隙比較器
Claims (22)
- 一種訓練一控制輸入系統之方法,其包括: a) 對來自一或多個可移動關節之一運動決策神經網路之一輸出值求一積分,以生成一積分輸出值; b) 將該積分輸出值與一間隙臨限值進行比較; c) 若該積分輸出值並未至少滿足該臨限值,則使用一機器學習演算法生成一後續輸出值,該機器學習演算法包含一感測器值及一先前關節位置; d) 基於該後續輸出值之一積分來模擬該一或多個可移動關節之一位置;及 e) 利用該機器學習演算法至少基於對該一或多個可移動關節之該位置之該模擬的一結果來訓練該運動決策神經網路。
- 如請求項1之方法,其中該可移動關節處於一虛擬模擬中。
- 如請求項1之方法,其中該可移動關節係一電動關節。
- 如請求項1之方法,其中c)包含:若該積分輸出值超過該臨限值,則使用一機器學習演算法生成一後續輸出值,該機器學習演算法包含一感測器值及該積分輸出值。
- 如請求項4之方法,其進一步包括重複步驟a)至步驟e)。
- 如請求項1之方法,其中一輸出值之該積分係該輸出值之一第一積分,且該後續輸出值之該積分係該後續輸出值之一第一積分。
- 如請求項1之方法,其中一輸出值之該積分係該輸出值之一第二積分,且該後續輸出值之該積分係該後續輸出值之一第二積分。
- 如請求項7之方法,其進一步包括求該輸出值之一第一積分,且其中該積分輸出值包含該輸出值之該第一積分及該輸出值之該第二積分。
- 如請求項1之方法,其中該臨限值係一隨機化值。
- 如請求項9之方法,其中重複步驟a)至步驟e),其中每次重複採用一不同隨機化值。
- 如請求項1之方法,其中該臨限值至少基於步驟a)至步驟e)之一重複時間或一重複次數。
- 如請求項11之方法,其中該臨限值隨著時間變化而變化。
- 如請求項12之方法,其中該一或多個可移動關節中之至少一者與一臨限值相關聯,該臨限值隨該時間變化而變化為與該一或多個可移動關節中之另一可移動關節不同。
- 如請求項1之方法,其中該一或多個可移動關節中之至少一者與該一或多個可移動關節中之另一關節相比,該臨限值係不同的。
- 如請求項14之方法,其中該不同臨限值至少取決於該一或多個可移動關節中之該至少一者在一模擬中之一方位。
- 如請求項1之方法,其中該臨限值至少取決於該一或多個可移動關節中之至少一者之一角度值。
- 如請求項16之方法,其中該臨限值基於該一或多個關節中之該至少一者經歷該角度值之時間量而變化。
- 如請求項16之方法,其中藉由隨機化熱圖表示該等角度相依臨限值,以模擬該一或多個不同關節中之該至少一者之磨損或表面之間的轉變。
- 如請求項18之方法,其中該熱圖模擬該等關節自高使用區域至低使用區域之轉變。
- 如請求項19之方法,其中在不同表面類型中該等關節之不同角具有不同臨限值。
- 一種輸入控制系統,其包括: 一處理器; 一記憶體,其耦合至該處理器; 非暫時性指令,其嵌置於該記憶體中,該非暫時性指令在由該處理器執行時使得該處理器執行用於訓練控制輸入之方法,該方法包括: a) 對來自一或多個可移動關節之一運動決策神經網路之一輸出值求一積分,以生成一積分輸出值; b) 將該積分輸出值與一間隙臨限值進行比較; c) 若該積分輸出值並未至少滿足該臨限值,則使用一機器學習演算法生成一後續輸出值,該機器學習演算法包含一模擬感測器值及一先前模擬關節位置; d) 基於該後續輸出值之一積分來模擬該一或多個模擬可移動關節之一位置;及 e) 利用該機器學習演算法至少基於對該一或多個模擬可移動關節之該位置之該模擬的一結果來訓練該運動決策神經網路。
- 一種電腦可讀媒體,在該電腦可讀媒體上嵌置有非暫時性指令,該非暫時性指令在被執行時使得一電腦執行用於訓練一控制輸入系統之方法,該方法包括: a) 對來自一或多個可移動關節之一運動決策神經網路之一輸出值求一積分,以生成一積分輸出值; b) 將該積分輸出值與一間隙臨限值進行比較; c) 若該積分輸出值並未至少滿足該臨限值,則使用一機器學習演算法生成一後續輸出值,該機器學習演算法包含一感測器值及一先前關節位置; d) 基於該後續輸出值之一積分來模擬該一或多個可移動關節之一位置;及 e) 利用該機器學習演算法至少基於對該一或多個可移動關節之該位置之該模擬的一結果來訓練該運動決策神經網路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/095,586 US20220143820A1 (en) | 2020-11-11 | 2020-11-11 | Domain adaptation for simulated motor backlash |
US17/095,586 | 2020-11-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202219841A TW202219841A (zh) | 2022-05-16 |
TWI780925B true TWI780925B (zh) | 2022-10-11 |
Family
ID=81454212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110135577A TWI780925B (zh) | 2020-11-11 | 2021-09-24 | 模擬馬達間隙之域適應 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220143820A1 (zh) |
TW (1) | TWI780925B (zh) |
WO (1) | WO2022103675A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11850752B2 (en) * | 2018-09-28 | 2023-12-26 | Intel Corporation | Robot movement apparatus and related methods |
US11701774B2 (en) * | 2020-12-16 | 2023-07-18 | Disney Enterprises, Inc. | Robotic systems using learning to provide real-time vibration-suppressing control |
US11763508B2 (en) | 2020-11-11 | 2023-09-19 | Sony Interactive Entertainment Inc. | Disambiguation of poses |
US11263796B1 (en) | 2020-11-11 | 2022-03-01 | Sony Interactive Entertainment Inc. | Binocular pose prediction |
CN118003341B (zh) * | 2024-04-09 | 2024-06-14 | 首都体育学院 | 一种基于强化学习智能体的下肢关节力矩计算方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5719480A (en) * | 1992-10-27 | 1998-02-17 | Minister Of National Defence Of Her Majesty's Canadian Government | Parametric control device |
WO2012079541A1 (zh) * | 2010-12-17 | 2012-06-21 | 浙江美科斯叉车有限公司 | 全方位移动叉车 |
US20190384316A1 (en) * | 2018-06-19 | 2019-12-19 | Lingdong Technology(Beijing)Co.Ltd | Smart lawn mower |
WO2020008878A1 (ja) * | 2018-07-02 | 2020-01-09 | ソニー株式会社 | 測位装置、測位方法、及びプログラム |
US20200143229A1 (en) * | 2018-11-01 | 2020-05-07 | Brainchip, Inc. | Spiking neural network |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10937173B2 (en) * | 2018-11-15 | 2021-03-02 | Qualcomm Incorporated | Predicting subject body poses and subject movement intent using probabilistic generative models |
US11132606B2 (en) * | 2019-03-15 | 2021-09-28 | Sony Interactive Entertainment Inc. | Reinforcement learning to train a character using disparate target animation data |
JP2022529287A (ja) * | 2019-04-17 | 2022-06-20 | クリック セラピューティクス インコーポレイテッド | ネットワーク環境におけるメッセージ選択システム |
CN111653010A (zh) * | 2020-06-11 | 2020-09-11 | 中国建设银行股份有限公司 | 无人经营场所客流量智能控制***及方法 |
-
2020
- 2020-11-11 US US17/095,586 patent/US20220143820A1/en active Pending
-
2021
- 2021-09-24 TW TW110135577A patent/TWI780925B/zh active
- 2021-11-08 WO PCT/US2021/058388 patent/WO2022103675A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5719480A (en) * | 1992-10-27 | 1998-02-17 | Minister Of National Defence Of Her Majesty's Canadian Government | Parametric control device |
WO2012079541A1 (zh) * | 2010-12-17 | 2012-06-21 | 浙江美科斯叉车有限公司 | 全方位移动叉车 |
US20190384316A1 (en) * | 2018-06-19 | 2019-12-19 | Lingdong Technology(Beijing)Co.Ltd | Smart lawn mower |
WO2020008878A1 (ja) * | 2018-07-02 | 2020-01-09 | ソニー株式会社 | 測位装置、測位方法、及びプログラム |
US20200143229A1 (en) * | 2018-11-01 | 2020-05-07 | Brainchip, Inc. | Spiking neural network |
Also Published As
Publication number | Publication date |
---|---|
TW202219841A (zh) | 2022-05-16 |
WO2022103675A1 (en) | 2022-05-19 |
US20220143820A1 (en) | 2022-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI780925B (zh) | 模擬馬達間隙之域適應 | |
TWI794993B (zh) | 基於表面阻尼隨機化之機器人訓練控制輸入系統之方法、輸入控制系統、電腦可讀媒體 | |
Song et al. | Deep reinforcement learning for modeling human locomotion control in neuromechanical simulation | |
Peng et al. | Learning locomotion skills using deeprl: Does the choice of action space matter? | |
Gangapurwala et al. | Rloc: Terrain-aware legged locomotion using reinforcement learning and optimal control | |
US20210158141A1 (en) | Control input scheme for machine learning in motion control and physics based animation | |
CN113785330B (zh) | 使用相异的目标动画数据来训练人物的强化学习 | |
Geijtenbeek et al. | Interactive character animation using simulated physics: A state‐of‐the‐art review | |
Mordatch et al. | Combining model-based policy search with online model learning for control of physical humanoids | |
Bataineh et al. | Neural network for dynamic human motion prediction | |
TWI792580B (zh) | 基於表面剛度隨機化之機器人訓練方法、訓練控制輸入系統之方法、輸入控制系統、電腦可讀媒體 | |
Sartoretti et al. | Distributed learning of decentralized control policies for articulated mobile robots | |
Kidziński et al. | Artificial intelligence for prosthetics: Challenge solutions | |
Felis et al. | Synthesis of full-body 3-d human gait using optimal control methods | |
Kenwright | Everything must change with character-based animation systems to meet tomorrows needs | |
WO2020185357A1 (en) | Motion transfer of highly dimensional movements to lower dimensional robot movements | |
Liu et al. | A SVM controller for the stable walking of biped robots based on small sample sizes | |
Taylor et al. | Learning bipedal robot locomotion from human movement | |
Fu et al. | Deep reinforcement learning based upper limb neuromusculoskeletal simulator for modelling human motor control | |
Hodossy et al. | Shared Autonomy Locomotion Synthesis With a Virtual Powered Prosthetic Ankle | |
Castellon et al. | Active learning for interactive audio-animatronic performance design | |
Castellon et al. | Active learning for interactive audio-animatronic | |
Mock | A Comparison of PPO, TD3 and SAC Reinforcement Algorithms for Quadruped Walking Gait Generation and Transfer Learning to a Physical Robot | |
Yamane | Human motion tracking by robots | |
Stracovsky | Use of Slip Prediction for Learning Grasp-Stability Policies in Robotic-Grasp Simulation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent |