TWI739604B - 訓練機器動物的運動控制器的方法 - Google Patents
訓練機器動物的運動控制器的方法 Download PDFInfo
- Publication number
- TWI739604B TWI739604B TW109132222A TW109132222A TWI739604B TW I739604 B TWI739604 B TW I739604B TW 109132222 A TW109132222 A TW 109132222A TW 109132222 A TW109132222 A TW 109132222A TW I739604 B TWI739604 B TW I739604B
- Authority
- TW
- Taiwan
- Prior art keywords
- animal
- state
- weight
- training
- primitive
- Prior art date
Links
Images
Landscapes
- Toys (AREA)
- Manipulator (AREA)
- Feedback Control In General (AREA)
Abstract
一種訓練機器動物的運動控制器的方法包括:取得參考動物的運動資料、環境參數及干擾參數,以策略網路依據運動資料產生多個基元分布及第一基元權重, 從運動資料中選擇參考動物的當前狀態、設置參考動物的適應狀態,以策略網路至少依據當前狀態、適應狀態、基元分布產生第二基元權重,其中適應狀態係處於當前狀態的參考動物響應於環境參數及干擾參數後之狀態,以及以判別器依據第一基元權重及第二基元權重之比對結果訓練策略網路。
Description
本發明涉及控制領域,特別是一種讓控制虛擬動物運動的控制器適用於控制實體機器動物的方法。
控制機器四足動物自然地運動仍相當具有挑戰性。傳統方法需要在機器人領域知識及複雜的參數調整方面有豐富的經驗。由於實驗期間不斷掉落會永久損壞硬體設備,並使整個控制系統不穩定。因此,在物理模擬器中訓練似乎是最合理的方法,因為這種方式快速、安全且便宜。
最近,深度強化學習(Deep Reinforcement Learning,DRL)顯示出在解決運動問題方面的巨大進步。與需要事先掌握真實物理動力學知識的基於模型的方法學習技能相比,深度強化學習可以通過反複試驗來學習各種技能,從而減少了人類參與的需求。用於開發模擬角色控制器的許多優化技術都採用了深度強化學習。
然而,就虛擬機器四足動物而言,藉由深度強化學習得到的行為看起來仍不如透過人工設計得到的行為更為自然。挑戰的部分源於為自然運動指定獎勵函數的困難,特別是在缺乏可用於實現自然模擬運動的生物力學模型和目標的情況下。另一方面,在合成或模擬層面時,讓虛擬機器四足動物進行真實運動而訓練的策略通常無法順利轉移到真實世界中。
有鑑於此,本發明提出一種訓練機器動物的運動控制器的方法,藉此讓控制虛擬動物運動的控制器可適用於現實世界的機器動物。
依據本發明一實施例提出的一種訓練機器動物的運動控制器的方法,包括:取得參考動物的運動資料、環境參數及干擾參數;以策略網路依據運動資料產生多個基元分布及第一基元權重; 從運動資料中選擇參考動物的當前狀態、設置參考動物的適應狀態;以策略網路至少依據當前狀態、適應狀態、基元分布產生第二基元權重,其中適應狀態係處於當前狀態的參考動物響應於環境參數及干擾參數後之狀態;以及以判別器依據第一基元權重及第二基元權重之比對結果訓練策略網路。
綜上所述,本發明提出的訓練機器動物的運動控制器的方法,透過在訓練過程中加入對於致動器模型、機械限制、感測器干擾、環境變化、推理引擎(inference engine)延遲及微控制器延遲各自適用的擴增參數,藉此訓練出具有強健性(roubustness)的控制器,此控制器不僅適用於角色動畫中的虛擬動物,也能夠直接整合實體的機器動物,採用高階指令控制實體機器動物運動。
以上之關於本揭露內容之說明及以下之實施方式之說明係用以示範與解釋本發明之精神與原理,並且提供本發明之專利申請範圍更進一步之解釋。
以下在實施方式中詳細敘述本發明之詳細特徵以及特點,其內容足以使任何熟習相關技藝者了解本發明之技術內容並據以實施,且根據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本發明相關之構想及特點。以下之實施例係進一步詳細說明本發明之觀點,但非以任何觀點限制本發明之範疇。
本發明提出一種訓練機器動物的運動控制器的方法。整體而言,對於一個基於控制參數控制虛擬動物運動的控制器, 本發明在訓練此控制器的基礎上擴增(augment)訓練過程中的輸入參數及輸出參數,藉此獲得一個可直接應用於實體的四足機器動物的強健(robust)的控制器,此控制器亦可以在虛擬世界中被應用。
圖1是機器動物的示意圖。機器動物包括多個關節,如圖1所示。圖1繪示的四足機器動物具有20個關節,每個關節可配置馬達。應用本發明所訓練出的控制器用於在每個馬達提供一旋轉動量,使該處的馬達產生扭力,進而驅動機器動物運動。
圖2繪示本發明一實施例的流程圖,包含步驟S1~S5。步驟S1是「取得參考動物的運動資料、環境參數及干擾參數」。參考動物是虛擬動物的真實版本,例如為狗。運動資料包含參考動物在一段時間(例如為10秒)的多個狀態資訊,每個狀態資訊包含下列量測資料:位置、速度、旋轉量及角速度,除了旋轉量以4維的四元數(quaternions)表示,其餘三者以三維向量表示。
在本發明一實施例中,步驟S1所取得的運動資料包含當前狀態及歷史狀態。且在「取得當前狀態」的運動資料之後,更包括將當前狀態儲存至輸入佇列的步驟。換言之,本發明一實施例係維護一個輸入佇列,其儲存參考動物在一段時間內的所有狀態資訊。藉此,在訓練時,除了可取得參考動物的當前資訊,也能夠一併取得參考動物在一段時間前的狀態資訊。
圖3是步驟S1的一實施例的細部流程圖。在圖3中,步驟S1之後更包括步驟S11~S13。
步驟S11是「取得參考動物的環境參數及干擾參數」。步驟S12是「取得參考動物的當前狀態並儲存在輸入佇列」。步驟S13是「從輸入佇列取得參考動物的歷史狀態」。
詳言之,步驟S11~S13係考量推理引擎(inference engine)及微控制器(microcontroller)的延遲。在本發明又一實施例中,除了以輸入佇列(queue)儲存先前的參考動物的狀態資訊,也儲存PD控制器的歷史資訊。在訓練期間,策略網路會根據給定的推理延遲接收從輸入佇列查詢到的歷史狀態,PD控制器也會根據給定的PD延遲時間從輸入佇列接收延遲後的控制資訊。舉例來說,將推理延遲和PD延遲分別設置為15毫秒和2毫秒,並且將策略網絡的控制頻率從30赫芝 (Hertz,Hz)增加到200赫芝,藉此以實現更好的系統穩定性和敏捷性。因此,步驟S1中可接收到當前狀態、15毫秒前的歷史狀態,2毫秒前的PD控制參數,以及環境參數與干擾參數。上述的運動資料的當前狀態及歷史狀態亦可擴及到環境參數及干擾參數的當前及歷史資訊,本發明對此不予限制。
在本發明一實施例中,環境參數包含參考動物在特定環境下的速度及方向等資訊。例如考慮一個參考動物走直線的場景,因為環境中的直線道路具有坑洞,因此參考動物在第t秒的時候,前進方向從12點鐘方向更改為9點鐘方向,前進速度由每秒2公尺更改完每秒1.5公尺,上述範例中的數字即為環境參數的示例,然而該些數字以及參考動物的閃避坑洞的範例動作並非用於限制本發明。實務上,為了使機器動物或虛擬動物能夠適應各種場景,可提高環境參數的訓練樣本數量。
在本發明一實施例中,「取得運動資料」的一種實施方式是在真實世界的動物身體上設置多個感測器,藉此收集運動資料。步驟S11的另一種實施方式是透過物理引擎模擬得到運動資料。對於步驟S11取得運動資料的方式,本發明並不特別限制。
在本發明另一實施例中,環境參數包含參考動物所處環境的高度圖(heightmap)。鑑於真實環境與模擬環境的差異,本發明透過此環境參數考慮地形變化的特殊情狀。一般而言,對於參考動物的參考運動是在平坦地形上取樣。本發明考量不規則的環境因素,而使用高度圖輸入來擴增策略網路(policy netwotrk)。針對丘陵環境,高度圖是圍繞角色的2維均勻網格上進行採樣,且高度圖的大小為32*32,針對樓梯環境,高度圖在機器動物的著陸點以一維形式進行採樣,且高度圖的大小為100。上述考慮的樓梯環境為單一方向,若樓梯為任意形式,則高度圖亦可為2維形式。本發明對於各種場景所應採用的高度圖形式並不特別限制 。
圖4是擴增高度圖的策略網路的示意圖。本發明使用16個8x8過濾器(filter)、32個4x4過濾器以及32個4x4過濾器的三個卷積層(convolution layer)處理高度圖,然後透過具有64個單位的完全連接層(fully connected layer)將特徵圖展開,後續連接具有1024及512個單位的完全連接層處理輸出狀態。激勵函數則使用整流線性單位函數(Rectified Linear Unit, ReLU)激勵所有隱藏層。
為了加快訓練的速度,本發明一實施例採用漸進式訓練機制(progressive learning mechanism),或稱為暖啟動策略(warm-start strategy),其中策略網路係以訓練好的模型針對無高度圖的平坦地面的環境初始化,然後再加入高度圖進一步訓練。
在本發明又一實施例中,環境參數包含設置多種摩擦係數的地面。
在本發明一實施例中,干擾參數包含施加於比例微分控制器的高斯噪聲(Gaussian noise),其為施加在輸入端的擴增參數。詳言之,機器動物的每一關節具有馬達及比例微分(propontional-derivative,PD)控制器。機器動物的致動器模型是透過PD控制器的位置控制來驅動的。實務上,隨著電流的增加,轉矩增益(torque)可能達到飽和。這是因為線性的「轉矩-電流」關係僅適用於理想馬達。為了消除致動器模型在虛擬動物及機器動物之間的差異,本發明將高斯噪聲乘以PD控制器輸出的轉矩,藉此模擬馬達動力改變帶來的影響。透過上述擴增的干擾參數,即使改變了運動強度,機器動物仍然可能實現與虛擬動物足夠接近的動作。
在另一實施例中,干擾參數包含施加於一個關節的外力大小、施力方向及持續時間,舉例來說,針對機器動物的背部關節J3的干擾參數為50~100牛頓(N)、9點鐘方向、持續0.5秒,這些範例數值可隨機產生,或人工指定,本發明對此不予限制。在真實世界中,機器動物的狀態是透過感測器量測而得。考慮機器動物的關節的機械限制,以及感測器的噪聲影響,因此有必要將「現實」感測器的輸入擴增到本發明所訓練的控制器中。一個受過良好訓練的機器動物的強健性可透過模擬此機器動物應對環境中的外力干擾產生的恢復行為來衡量。
請參考圖2。步驟S2是「策略網路依據運動資料產生多個基元分布及第一基元權重」。在步驟S2中,本發明一實施例採用如下文件中述及的策略網路,“Xue Bin Peng, Michael Chang, Grace Zhang, Pieter Abbeel, and Sergey Levine. 2019. MCP: Learning Composable Hierarchical Control with Multiplicative Compositional Policies. In NeurIPS” 。
上述文件中的策略網路包含兩個模組:基元網路(primitive network)及門控網路(gating network)。基元網路用以依據運動資料產生基元分布,門控網路用於依據參考動物的當前狀態及目標狀態產生多個第一基元權重。在一實施例中,當前狀態及參考狀態是指定特定時間點的運動資料。
基元分布(primitive distribution),或稱為基元影響力(primitive influence),其為動作的基本單位。多個基元分布與其對應的第一基元權重採用乘法形式組合而形成的高斯分布可使機器動物呈現如目標狀態或當前狀態的動作。
步驟S3是「從運動資料中選擇參考動物的當前狀態、設置參考動物的適應狀態」。詳言之,在運動資料包含的時間範圍中,指定特定時點的運動資料作為當前狀態。適應狀態係處於當前狀態的參考動物響應於環境參數及干擾參數後之狀態。舉例來說,參考動物因為要閃躲環境中的掉落物體,因此在前進速度上產生了變化。所述的適應狀態例如是反映上述速度變化的序列。
步驟S4是「策略網路至少依據當前狀態、適應狀態、基元分布產生第二基元權重」。詳言之,步驟S2是使用策略網路中的門控網路產生第一基元權重。而本步驟S4同樣是使用策略網路中的門控網路產生第二基元權重,其差別在於:在步驟S4中,用於訓練門控網路的參數更包含係基於環境參數而得到的適應狀態。
步驟S5是「判別器依據第一基元權重及第二基元權重之比對結果訓練策略網路」。在本發明一實施例中,採用生成對抗網路(Generative Adversarial Network)架構中的判別器(Discriminator)比對第一及第二基元權重是否相同。在本發明另一實施例中,可採用L1距離或L2距離以及一最大距離閾值作為判別器。若第一及第二基元權重的相似度在一指定範圍之內,則保留當前產生的第二基元權重。否則,回到步驟S4再次由策略網路中的門控網路產生另一種第二基元權重。
在執行步驟S1~S5的流程之後訓練完成的策略網路已可作為控制機器動物運動的控制器。在本發明一實施例中,在步驟S5之後更包括步驟S6,步驟S6是「依據基元分布及第二基元權重產生動作分布,動作分布包括每個關節的輸出動量」。步驟S6係實際透過訓練完成的控制器發出讓機器動物執行指定動作的命令。
綜上所述,本發明提出的訓練機器動物的運動控制器的方法,透過在訓練過程中加入對於致動器模型、機械限制、感測器干擾、環境變化、推理引擎(inference engine)延遲及微控制器延遲各自適用的擴增參數,藉此訓練出具有強健性(roubustness)的控制器,此控制器不僅適用於角色動畫中的虛擬動物,也能夠直接整合實體的機器動物,採用高階指令控制實體機器動物運動。在訓練一個控制虛擬動物基於控制參數運動的控制器的過程中,本發明透過擴增(augment)用於訓練的輸入或輸出參數,而實現讓用於控制虛擬動物運動的控制器也能用於控制實體機器動物運動。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明。在不脫離本發明之精神和範圍內,所為之更動與潤飾,均屬本發明之專利保護範圍。關於本發明所界定之保護範圍請參考所附之申請專利範圍。
J1~J20:關節
S1~S6、S11~S13:步驟
H:高度圖
圖1是機器動物的示意圖;
圖2是本發明一實施例的訓練機器動物的運動控制器的方法的流程圖;
圖3是圖1的步驟S1後的細部流程圖;以及
圖4是擴增高度圖的策略網路的示意圖。
S1~S6:步驟
Claims (5)
- 一種訓練機器動物的運動控制器的方法,適用於具有多個關節的該機器動物,所述的方法包括:取得一參考動物的一運動資料、一環境參數及一干擾參數;以一策略網路依據該運動資料產生多個基元分布及一第一基元權重;從該運動資料中選擇該參考動物的一當前狀態、設置該參考動物的一適應狀態;以該策略網路至少依據該當前狀態、該適應狀態、該些基元分布產生一第二基元權重,其中該適應狀態係處於該當前狀態的該參考動物響應於該環境參數及該干擾參數後之狀態;以及以一判別器依據該第一基元權重及該第二基元權重之比對結果訓練該策略網路,其中該判別器根據用以判斷該第一基元權重及該第二基元權重的相似度是否在一指定範圍之內,以決定保留該第二基元權重或以該策略網路產生另一第二基元權重;其中每一該些關節具有一馬達及一比例微分(propontional-derivative)控制器,且該干擾參數包含施加於該比例微分控制器的高斯噪聲。
- 如請求項1所述訓練機器動物的運動控制器的方法,其中該干擾參數包含施加於該些關節其中一者的一外力及一施力方向。
- 如請求項1所述訓練機器動物的運動控制器的方法,其中該環境參數包含一高度圖。
- 如請求項1所述訓練機器動物的運動控制器的方法,在以該判別器依據該第一基元權重及該第二基元權重之比對結果訓練該策略網路之後, 更包括:依據該些基元分布及該第二基元權重產生一動作分布,該動作分布包括該些關節的輸出動量。
- 如請求項1所述訓練機器動物的運動控制器的方法,其中該運動資料包含該當前狀態及一歷史狀態,該歷史狀態被儲存在一輸入佇列;且在取得該參考動物的該運動資料、該環境參數及該干擾參數之後,更包括:儲存該當前狀態至該輸入佇列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109132222A TWI739604B (zh) | 2020-09-18 | 2020-09-18 | 訓練機器動物的運動控制器的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109132222A TWI739604B (zh) | 2020-09-18 | 2020-09-18 | 訓練機器動物的運動控制器的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI739604B true TWI739604B (zh) | 2021-09-11 |
TW202213190A TW202213190A (zh) | 2022-04-01 |
Family
ID=78777995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109132222A TWI739604B (zh) | 2020-09-18 | 2020-09-18 | 訓練機器動物的運動控制器的方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI739604B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1258436C (zh) * | 2003-09-19 | 2006-06-07 | 清华大学 | 实现动物节律运动的足式仿生机器人控制方法及装置 |
TW200919210A (en) * | 2007-07-18 | 2009-05-01 | Steven Kays | Adaptive electronic design |
CN102046337A (zh) * | 2008-04-09 | 2011-05-04 | 奥尔德巴伦机器人公司 | 使用关节型四肢的移动机器人的控制指令结构 |
CN107067451A (zh) * | 2017-04-07 | 2017-08-18 | 广州爱九游信息技术有限公司 | 动画中动态骨骼的实现方法和装置 |
US20190232488A1 (en) * | 2016-09-15 | 2019-08-01 | Google Llc | Deep reinforcement learning for robotic manipulation |
-
2020
- 2020-09-18 TW TW109132222A patent/TWI739604B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1258436C (zh) * | 2003-09-19 | 2006-06-07 | 清华大学 | 实现动物节律运动的足式仿生机器人控制方法及装置 |
TW200919210A (en) * | 2007-07-18 | 2009-05-01 | Steven Kays | Adaptive electronic design |
CN102046337A (zh) * | 2008-04-09 | 2011-05-04 | 奥尔德巴伦机器人公司 | 使用关节型四肢的移动机器人的控制指令结构 |
US20190232488A1 (en) * | 2016-09-15 | 2019-08-01 | Google Llc | Deep reinforcement learning for robotic manipulation |
CN107067451A (zh) * | 2017-04-07 | 2017-08-18 | 广州爱九游信息技术有限公司 | 动画中动态骨骼的实现方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
TW202213190A (zh) | 2022-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zordan et al. | Motion capture-driven simulations that hit and react | |
Geijtenbeek et al. | Interactive character animation using simulated physics: A state‐of‐the‐art review | |
Muelling et al. | Learning table tennis with a mixture of motor primitives | |
Coros et al. | Locomotion skills for simulated quadrupeds | |
Lee et al. | Precomputing avatar behavior from human motion data | |
Kober et al. | Imitation and reinforcement learning | |
Kober et al. | Movement templates for learning of hitting and batting | |
Laszlo et al. | Interactive control for physically-based animation | |
Bellegarda et al. | Robust high-speed running for quadruped robots via deep reinforcement learning | |
Van De Panne | Parameterized gait synthesis | |
US20040169656A1 (en) | Method for motion simulation of an articulated figure using animation input | |
Kenwright | Everything must change with character-based animation systems to meet tomorrows needs | |
CN113156892A (zh) | 一种基于深度强化学习的四足机器人模仿运动控制方法 | |
US11474484B2 (en) | Method for training virtual animal to move based on control parameter | |
US20080058988A1 (en) | Robots with autonomous behavior | |
Chemin et al. | A physics-based juggling simulation using reinforcement learning | |
TWI739604B (zh) | 訓練機器動物的運動控制器的方法 | |
Guo et al. | A novel locomotion synthesis and optimisation framework for insects | |
Floyd et al. | Creation of devs models using imitation learning | |
Mobalegh | Development of an autonomous humanoid robot team | |
Huang | Planning for dynamic motions using a search tree. | |
Carlsen et al. | Evolving balancing controllers for biped characters in games | |
TWI811156B (zh) | 機器人的運動步態的過渡方法 | |
Albright et al. | Learning energy efficient jumping strategies for flexible-legged systems | |
Huang et al. | A planning algorithm for dynamic motions |