從第一次想到Robot Data系列到現在,已經過去兩個多月,更新了七期文章,來到第八期,我們一起來了解一個非常有意思的工作RoboGen,與當下透過人類遙操或者動作捕捉採集示教資料不同,RoboGen這篇工作透過生成式和可微分模擬的方式在模擬環境裡進行機器人示教資料收集。它的作者來自CMU、清華、MIT、UMass Amherst、MIT-IBM AI Lab等機構,包括Yufei Wang*, Zhou Xian*, Feng Chen*, Tsun-Hsuan Wang, Yian Wang, Katerina Fragkiadaki, Zackory Erickson, David Held, Chuang Gan。
我很榮幸可以邀請到這篇文章的作者淦創(Gan Chuang)老師和周銜博士進行訪談。
淦創是UMass Amherst 的教授,同時也是MIT-IBM沃森人工智慧實驗室的研究經理。他在清華大學完成了博士學位,由姚期智先生指導,並曾在MIT擔任博士後研究員,師從Antonio Torralba、Daniela Rus和Josh Tenenbaum。淦創的研究涉及計算機視覺、人工智慧、認知科學和機器人學的交叉領域,總體目標是構建一個類人的自主智慧體,能夠在物理世界中感知、推理和行動。
周銜目前是卡內基梅隆大學機器人研究所的博士畢業生,導師是Katerina Fragkiadaki。他對機器人技術、計算機視覺和世界模型學習有廣泛的興趣。在加入CMU之前,他在新加坡南洋理工大學完成了學士學位,師從Pham Quang Cuong和I-Ming Chen。目前的研究重點是構建用於機器人研究及其他領域的統一神經策略和資料引擎。
作為Robot Data第八期,跟著我一起來了解一下全自動生成機器人示教資料和可微分物理引擎的一些科普吧。
第一部 對話周銜:如何透過RoboGen來生成大規模機器人示教資料
1. RoboGen簡介
2. RoboGen的核心思想
3. RoboGen的原理
任務提議
場景生成
訓練監督生成
使用生成的資訊進行技能學習
第二部 對話淦創:如何透過可微分模擬構建世界模型
1. 可微分物理引擎原理簡介
2. 可微模擬之於機器人學習
3. 可微模擬之於Sim2Real Gap
4. 可微模擬之於機器人資料
第三部 可微分物理引擎論文綜述
一些想法
1. RoboGen簡介
RoboGen是一種透過生成式模擬(Generative Simulation)自動學習多種機器人技能的機器人代理。與其他生成式機器人代理不同,RoboGen並不是利用已有的大語言模型或生成式AI直接生成策略或者低層動作,而是採用一種生成方案,自動生成多樣化的任務、場景和訓練監督,從而在最小化人工干預的情況下擴充套件機器人技能的學習規模。
RoboGen概覽
值得一提的是,RoboGen的幾個關鍵能力都是透過Genesis獲得的,比如透過生成式模擬和渲染進行場景生成,比如透過可微分物理引擎進行快速技能學習等。Genesis 是一個用於通用機器人學習的生成式和可微分的物理引擎,提供了一個統一的模擬平臺,支援各種材料的模擬,能夠模擬廣泛的機器人任務,同時完全支援可微分特性。Genesis作為下一代模擬基礎設施,原生支援生成模擬:這一未來正規化結合了生成式人工智慧和基於物理的模擬,旨在為機器人代理解鎖無限且多樣化的資料,讓它們能夠在前所未有的各種環境中學習廣泛的技能。Genesis 已經接近開發完成,預計下個月就會公開發布。
2. RoboGen的核心思想
RoboGen這個工作背後的思路是這樣的:首先,我們將相關資訊提取出來,然後利用這些資訊去構建一個供機器人訓練的環境。這個環境包括多個方面:機器人需要掌握的技能、每個技能適用的具體環境、環境的外觀設計、機器人與環境的互動方式等。此外,我們還要為每個任務定義明確的完成標準,這通常透過獎勵函式或損失函式來實現。值得注意的是,這些函式可以透過像語言模型這樣的大型模型生成程式碼的方式來自動建立。我們希望自動化訓練前的每一個環節,打通整個流程。這意味著從獎勵函式的定義到生成程式碼,每個環節都可以自動化處理,使整個訓練過程從頭到尾實現高度自動化。這是我們想要實現的目標,也是我們最早提出的全自動化訓練流程的核心理念。
在處理剛體互動時,強化學習非常有效,無論是用於運動(locomotion)還是操控剛體(manipulation)。然而,當涉及到柔性物體時,情況變得複雜,可微分模組至關重要。柔性物體,比如流體或會變形的衣服,與剛體不同。強化學習在這種情況下需要對狀態空間進行有效的表示。如果我們希望超越剛體的互動,開始處理柔性物體,挑戰就在於狀態空間的複雜性。例如,模擬環境中通常會用粒子系統來表示這些物體,一塊布可能由幾十萬個粒子組成。在這種情況下,用傳統的基於程式碼的獎勵函式來描述這些粒子狀態是非常困難且昂貴的。第一,粒子數量巨大,直接對其狀態進行描述和判斷目標達成與否的成本非常高。第二,很難用明確的函式來描述像衣物對摺這樣的複雜形變過程及其對應的粒子狀態。因此,傳統方法難以適用於這些複雜的情況,這也是我們需要可微分模組的原因。它們可以幫助我們更有效地處理與軟體物體的互動,簡化並加速訓練過程。
對於這類問題,使用梯度資訊確實可以加速策略的學習效果,尤其是在與純強化學習相比時,透過利用梯度來指導強化學習過程可以加速最佳化。然而,這個方向在學界仍是一個活躍研究領域,尚未有成熟的框架來將這兩種方法有效結合。同時,由於梯度本身並非總是理想的,在實際最佳化過程中,例如接觸力的梯度可能會導致最佳化景觀不連續,從而引入噪聲,影響訓練效率。梯度提供的資訊往往是區域性的,在解決複雜的非凸問題時,區域性資訊可能不足以實現全域性最佳化。這些都是當前學界試圖解決的挑戰。
3. RoboGen的原理
RoboGen是一個完全自動化的流水線,用於無盡且多樣化的技能獲取。RoboGen的流水線包括四個階段:A) 任務提議,B) 場景生成,C) 訓練監督生成,以及 D) 使用生成的資訊進行技能學習。RoboGen實現了一個自我引導的“提議-生成-學習(propose-generate-learn)”迴圈:首先,代理會提出感興趣的任務和技能;接著,透過合理配置空間佈局,填充相關的物件和資產,生成相應的模擬環境。然後,代理將提出的高階任務分解為子任務,選擇最優的學習方法(如強化學習、運動規劃或軌跡最佳化),生成所需的訓練監督,最終學習相應的策略以掌握所提議的技能。
RoboGen工作原理
任務提議
這個階段讓語言智慧體能夠自主不斷提出新任務。為實現這一點,需要透過經典的“上下文學習”(in-context learning)方法提供一些示例,讓智慧體理解當前任務的要求,並基於這些示例生成新的任務。在這個過程中,存在如何控制任務多樣性的問題,因此需要採用有效的策略。我們的策略包括從大型物體資料集中自動取樣物體,並基於這些物體的語義資訊生成與其互動的有意義任務。例如,當智慧體接收到一個微波爐的樣本時,它可能會提出加熱湯或其他食物的任務。
此外,任務生成策略還可以基於物體的affordance(即物體的可操作性),或是透過場景設定,如在客廳中指示機器人完成某些任務。智慧體可以透過這些示例舉一反三,生成更多有意義的新任務。給於任務的例子不是唯一的方法,但它們對激發靈感至關重要。雖然理論上可以直接詢問機器人哪些任務有意義,但實際操作中需要透過具體例子來啟動和引導機器人的思考過程。
場景生成
一個場景基本由兩部分組成:背景(房間的外觀)和前景(可互動的物體)。每個物體實際上是一個三維資產(3D mesh),這些資產的生成依賴於txt to 3D或image to 3D技術。這些領域發展迅速,經常有新方法生成更高質量的3D資產,這些是我們的一些上游模組。我們的想法是如何將這些3D資產按照一定有意義的空間配置進行擺放。最初的做法相對粗糙:首先提出任務,然後確定任務所需的物體,並將這些物體以較合理的方式放置在場景中。當時的場景中通常只有不到十個物體。
為了增加視覺資訊的多樣性,我們會在訓練過程中新增一些干擾項。這可以幫助提高訓練的全面性。我們現在的方法包括在影片或圖片空間中生成像廚房這樣的場景,然後提取這些圖片中的資訊,並將其應用到3D虛擬世界中。對於每個物體,我們可以從大型物體資料集中檢索,並使用3D生成模型進行生成。此外,我們在設計一套可以生成開放世界中不侷限物體種類的可互動物體(Articulated Object)的方法,預計很快會公開。3D GS並不是一種生成方法,而是一種表示方法。它的優勢在於比以前的渲染方法更快。你可以使用3D GS表示從現實場景中拍攝的影片,透過生成方法在3D GS表示空間中學習這些場景。
現在也很流行一種利用3D GS來擴增現實資料,Real2Sim(關於Real2Sim在對話趙行、莊子文:機器人跑酷和自動駕駛——機器人資料從哪裡來有提及)。但值得注意的是,3D GS本身只是渲染方式,沒有物理屬性,適合用於背景。如果背景不需要互動,可以直接放入虛擬環境中。但如果需要互動,則需要將其轉換為實際的mesh,因為3D GS僅由點構成,無法進行物理互動。需要將其表面重建為mesh,並將所有前景物體從3D GS中提取出來,新增物理屬性(如剛體、軟體的重力和摩擦力),以實現真實互動。這種方法的核心目的是透過現實世界的資料多樣性來增加在虛擬環境中互動場景的多樣性。與之相對的是,你可以從頭開始生成,利用噪聲和生成方法在空間中建立新的內容,這些生成方法和3D GS可以在高層空間中結合,模組之間可以相互耦合。
訓練監督生成
強化學習的核心在於最佳化目標,這個目標是獎勵函式。例如,如果你想以每秒三米的速度跑步,你會設定獎勵函式:速度越接近三米每秒,獎勵越大。如果沒有這個資訊,強化學習的代理就不知道目標是什麼,也不知道該如何行動。當你提出一個任務,比如向前跑時,需要定義相應的獎勵函式。例如,可以設定獎勵函式為當前速度與目標速度的差值,差值越小,獎勵越大。這將抽象的任務轉化為可以用程式碼表示的獎勵函式。強化學習透過最佳化這個獎勵函式來學習和掌握技能。最終,代理會知道如何完成任務,併為了實現目標而努力。具體來說,大語言模型幫助設計獎勵函式,之後強化學習透過訓練來實現這些獎勵函式所定義的目標。
使用生成的資訊進行技能學習
RoboGen的最後一步是透過上述訓練獲得在模擬環境下的各種各樣的機器人示教資料。這些示教資料可以有兩種呈現形式:一種是強化學習生成策略(policy),這是一個閉環控制系統,能夠根據不同的狀態採取不同的行動。這種方法適合複雜任務,透過學習來最佳化策略,以適應不同情況。另一種是路徑規劃:生成的是一個軌跡(trajectory),即在固定的狀態下每一步的動作是預先確定的。適用於較簡單的任務,比如將手從一個位置移動到另一個位置,不需要強化學習,只需在空間中進行規劃。生成的資料也需要後續驗證,失敗的資料需要被篩除。
關於策略和軌跡的區別,可以從最小的層面考慮,比如說你記錄了一次洗碗的軌跡,這就是一個軌跡。如果你錄製了100條這樣的軌跡,你可以將這些軌跡透過學習方法整合成一個策略(policy)。這個策略能夠應對不同的狀態(如碗的位置、顏色),並根據不同的情況採取相應的行動。一個特定的策略可能只適用於某種廚房環境和洗碗的任務,但最終目標是建立一個能夠處理1000種不同任務的通用策略。實現這個目標的方法是透過模仿學習,將各種演示資料(無論是軌跡還是小規模的策略)蒸餾到一個大策略中。最終,我們得到的是一個綜合了多種任務的策略。
第二部 對話淦創:如何透過可微分模擬構建世界模型
1. 可微分物理引擎原理簡介
作為Robot Data文章的主題“可微分物理引擎(Differentiable Physics)”,這個詞是不是給人一種每個字都能看懂但湊到一起就看不懂的感覺。查遍了知乎和B站等科普網站,除了一些關於胡淵明博士Taichi和DiffTachi的資料,也沒有看到關於可微物理引擎在機器人領域應用更系統的科普。所以,矮子裡拔大個,我還是決定就可微分物理引擎這個話題先寫一篇科普文章。
解釋:可微分物理引擎(Differentiable Physics Engine)是一種用於模擬物理系統的工具,其主要特點是可以對其輸入引數進行微分。傳統的物理引擎通常是基於數學模型和物理定律來模擬物體之間的相互作用和運動規律。然而,這些傳統的物理引擎在計算梯度方面通常是不可微的,這使得它們難以直接應用於需要梯度資訊的機器學習任務中。可微分物理引擎透過引入可微分的物理模型或數值計算技術,使得其在輸入引數上具有可微分性。
什麼是Simulation,比如現在有一個物體的狀態,你對物體進行一個操作,機器人有了一個動作,透過動作,物體的狀態發生變化,從一個狀態到另一個狀態,整個過程是Forward(前向)的。這種給定狀態,機器人做動作,再預測下一步會發生什麼的過程叫Physical dynamic或者前向模擬(Forward Simulation)。這個過程中,對機器人任務到最終的目標的距離可以算一個獎勵,和RL有點像,這一步做完之後離目標更近了還是更遠了,算出來一個獎勵值。如果模擬器不可微,只能做搜尋,這個非常低效,你可能需要幾千萬上億的資料去找到哪個軌跡是最好的。所以前向模擬本質是搜尋問題。
可微分物理模擬的好處是,有梯度資訊,可以用梯度下降的方式找到最優解。從狀態到動作到狀態,每一步都有導數,有導數之後可以用梯度下降的方法求解,讓獎勵的數值最大。對於不可微分的物理引擎只能用搜索或者近似的梯度,可微分物理模擬是每一步都用數學公式可以精確的算出每一步的梯度,用這個梯度來做最佳化,結果肯定是更好和更快。
現有的大多數物理引擎實際上都不支援可微分性,這導致它的解法有侷限性,必須依賴於RL或者一些Motion Planning來進行。從使用的工具角度來看,這非常受限制。但是做機器人的人可能都知道,做Trajectory Optimization是一個非常高效的方法,比RL更高效,但因為支援可微分性門檻非常高,所以這個領域的發展進展緩慢。但一旦這個問題得到解決,對於機器人學習來說,是一個革命性的進步。雖然目前RL是在模擬環境中機器人學習技能很常用的方法,但實際上,絕大多數做機器人學習的人都不認為RL是一個非常高效的學習機器人技能的方法,但是又沒有其他更好的方法。我們希望能夠構建這樣一個具有可微分性的高效系統,儘管這條路非常漫長,工程量非常大,但是我們認為這是一條必須走的道路。
2. 可微模擬之於機器人學習
我們這套可微分物理引擎系統最早是和胡淵明的Taichi合作,可微分模擬在計算圖形學(Computational Graphics)是一個很大的分支,但他們的側重是用可微分的方式讓模擬做的更準更快。在機器人領域,我們考慮的是怎麼讓Skill Learning(技能學習)更高效,用梯度的方式去做機器人技能學習。
比如我們21年和胡淵明合作的PlastineLab,對於PPO或者RL他們的學習效率非常低,而我們的方法學習效率是RL幾個數量級的提升,這也是我們為什麼後面堅定的去建立這套可微模擬系統來做機器人技能學習。當我們有了這種很高效機器人學習技能的方法之後,可以在模擬器裡收集大量的機器人示例(Demonstration)的資料,再去學一些真實世界技能遷移(Real World Skill Transfer)。所以我們整體的邏輯是透過構建強大的可微分物理模擬系統,來生成和收集大量機器人操作的資料,有了資料之後,可以訓練機器人技能學習的基礎模型,然後再學習一個Adaptive Policy,將這個模型遷移到真實世界。
包括到後面和Shuran組合作的Roboninja也是這樣一套思路,這個工作是切割各種各樣的物體。這個工作裡每個物體都不一樣,包括中間有核的物體,這種用遙操作等是非常難構建的。我們在模擬器裡構造和收集無限量的資料,讓他在模擬器裡學習一個policy再tansfer到真實世界。包括到後面的FluidLab、SoftZoo以及今年ICLR的一篇工作ThinSellLab都是這個邏輯。
3. 可微模擬之於Sim2Real Gap
目前機器人模擬器的兩大難題,一個是怎麼更快的在模擬裡學會技能,可微模擬可以迅速地找到對於一些任務比較好的Policy。另一個難題是怎麼減少Sim2Real Gap,可微模擬整個概念也是將Sim和Real更好的結合,它可以獲得更好的Sim2Real Alignment,這也是可微模擬和Pybullet這類物理引擎不同的一點。對於Pybullet這種物理引擎,解決Sim2Real Gap的辦法就是Domain Randomization,但這個方法非常不可控。可微分模擬有一個好處是,它可以用真實資料校正模擬資料(Digital Tune),比如有一個現實世界的影片,可以利用現實世界的影片來校正這個可微模擬器。假設,我們現在有一個真實世界影片,怎麼在模擬裡給他重建出來?對於可微分物理引擎,可以用真實世界影片作為目標,相當於我對模擬引擎的引數做最佳化,讓他模擬的結果和真實世界的結果做匹配。我們可以用梯度下降迅速找到引數,讓模擬和真實接近。
4. 可微模擬之於機器人資料
這裡有幾個概念區分下,RL、Differentiable Physics(可微模擬)和Motion Planning這些都是解決在模擬裡怎麼找策略(Policy)的問題;Diffusion policy,Diffusion Transformer,Imitation Learning包括Offline RL這些都是有了資料之後怎麼學技能這件事。資料的來源有兩種,一種是透過遙操作在真實世界裡採集,一種是模擬器裡來,這是兩條路線。兩條路線採集的資料,在這個後面可以接Diffusion Policy,Diffusion Transformer,IL,Offline RL,這些都是有了機器人資料(Demonstration)讓機器人去學習技能。
我們希望透過可微分物理引擎,構建一個可以廣泛適用剛體、軟體,到各種型別的特殊物體的模擬器,同時還有好的渲染能力。這其實是回到了一個問題,就是怎麼構建一個模擬環境,使得機器人能夠在這個虛擬世界裡學習並將所學應用到現實世界中。將虛擬的轉化為真實的,這是我們的一個使命。因為機器人領域目前最大的問題就是缺乏資料,儘管很多人用遙操作採資料,但遙操作產生的資料很難Scale,我更相信在模擬器裡採資料,但模擬的問題是,寫物理引擎的門檻比搭一個遙作業系統的門檻高很多。
很多機器人實驗室會傾向於遙操作,門檻更低,但這是不是最終的路徑是一個問題。現在的模擬有點像八十年代的深度學習,很多人都覺得這個門檻很高,不是那麼多人願意投入精力。我們願意沉下來做一些對這個領域有革命性意義的事情,儘管可能需要三五年甚至更長的時間。我們還是認為,透過模擬器和可微模擬來生成資料這條路線是真正能解決機器人領域資料從哪裡來的手段。
第三部 可微分物理引擎論文綜述
通用機器人模擬器和物理引擎大多隻針對剛體,其中一些比較知名的物理引擎也有可微分分支,比如由Stanford大學開發的Nimble Physics,它是DART物理引擎的一個解析可微分支。關於DART物理引擎,在聊一聊“Sim”(上)——一覽機器人模擬器生態做過介紹。MuJoCo XLA(MJX)則是在 JAX 中重新實現的 MuJoCo 物理引擎,具有可微性。
和通用機器人模擬器相比,可微分物理模擬器大都由學術團隊自己開發,生態非常分散,並沒有哪一個可微模擬器是被廣泛應用的。Simulately(聊一聊“Sim”(下)——Simulately作者訪談)對這部分特殊模擬器進行了總結和分類,常見的機器人可微模擬器典型代表包括DiffSim,FluidLab,DiSECt,PlasticineLab,DiffArticulated,ThinShellLab,DaxBench,NimblePhysics,MuJoCo XLA(MJX),SoftMAC等。接下來逐一看看這些模擬器的特點。
DiffSim
DiffSim是一個支援大量剛體和可形變物體互動的可微分物理引擎。過往的可微分物理引擎大多隻能對特定的物體類別,例如球體或二維多邊形,而無法泛化到更廣泛的物件類別。DiffSim是一個可擴充套件的可微分物理框架,可以支援大量物件及其相互作用。為了適應具有任意幾何和拓撲結構的物件,作者採用網格作為表示,並利用接觸的稀疏性進行可擴充套件的可微分碰撞處理。與基於粒子的方法相比,DiffSim在記憶體和算力需求方面節省至少兩個數量級。DiffSim使用C++進行開發。
PlasticineLab
PlasticineLab是一個針對軟體操作的可微物理引擎。現有的機器人模擬器通常只模擬剛體物理,軟體動力學在模擬、控制和分析方面更為複雜。其中最大的挑戰之一來自於其無限自由度(DoFs)及相應的高維控制方程。PlasticineLab提供了一個新的可微分物理基準,包括各種軟體操縱任務,底層物理引擎使用DiffTaichi系統支援可微的彈性和塑性變形。


