OpenAI開源機器人模擬Python庫

發佈時間:2017-07-20 16:27:22 | 來源:機器之心 | 作者:佚名 | 責任編輯:胡俊


該庫是OpenAI用於深度學習機器人研究的核心工具之一,現在將其作為mujoco-py(Python 3 的MuJoCo綁定)的主要版本發佈。mujoco-py 1.50.1.0 有著大量的新能力,性能也獲得顯著提升。新功能有:

·         高效處理並行模擬

·         GPU 加速的自動 3D 渲染

·         直接獲取MuJoCo函數和數據結構

·         支援所有的MuJoCo 1.50 功能,比如改進的 contact solver

 

批量模擬


軌跡(trajectory)優化和強化學習中的很多方法得益於能夠並行運作多個模擬。mujoco-py通過OpenMP使用數據並行,以及通過Cython和NumPy使用直接訪問的記憶體管理,從而使批量模擬更有效。新版本MjSimPool介面的單純使用相比于舊版本有一個 400% 的提速,並且在一個已優化和受限的使用模式中(通過 Python 的多處理工具包獲取相同水準的並行)仍然大約為 180%。提速主要來自於訪問不同MuJoCo數據結構的時間的減少。查看示例/simpool.py 以了解MjSimPool。

 

高性能紋理隨機化


OpenAI在很多項目上使用了域隨機化技術。mujoco-py的最新版本支援自動的(headless)GPU 渲染。相較于 CPU 渲染,這有了一個 40 倍的提速,每秒可産生數百幀的合成圖像數據。上述動畫中OpenAI使用紋理隨機化技術改變了其眾多機器人中的一個的紋理,幫助這個機器人辨識其身體(在將其從模擬器轉移至現實時)。查看示例/disco_fetch.py 以了解隨機化紋理生成。

 

      通過mujoco-py實現虛擬現實


      mujoco-py公開的 API 足以實現虛擬現實交互而無需額外的 C++ 代碼。OpenAI使用mujoco-py將MuJoCo的 C++ VR 示例移植到 Python。如果你有一個 HTC Vive VR 設置,可以嘗試使用這一示例(這一支援被認為是實驗性的,但是OpenAI已在內部使用它了一段時間)。


1  2  3