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模型的软件有sketchupblender
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学习--模型库和编辑模型相关推荐

  1. 基于深度强化学习的机器人运动控制研究进展 | 无模型强化学习 | 元学习

    1.基于深度强化学习的机器人运动控制研究进展 1.1 深度强化学习 1.1.1 强化学习简介: 强化学习(Reinforcement Learning, RL)利用试错机制与环境进行交互,旨在通过最大 ...

  2. 机器人SLAM导航学习-All in one

    参考引用 张虎,机器人SLAM导航核心技术与实战[M]. 机械工业出版社,2022. 本博客未详尽之处可自行查阅上述书籍 一.编程基础篇 1. ROS 入门必备知识 ROS学习笔记(文章链接汇总) 2 ...

  3. 利用计算机技术实现对文本篇章,自然语言处理NLP学习笔记一:概念与模型初探...

    前言 先来看一些demo,来一些直观的了解. 自然语言处理: 可以做中文分词,词性分析,文本摘要等,为后面的知识图谱做准备. 知识图谱: 还有2个实际应用的例子,加深对NLP的理解 九歌机器人: 微软 ...

  4. 应用于真实世界机器人的强化学习

    https://www.toutiao.com/a6687548418732065283/ 机器人在整个现代工业中都很普遍.与上个世纪的大多数科幻作品不同,类人机器人仍然没有收拾我们的脏盘子和垃圾,也 ...

  5. 机器人编程语言python-入门篇丨使用EV3机器人,趣味学习Python编程语言~

    原标题:入门篇丨使用EV3机器人,趣味学习Python编程语言~ 你知道吗? 数据显示: 到2020年,将有超过200万个 STEAM相关领域的工作岗位: 而当谈到SETAM学习时, 却只有17%的学 ...

  6. 智能城市dqn算法交通信号灯调度_博客 | 滴滴 KDD 2018 论文详解:基于强化学习技术的智能派单模型...

    原标题:博客 | 滴滴 KDD 2018 论文详解:基于强化学习技术的智能派单模型 国际数据挖掘领域的顶级会议 KDD 2018 在伦敦举行,今年 KDD 吸引了全球范围内共 1480 篇论文投递,共 ...

  7. 使用迁移学习后使用微调再次提高模型训练的准确率

    使用迁移学习后使用微调再次提高模型训练的准确率 1.微调 所谓微调:冻结模型库的底部的卷积层,共同训练新添加的分类器层和顶部部分卷积层.这允许我们"微调"基础模型中的高阶特征表示, ...

  8. ev3编程变量模块_英文视频教学翻译-机器人ev3编程学习的第二十讲:举例讲解数据变量模块编...

    机器人ev3编程学习的第二十讲:举例讲解数据变量模块编- Rob Widger (为了容易理解,在原文的翻译时做了修改 by EV3-TOM) 这一节我给大家讲解使用变量模块的编程,这些我喜欢的例子也 ...

  9. 深度强化学习控制六足机器人移动个人学习笔记(一)

    深度强化学习控制六足机器人移动个人学习笔记(一) 注意事项 ubuntu18对应的ros版本不是Kinect gym算法执行中部分包要求Python不低于3.6 conda虚拟环境安装gym-gaze ...

最新文章

  1. FTP 服务搭建及常用的命令脚本及传输协议基础普及
  2. Java JSON 之 Xml 转 JSON 字符串
  3. MariaDB 10的复制 集群 高可用搭建 大表拆分【持续更新中】
  4. WordPress调用自带jquery的方法 ,使 $ 生效
  5. Python3的编码问题
  6. 【转】单例模式(Singleton)
  7. Android开发笔记(二十二)瀑布流网格WaterfallGridView
  8. 阿里云携手印度电信巨头 网络互连覆盖150个国家地区
  9. Android应用程序的Activity启动过程简要介绍和学习计划 .
  10. Dart教程(二):基本语法
  11. C语言开定时器做呼吸灯程序,用定时器实现呼吸灯程序
  12. labview支持python免费_ni labview 2018
  13. 双三次插值matlab代码
  14. DHCP报文抓包分析
  15. c语言ax2bxc0的求根公式,ax2+bx+c=0的求根公式
  16. 网络逻辑漏洞、SQLMAP、Nmap及其它命令的使用方法
  17. 摆脱垃圾服务商 选择微空间免费空间
  18. 电脑网站如何用支付宝收款(php)
  19. 年轻人最in的选择!HCK哈士奇x可口可乐联名限量款冰吧
  20. CC2640R2F BLE5.0 CC2640R2BLE5.0开发文档

热门文章

  1. 先验概率vs后验概率
  2. hdu5455(2015沈阳网络赛F题)
  3. AtCoder AGC004E Salvage Robots (DP)
  4. λ-矩阵(不变因子)
  5. yolov3损失函数改进_YOLOv3论文解析
  6. java class is frozen_利用javassit简单操作class文件 1
  7. jsp将数字转换为价格并求和_在JSP页面怎么实现求和操作和百分比操作
  8. Git复习(十三)之git revert用法及与git reset区别
  9. Excel中文字换行
  10. 企业官网示例以及数据库表结构