DiffArticulated
DiffArticulated是一種可微分的關節體模擬方法。作者使用伴隨方法推導了關節體模擬的梯度,幾乎不需要額外計算,比自動微分(Autodiff)工具快一個數量級,將記憶體需求降低了兩個數量級。自動微分(Autodiff)模擬器在模擬步驟很多時會佔用大量記憶體,這會導致學習受到時間限制或者需要採用較大時間步長,限制了學到的行為範圍,降低模擬穩定性。


FluidLab
FluidLab是一個支援多種材料的可微物理模擬環境,可以處理涉及複雜流體動力學的操作任務,例如流體之間以及流體和固體之間的相互作用。FluidLab平臺的核心是一個完全可微分的物理模擬器FluidEngine,它支援多種材料的建模,包括固體、液體和氣體,彈性、塑性和剛性物體,牛頓和非牛頓液體,以及煙霧和空氣等多種材料。FluidEngine使用物理引擎程式語言Taichi進行開發,支援在GPU上進行大規模平行計算。此外,它以完全可微的方式實現,為下游最佳化任務提供有用的梯度資訊。


DaXBench
DaXBench是一個用於可變形物體操縱(Deformable Object Manipulation, DOM )的可微分模擬框架。與現有工作通常專注於特定型別的可變形物體不同,DaXBench支援流體、繩索、布料等;它提供了一個通用基準,用於評估不同的 DOM 方法,包括規劃、模仿學習和強化學習。

