通過模擬組件及控制程序創(chuàng)建機器人或系統(tǒng)完整虛擬模型極大程度影響了項目總體的效率。每一個可以被模擬的區(qū)域的詳細及準確程度無疑會影響整個項目周期及成本。
一、 仿真的好處
- 降低機器人生產(chǎn)成本
- 判斷源代碼所控制的資源(是否正確)
- 模擬多種替代方案而無需物理成本
- 機器人或者組件能夠在部署前被提前驗證
- 仿真能夠在方案設(shè)計階段完成,適合多個項目協(xié)作
- 展示系統(tǒng)判斷是否可行
- 仿真兼容多種語言
- 更短的交付時間(Delivery times)
二、仿真的缺點
- 一個應(yīng)用只能仿真那些被仿真考慮的因素,那些沒有考慮的因素就不永遠不會被考慮
- 相較于仿真,實際環(huán)境考慮的東西更加全面
現(xiàn)代的仿真軟件平臺提供了越來越多的功能,讓仿真更加容易,更加貼近現(xiàn)實生活。大多數(shù)仿真工具都與C/C++ Perl Python Java Labview URBI或者MATLAB兼容,根據(jù)你的感興趣的領(lǐng)域有著不一樣功能側(cè)重點。看看下面的選項,找出一個滿足你要求的仿真軟件吧!
三、仿真軟件簡介
3.1 Visual Components
Visual Components來自芬蘭,是生產(chǎn)線的先進設(shè)計和仿真套件??梢阅M和分析整個制造過程,包括機器人設(shè)備,材料流量,人力操作員動作等。3DAutomate系列的旗艦產(chǎn)品甚至支持整個工廠模擬。其他功能包括離線編程,開放式API和具有超過1800多種工業(yè)機器人,機械,設(shè)施,工具等硬件的廣泛的組件庫。
3.2 RoboDK
Robodk是一個用于工業(yè)機器人的離線編程工具,得益于集成的3D仿真環(huán)境來,它允許使用Python或其他語言來設(shè)計程序。在將其上傳到物理機器人之前,所有程序都會自動轉(zhuǎn)換為機器人特定語言。該軟件庫有部分ABB,Kuka,Yaskawa的ABB,Kuka,Yaskawa的工具提供3D型號。
Robodk提供了眾多的開發(fā)功能 - 它可以產(chǎn)生警報,當(dāng)檢測到機器人奇點或可能的碰撞時,它代表了圖形方式機器人工作空間,并且還允許用戶相應(yīng)地概述整個技術(shù)和程序。
3.3 V-REP
V-rep是一個與Windows,Mac和Linux兼容的3D模擬器,可提供免費的教育教育許可或有付費商業(yè)目的的有償許可證。
軟件允許你模擬整個系統(tǒng)或者部分組件(傳感器、機構(gòu)和齒輪等),組件可以被附加到機器人對象上。該平臺可以用于控制硬件組件、開發(fā)算法、船艦工廠自動化模擬,或者用于教育。
3.4 Webots
Webots由瑞士的公司Cyberbotics開發(fā)。該軟件具有友好的界面交互,支持包括C/C++ Java Python URBI MATLAB在內(nèi)的多款軟件,同時也能夠通過TCP/IP協(xié)議完成第三方軟件完成交互。
3.5 RobotStudio
RobotStudio是ABB創(chuàng)建的強大的開發(fā)套件,專注于工業(yè)機器人仿真和離線編程。該產(chǎn)品還提供通用的組件列表,可用于模擬機器人或其傳感器,執(zhí)行器,夾具等。但是免費版本功能有限。
3.6 Gazebo
Gazebo可以模擬復(fù)雜的系統(tǒng)和各種傳感器部件。它特別用于開發(fā)用于相互作用的機器人,舉、抓,推、定位、識別等操作模擬。它是一個開源軟件平臺,任何人都可以使用模型組件開發(fā)插件,也兼容ROS和Player。Gazebo是開源的,并在Linux上運行,還可提供對Mac和Windows的移植版本。
四、最常見的幾種仿真工具
Top1 Gazebo Top2 V-Rep(Coppeliasim) Top3 Webot
從文章發(fā)布之日,85.7% 公司都把Gazebo作為候選,57.14%選擇了V-Rep,42.86%選擇了Webot。從上手難度來說,Webots <= V-REP < Gazebo。
根據(jù)機器人類型選擇工具: ? 移動機器人仿真:Webots是筆者見過的最強移動機器人仿真軟件,沒有之一;
? 機械臂仿真:Gazebo是神器,上手難度大;Webots可實現(xiàn)一些簡單的抓取,如果需要精度高點的動力學(xué)仿真,筆者建議食用V-REP;此外還有一些其他的仿真軟件,諸如Simscape Multibody、Adams等軟件,前者可以快速搭建Simulink仿真模型,后者一般機械臂的設(shè)計廠商使用較多;
? 結(jié)合機器學(xué)習(xí)的仿真:理論上來講,任何一款仿真軟件都能實現(xiàn),只不過需要自己整合控制器和機器學(xué)習(xí)相關(guān)API罷了;目前最常用的有PyBullet、MuJoCo等,前者開源,后者商用;
? 水下機器人:Webots只需要添加一個Fluid節(jié)點即可實現(xiàn)流體環(huán)境的添加;
那么如何快速上手一款仿真軟件?筆者建議: ① 先大體瀏覽一遍官方提供的入門操作,熟悉操作界面; ② 然后針對使用目的,學(xué)習(xí)相應(yīng)的Demo,不懂的地方查閱幫助文檔; ③ 最后的進階階段,要熟悉軟件安裝包的文件級,這有助于我們解決一些軟件BUG的問題以及自定義插件或紋理的實現(xiàn)。
[1] http://www./most-advanced-and-used-robotics-simulation-software/ [2] https://www.zhihu.com/question/41611869/answer/103227344 [3] https://www./2256
|