有誰用過V-REP嗎?給新手一些指導吧
有誰用過V-REP嗎?可否提供一些入門的資料,最好有中文版的。新手求指導
附官網鏈接:Coppelia Robotics v-rep: Create. Compose. Simulate. Any Robot感覺是一個很高大上很強大的東西
中文版目前肯定是沒有的,想要用好此類機器人軟體就必須接受英語。
首先想分析一下目前市場上的軟體,以此談一下VREP的優缺點。
目前市場上有很多建模和模擬軟體,最常見的建模軟體無非是CAD類,比如CATIA,SOLIDWORKS等等,這些軟體的側重點在於精確的機械建模,用於生產/工廠規劃等等。另外一類軟體是模擬分析軟體,比如FEM軟體ANSYS,可以進行非常精確的應力/材料/溫度分析等等。還有一類是多體動力學軟體,比如MSC公司的ADAMS,韓國的Recurdyn,這些軟體是基於物理引擎的動力學模擬。
在對比VREP和其他軟體前先說一下物理引擎。
物理引擎是一種基於牛頓力學的數學演算法,也就是說,通過這種演算法能夠模擬真實的物理世界,所謂「真實的物理世界」所指的是包含力的效應的動力學,而不是簡單的運動學。舉一個簡單的例子,在CAD軟體中已經包含的運動學模擬,比如兩個小球可以互相移動,然後碰撞,停止。現在問題來了(挖掘機哪家強?),發生碰撞效應之後,力的傳導是怎樣的?會不會反彈?反彈多少?這些問題都可以由理論力學根據真實的小球質量,材料特性,摩擦力等等在紙上計算出來,然而在CAD中並不包含這部分演算法。所有基於物理引擎的模擬軟體,像VREP,ADAMS,Recurdyn都可以解決此類問題。我們所常見的FPS遊戲CS,COD,俠盜獵車,賽車遊戲NFS,還有Steam公司開發的DOTA2都是基於物理引擎的遊戲,所以會給玩家帶來真實的物理世界遊戲體驗。關於物理引擎更多的知識請自己google,這裡推薦一篇文章:How Physics Engines WorkCAD軟體不包含物理引擎,而模擬軟體則是基於物理引擎的。
ADAMS,Recurdyn或者ANSYS,這些軟體的優點在於,這些公司研發的物理引擎演算法非常精確,具有針對性,比如在輪胎分析領域,FEM軟體絕對是不二之選,因為橡膠材料的模擬不僅涉及到形變,還有溫變,這是一個非常專業的領域。其他等等等等很多例子不再另述。然而它們也有缺點。首當其衝的就是價格,Recurdyn的專業版售價約3萬歐元,之後還要每年續費,另外如果需要特別的工具包還要每個月付租金(默認工具包少的可憐)。ADAMS更貴,因為MSC公司是多體動力學軟體的領頭羊。VREP售價5000歐左右,之後的續費也非常合理。第二,上手不容易,不經過培訓根本別想靠自學搞出點什麼名堂來。培訓有兩條路,學術培訓(大學授課)和商業培訓。國內很多軟體課基本學不到什麼東西,因為很多教授自己都不懂,跟工業領域實際應用脫節太厲害。商業培訓是要付很多錢的,除非是像比如Continental做輪胎需要在這一塊研發投入很多財力人力,不然一般公司里不會考慮這種額外的費用和精力。第三,開源和自由編程。雖然物理引擎庫演算法精確,但是不開源,這在一定程度上限制了作為開發人員的可拓展性。
VREP就是在這三點上具有優勢的。VREP集成了建模/編程/物理引擎。它具有三款物理引擎,Bullet/ODE/Vortex。Bullet和ODE都是是開源的,曾經用於很多遊戲(個人測試下來ODE不太行)。Vortex是商業物理引擎,它的開發公司是CM-Labs,這家公司自己也有類似VREP的機器人模擬軟體CM-Labs,雖然引擎庫的計算精確性要比Bullet好很多,但是建模和編程環境沒有VREP方便。第二,VREP本身也是開源的。它使用的是LUA語言進行編程。LUA是一個體積很小的編程語言,但是卻集成了C庫,Python,Matlab等等其他主流語言,這使得工程師非常容易上手。開源,快速,靈活的建模和模擬,同時保證一定的模擬精度,這是研發中非常重要的一部分。VREP本身也有一些bug,它還是一個小軟體,在不斷改進中,去官網看看它的版本更新就有體會了。它是一個瑞士工程師開發的(也就是論壇網管coppelia),目前還有很多問題沒有解決。比如,一個程序里所有代碼頁(scripts)的執行順序是未知的,這會導致輸入輸出變數的先後順序錯位,導致計算錯誤。
總之,我個人覺得VREP是一款非常有趣的軟體,主要因為我以前也沒有真正接觸過物理引擎,只是在遊戲中聽到過這個詞,現在真正去了解了,發現非常有趣,很多以前學的牛頓學物理知識又有進一步的深入理解。同時,因為它是軟體,在編程和分析錯誤方面也有很多新的經驗和體會。
2016.1.6 更新:
關於物理引擎 「Bullet, ODE, 和 Newton」 (Vortex 自動忽略)使用經驗
對於複雜系統(32個自由度),如果涉及到 V-rep 和 MATLAB, Python, 或 ROS 某一個或者某幾個之間的通訊問題,ODE 最佳,Bullet 可用,Newton 不推薦。
不涉及通訊,直接 LUA,ODE 依然最佳,Newton 相差無幾,甚至會比 ODE 更穩定,Bullet 也可用。不展開了,純個人經驗。
=======================================================================
先快速回答問題:
1. 最好的快速入門的資料,官方的 Tutorials V-REP User Manual
2. 最好有中文版的,據我所知,沒發現有太好的。
好了,直接略去關於V-rep 最基本的介紹和與其他常用機器人模擬軟體 Gazebo 的詳細比較(感興趣參閱 Draft:Comparison of Robotic Simulators ),直接上使用一個多月來的一些心得。
正如上面所說,個人感覺最好的快速入門資料就是官方的 Tutorials,尤其是 Bubble Rob tutorial, Inverse kinematics tutorial,Importing and preparing rigid bodies tutorial,和Hexapod tutorial,一邊做一邊點開藍色的關鍵詞學習,一天便可對軟體有個整體的把握。
有了最基本的把握之後,便可以根據需要進行深入的學習。下面是一些好資源和小技巧:
1. 油管上的視頻,Nikolai K. https://www.youtube.com/playlist?list=PL38P7Q24q4XA7c0uNj0kO4or-bKhFYdIg
2. 在創建Pure Shape 組成的多體動力學模型中,如果原始模型是在SolidWorks里設計完成的。在輸入轉動慣量時可以藉助SolidWorks to URDF Exporter sw_urdf_exporter 插件,藉助 V-rep 的 Plugins 導入 URDF 文件。個人使用經驗是質量和質心是正確的,轉動慣量需要調整 「+」 「-」 符號(參考轉動慣量範式)。
3. 如果使用MATLAB 進行編程開發,首先實現兩軟體之間的連接通訊問題參見 Enabling the Remote API 。V-rep 安裝文件夾programming/remoteApiBindings/matlab 里的simpleTest.m 和simpleSynchronousTest.m 是首先必看的參考。
4. Github上的 empireryan/vrepMatlab empireryan/vrepMatlab · GitHub 在 MATLAB 中實現了官方 Tutorials 里的 bubble Rob 和quadrotor scene,可以用來快速把握實現兩軟體之間的連接通訊問題。
5. Github上的ULgRobotics/trs ULgRobotics/trs · GitHub 是非常好的參考。項目介紹參見 TRS: An Open-source Recipe for Teaching (and Learning) Robotics with a Simulator
6. V-REP Forum: V-REP Forum - Index page 有大量官方管理員答疑的回復,有很高的參考價值。管理員很活躍,實在解決不了的問題可以提問,一般會在一天內收到答覆。
先就想起來這些,以後有別的會進一步更新。歡迎各位師兄討論指正。
可以關注我的專欄,地址:Vrep機器人動力學建模模擬
在簡書里寫了一部分教程,有興趣可以多交流
- [連載 0]Vrep入門介紹
- [連載 1]Vrep小車建模——前進和轉向
- [連載 2]Vrep小車建模——內嵌腳本
- [連載 3]Vrep小車建模——matlab控制
- [番外1]彈跳平衡車
- [番外2]Vrep小車機械臂抓取
我之前用過一段時間 寫了個簡單的筆記 可供參考
機器人模擬 軟體 V-REP 入門教程 (二)基本操作
V-REP 和MATLAB機器人工具箱如何連接?有人了解嗎
最近也在研究這個軟體,由於是比較新的軟體所以網上資料少的可憐。現階段最高效的方法就是打開源代碼自己不斷改編來看模擬效果,很快就能上手試著跟著user manaul里的tutorials做一些常式
你好,我想問下這款軟體 是開源免費的嗎? 還是需要錢來購買的商業軟體?
我想問一下matlab 新出的robotics toolbox 工具箱與vrep和gazebo相比有什麼區別和優勢呢
推薦閱讀:
※如果智商可以科學的量化,那用它來進行人的階級分層違背倫理嗎?
※2016 美國機器人路線圖報告解讀-醫療機器人
※能征服崎嶇道路的 MARLO,會跟波士頓動力一樣靈活嗎?
※這個全地形機器人,在未來也許會成為你的工作夥伴 or 家庭成員
TAG:機器人 |