ThinShellLab
ThinShellLab是一個專為機器人與具有不同材料特性的薄殼材料(紙片、布料)進行互動而定製的可微分模擬平臺。先前的研究主要依賴啟發式策略或從真實世界的影片演示中學習策略,只關注有限的材料型別和任務(例如,展開布料),當擴充套件到更多種類的薄殼材料和各種任務時,這些方法面臨顯著挑戰。ThinShellLab設計了一系列圍繞不同薄殼物件的操縱任務。作者通過幾個真實世界的實驗展示了ThinShellLab如何透過真實到模擬的系統識別(Real-to-Sim System identification)和模擬到真實的技能轉移(Sim-to-Real Skill Transferring)來彌合模擬和現實之間的差距。

為了在模擬中重建真實場景,ThinShellLab首先透過基於視覺的觸覺感測器和力感測器收集真實世界的資料。

SoftMAC
SoftMAC是一個可微分模擬框架,它將軟體與關節剛體和衣物耦合在一起。為了在各種機器人操縱場景中應用可微分模擬,一個關鍵的挑戰是在一個統一的框架中整合各種材料。SoftMAC使用基於連續力學的Material Point Method (MPM)來模擬軟體,基於每種模態的模擬器和接觸模型,作者開發了一種可微分耦合機制,以模擬軟體與其他兩種材料之間的相互作用。
Jade
Jade是一種用於關節剛體的可微物理引擎,它在Nimble Physics基礎上進行改進,解決Nimble Physics在穿透(penetration)方面的問題。Jade將接觸建模為線性互補問題(LCP),與現有的可微模擬相比,Jade提供了一些功能,包括無交點碰撞模擬和多個摩擦接觸的穩定LCP解決方案。Jade使用連續碰撞檢測來檢測碰撞時間,並採用回溯策略來防止具有複雜幾何形狀的物體之間的相交。

