机器人学习--Gazebo学习--模型库和编辑模型
Gazebo官方已經(jīng)有了一些模型庫,可加載使用。一般在? home/.gazebo/models/ 目錄下。
?
此外,加拿大 YORK大學(xué)團(tuán)隊(duì) 制作了一些3d 模型庫,可下載后解壓到以上目錄中使用。
模型庫由270+細(xì)節(jié)豐富的三維模型組成,主要場景為辦公室環(huán)境。
官方網(wǎng)址: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個(gè)積分:https://download.csdn.net/download/GGY1102/15865213
如果沒有積分,訪問熱心網(wǎng)友的免積分下載鏈接: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的擴(kuò)展)。
簡單理解,sdf是gazebo的“兒子”,urdf是ROS的“兒子”,后來gazebo和ROS倆兄弟聯(lián)手,所以u(píng)rdf成了gazebo的干兒子,但是sdf沒有成為ROS的干兒子。所以ROS中其他的模型工具(比如rviz)對(duì)sdf模型就不怎么友好了。但是sdf作為gazebo的親兒子,它的模型描述能力整體高于urdf。
到底選擇哪種格式,我覺得主要看需求。如果大量依仗ROS的功能,就選擇urdf;反之,選擇sdf。
模型建立方法
1. 編輯代碼
編輯sdf和urdf的模型代碼算是基本功了。二者都采用xml格式,語言規(guī)范說明:
urdf
sdf
以上兩個(gè)鏈接不一定要看,因?yàn)檎罩W(wǎng)上demo編寫基本可以滿足大部分的需求。本方法,讀者值得擁有,讀懂模型代碼是建立sdf和urdf模型的必備技能,就算借助后文提及的工具,也很難避免閱讀編輯模型代碼。
?
2. gazebo model editor
gazebo左上角選項(xiàng)有模型編輯器,可以方便地編輯簡單模型。簡單模型包括三種:球、圓柱、立方體。本方法建立的模型為sdf。這種方法適用于模型比較簡單的時(shí)候,對(duì)我來說,本方法,做小測試的時(shí)候可能用一用,整體用的不多。
此外,同一菜單下的building editor可以很方便地建立墻。
?
3. SolidWorks模型轉(zhuǎn)urdf
通過使用SolidWorks插件sw_urdf可以將sw裝配體轉(zhuǎn)化成urdf模型。插件生成一個(gè)ROS包,(通常需要經(jīng)過小修改)可以在ubuntu中編譯運(yùn)行。具體方法如:https://blog.csdn.net/zhangjiali12011/article/details/78313110
本方法不一定總是能得到想要的結(jié)果。當(dāng)sw裝配體配合比較復(fù)雜的時(shí)候,轉(zhuǎn)換效果可能會(huì)非常差,尤其是隊(duì)友的把sw裝配體的配合設(shè)置得比較奇怪的時(shí)候。
雖然有時(shí)候不能直接得到urdf,但可以通過SolidWorks導(dǎo)出零件的stl模型,再編輯urdf代碼引用該stl模型。這種方法有兩個(gè)問題:①需要自己加關(guān)節(jié)②無法得到有紋理的模型。
B站視頻(SolidWorks模型制作轉(zhuǎn)換):?https://www.bilibili.com/video/BV1754y1U7Nq?from=search&seid=6295852742537586489
?
?
4. 建立其他好看的模型
看別人的gazebo模型經(jīng)常花花綠綠的,長得很逼真的樣子,通過上面幾種方法是很難弄出來的,這個(gè)時(shí)候就需要請(qǐng)出大名鼎鼎的dae。urdf和sdf都支持引用dae模型文件,而且支持度都很好(就是可以把逼真的dae模型很好地顯示出來)。常用的建立dae模型的軟件有sketchup和blender。
sketchup網(wǎng)上有**版,操作方式有點(diǎn)像SolidWorks。
blender是個(gè)開源的軟件,個(gè)人覺得長的比sketchup好看。b站上有很好的使用教程。在ubuntu中直接使用二進(jìn)制安裝的blender是無法導(dǎo)出dae文件的,需要到官網(wǎng)上下載安裝包(當(dāng)然速度是超慢的,可以到國內(nèi)的一些軟件平臺(tái)下載)。
需要注意的是,gazebo無法顯示圖片,或者說效果極其差。所以在建立dae模型的時(shí)候,不要直接插入圖片,而是要將圖片作為紋理插入。
當(dāng)然其他的可以導(dǎo)出dae的軟件也都是可以的,比如3dmax、Photoshop等,但相對(duì)于sketchup和blender來說,這兩個(gè)軟件的體量都是相當(dāng)大的。
sketchup官網(wǎng):?https://www.sketchup.com/
?
最后
最后說的是,建立的模型要盡量簡潔。gazebo是個(gè)仿真平臺(tái),模型的一舉一動(dòng)都伴隨著大量的仿真計(jì)算。簡單的模型會(huì)縮短仿真時(shí)間,也可能會(huì)提高仿真的精度。官網(wǎng)說gazebo仿真計(jì)算速率會(huì)受模型種類影響,仿真速率:三種簡單模型>dae模型>stl模型。
總結(jié)
以上是生活随笔為你收集整理的机器人学习--Gazebo学习--模型库和编辑模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器人学习--电子指南针定位导航
- 下一篇: 人工智能学习--文本检测实践