机器人学习--Gazebo学习--模型库和编辑模型
Gazebo官方已經有了一些模型庫,可加載使用。一般在? home/.gazebo/models/ 目錄下。
?
此外,加拿大 YORK大學團隊 制作了一些3d 模型庫,可下載后解壓到以上目錄中使用。
模型庫由270+細節豐富的三維模型組成,主要場景為辦公室環境。
官方網址:http://data.nvision2.eecs.yorku.ca/3DGEMS/
論文:A.Rasouli, J.K. Tsotsos. "The Effect of Color Space Selection on Detectability and Discriminability of Colored Objects." arXiv preprint arXiv:1702.05421 (2017).
如果下載不了,可使用該下載鏈接,5個積分:https://download.csdn.net/download/GGY1102/15865213
如果沒有積分,訪問熱心網友的免積分下載鏈接:https://download.csdn.net/download/hanmoge/14109724
?
B站視頻:
https://www.bilibili.com/video/BV1754y1U7Nq?from=search&seid=6295852742537586489
https://search.bilibili.com/all?keyword=gazebo&from_source=nav_search_new&order=totalrank&duration=4&tids_1=0
?
http://wiki.ros.org/urdf/XML
https://github.com/osrf/sdformat/tree/master/examples
http://sdformat.org/
?
參考:https://www.pianshen.com/article/86981228150/
sdf與urdf
在gazebo仿真中常見的兩種模型格式:sdf、urdf(以及xacro,是urdf的擴展)。
簡單理解,sdf是gazebo的“兒子”,urdf是ROS的“兒子”,后來gazebo和ROS倆兄弟聯手,所以urdf成了gazebo的干兒子,但是sdf沒有成為ROS的干兒子。所以ROS中其他的模型工具(比如rviz)對sdf模型就不怎么友好了。但是sdf作為gazebo的親兒子,它的模型描述能力整體高于urdf。
到底選擇哪種格式,我覺得主要看需求。如果大量依仗ROS的功能,就選擇urdf;反之,選擇sdf。
模型建立方法
1. 編輯代碼
編輯sdf和urdf的模型代碼算是基本功了。二者都采用xml格式,語言規范說明:
urdf
sdf
以上兩個鏈接不一定要看,因為照著網上demo編寫基本可以滿足大部分的需求。本方法,讀者值得擁有,讀懂模型代碼是建立sdf和urdf模型的必備技能,就算借助后文提及的工具,也很難避免閱讀編輯模型代碼。
?
2. gazebo model editor
gazebo左上角選項有模型編輯器,可以方便地編輯簡單模型。簡單模型包括三種:球、圓柱、立方體。本方法建立的模型為sdf。這種方法適用于模型比較簡單的時候,對我來說,本方法,做小測試的時候可能用一用,整體用的不多。
此外,同一菜單下的building editor可以很方便地建立墻。
?
3. SolidWorks模型轉urdf
通過使用SolidWorks插件sw_urdf可以將sw裝配體轉化成urdf模型。插件生成一個ROS包,(通常需要經過小修改)可以在ubuntu中編譯運行。具體方法如:https://blog.csdn.net/zhangjiali12011/article/details/78313110
本方法不一定總是能得到想要的結果。當sw裝配體配合比較復雜的時候,轉換效果可能會非常差,尤其是隊友的把sw裝配體的配合設置得比較奇怪的時候。
雖然有時候不能直接得到urdf,但可以通過SolidWorks導出零件的stl模型,再編輯urdf代碼引用該stl模型。這種方法有兩個問題:①需要自己加關節②無法得到有紋理的模型。
B站視頻(SolidWorks模型制作轉換):?https://www.bilibili.com/video/BV1754y1U7Nq?from=search&seid=6295852742537586489
?
?
4. 建立其他好看的模型
看別人的gazebo模型經常花花綠綠的,長得很逼真的樣子,通過上面幾種方法是很難弄出來的,這個時候就需要請出大名鼎鼎的dae。urdf和sdf都支持引用dae模型文件,而且支持度都很好(就是可以把逼真的dae模型很好地顯示出來)。常用的建立dae模型的軟件有sketchup和blender。
sketchup網上有**版,操作方式有點像SolidWorks。
blender是個開源的軟件,個人覺得長的比sketchup好看。b站上有很好的使用教程。在ubuntu中直接使用二進制安裝的blender是無法導出dae文件的,需要到官網上下載安裝包(當然速度是超慢的,可以到國內的一些軟件平臺下載)。
需要注意的是,gazebo無法顯示圖片,或者說效果極其差。所以在建立dae模型的時候,不要直接插入圖片,而是要將圖片作為紋理插入。
當然其他的可以導出dae的軟件也都是可以的,比如3dmax、Photoshop等,但相對于sketchup和blender來說,這兩個軟件的體量都是相當大的。
sketchup官網:?https://www.sketchup.com/
?
最后
最后說的是,建立的模型要盡量簡潔。gazebo是個仿真平臺,模型的一舉一動都伴隨著大量的仿真計算。簡單的模型會縮短仿真時間,也可能會提高仿真的精度。官網說gazebo仿真計算速率會受模型種類影響,仿真速率:三種簡單模型>dae模型>stl模型。
總結
以上是生活随笔為你收集整理的机器人学习--Gazebo学习--模型库和编辑模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器人学习--电子指南针定位导航
- 下一篇: 人工智能学习--文本检测实践