一些想法
這周去北京看了下WRC,人山人海,看了各家的機器人,也都溜出來走了走,很熱鬧。但產品形態非常同質化,雖然我也想不出來什麼形態上的花樣,但總希望可以看到一些不一樣形態的機器人

。會場上遇到了很多小朋友的遊學團,機器人教育從娃娃抓起,鼓搗機器人是件很快樂的事情,從無到有能夠搭建一些東西還會動,完成的時候非常有成就感。期待一下明年的機器人大會,會有更多讓人哇塞的產品和技術吧。
References:
RoboGen
https://robogen-ai.github.io/
Nimble Physcis:https://nimblephysics.org/
DiffSim: Yi-Ling Qiao, Junbang Liang, Vladlen Koltun, Ming C. Lin,Scalable Differentiable Physics for Learning and Control, 2020
PlasticineLab:Zhiao Huang, Yuanming Hu, Tao Du, Siyuan Zhou, Hao Su, Joshua B. Tenenbaum, Chuang Gan,PlasticineLab: A Soft-Body Manipulation Benchmark with Differentiable Physics,ICLR 2021
DiffArticulated:Efficient Differentiable Simulation of Articulated Bodies. Yi-Ling Qiao, Junbang Liang, Vladlen Koltun, Ming C Lin, ICML 2021
FluidLab:Zhou Xian,Bo Zhu,Zhenjia Xu,Hsiao-Yu Tung,Antonio Torralba,Katerina Fragkiadaki,Chuang Gan,FluidLab: A Differentiable Environment for Benchmarking Complex Fluid Manipulation, ICLR 2023
DiSECt: A Differentiable Simulation Engine for Autonomous Robotic Cutting Eric Heiden, Miles Macklin, Yashraj Narang, Dieter Fox, Animesh Garg, Fabio Ramos, 2021
DaxBench: a deformable object manipulation benchmark with differentiable physics.Siwei Chen, Yiqing Xu, Cunjun Yu, Linfeng Li, Xiao Ma, Zhongwen Xu, David Hsu, 2023
SoftMAC: Differentiable Soft Body Simulation with Forecast-based Contact Model and Two-way Coupling with Articulated Rigid Bodies and Clothes,Min Liu, Gang Yang, Siyuan Luo, Chen Yu, and Lin Shao,2023
Jade: A Differentiable Physics Engine for Articulated Rigid Bodies with Intersection-Free Frictional Contact Gang Yang, Siyuan Luo, Yunhai Feng, Zhixin Sun, Chenrui Tie, and Lin Shao
ThinShellLab: a differentiable simulator for manipulating thin-shell materials, such as cloths and papers. https://thinshelllab.github.io/
原創不易快來來個三連給些鼓勵吧!

歡迎“點贊”“打賞”“在看”三連!