当前位置: 首页 > news >正文

react网站开发网址搜索引擎入口

react网站开发,网址搜索引擎入口,安徽省工程建设工程信息网站,网站不能正常显示出现后台代码前言 这是一个系列小文章,主要介绍在ROS-Gazebo中如何更好地使用SDF格式建模与仿真。众所周知,URDF是ROS的原生支持格式,但在某些情况下(尤其是Gazebo仿真时),使用SDF格式会更加合理。鉴于中文网络上几乎没…

693c76c0cd186bf2a15a0612b52ab897.png

前言

这是一个系列小文章,主要介绍在ROS-Gazebo中如何更好地使用SDF格式建模与仿真。众所周知,URDF是ROS的原生支持格式,但在某些情况下(尤其是Gazebo仿真时),使用SDF格式会更加合理。鉴于中文网络上几乎没有成体系的SDF介绍博文,因此我将自己在硕士期间关于SDF模型的使用经验稍作总结。如有谬误,还望友好地指出。

本系列规划如下内容,建议按顺序阅读。尤其是第一篇,以确认你是否有必要使用SDF建模:

  • 为什么选择SDF?
  • SDF规范文档与模型资源
  • SDF的建模与使用
  • ERB:模块化生成SDF模型
  • SDF与URDF的相互转换
  • 基于SDF的多机器人仿真
  • 使用与编写自定义插件——以PID控制插件为例

1 什么情况下需要转换URDF和SDF?

正如我们在第一篇文章 为什么选择SDF? 中所述,在一些特殊情况中,只能使用URDF或SDF格式的模型。如Rviz可视化只能使用URDF,并联机器人的Gazebo仿真只能使用SDF。这时候,如果我们已有的模型格式不符要求,就需要转换。但值得注意的是,由于URDF和SDF的元素并不完全对应,因此下面列出的转换过程或多或少存在一些问题。对于刚开始搭建模型的小伙伴们,我还是建议直接选用合适的格式,用xacro或rsdf的参数化和模块化方法建模,而非使用转换功能。

在接下来的内容中,我们讨论了URDF和SDF相互转换的方法,并验证了一个液压缸模型的格式转换。

2 URDF 转 SDF

由于sdf是Gazebo的原生格式,因此.urdf转.sdf是比较简单的。我采用的方法一般是:使用常规方法将.urdf加载到Gazebo中后,再将其另存为一个单独的.world文件。此时sdf格式的模型就完整地保存在.world文件的<model>元素下了。

另外,Gazebo官方还提供了另一种命令行方法,也可将实现urdf转sdf。在urdf所在目录下打开终端,执行如下命令。其中my_model.urdf是原urdf的名称。

gz sdf -p my_model.urdf > my_model.sdf

3 SDF 转 URDF

相比起.urdf转.sdf,虽然没有官方的方法将.sdf转为.urdf,但好在有大佬自己开发了可行的工具——pysdf功能包。项目的github地址如下:

andreasBihlmaier/pysdf​github.com
4fc57cc8685e2667a7bc9fc2f02776ab.png

该包的版本过老,我在ubuntu18.04和ros melodic上直接运行报错,对其做了一些细微的修改后可用,你也可使用我修改后的版本:

修改版pysdf​github.com

该功能包使用起来也很简单,分为4个步骤:

(1)在github中下载pysdf功能包,放到ROS工作空间下的src目录下。

(2)编译工作空间

cd ~/catkin_ws/
catkin_make

(3)从待转换的sdf模型文件所在的目录打开终端,执行如下命令。其中my_model.sdf是原sdf模型文件的名称。

rosrun pysdf sdf2urdf.py my_model.sdf result_model.urdf

注意事项:

  • sdf2urdf.py是python可执行文件,如果报错[rosrun] Couldn't find executable named sdf2urdf below...,就需要先通过chmod +x *指令为其赋予可执行权限,这是使用所有ROS-python可执行文件时都要注意的事情。
  • sdf文件中不要有插件,也不要有ball关节等urdf无法识别的关节类型
  • 转换完成后可使用check_urdf工具检查urdf的合法性,命令如下:
sudo apt-get install liburdfdom-tools
check_urdf result_model.rudf

4 实验

4.1 SDF转URDF

在gazebo的模型编辑器(详见SDF的建模与使用)中创建一个液压缸模型,其中包含了两个圆柱体link和一个移动joint。将其另存为model。

9ce6ba9b07da045ec3b7ee1b4c303053.png
使用gazebo模型编辑器建立的sdf

打开model所在的目录,如下所示:

5301cf453f00c1746b5e2bd66fe598a7.png
sdf模型的基本文件

运行如下转换指令(假设pysdf已经下载编译完成,且python文件已赋予权限)

rosrun pysdf sdf2urdf.py model.sdf model.urdf

检查urdf合法性:

sudo apt-get install liburdfdom-tools
check_urdf model.rudf

返回信息显示没有问题:

---------- Successfully Parsed XML ---------------
root Link: model__link_0 has 1 child(ren)child(1):  model__link_1

4.2 URDF转SDF

删除原有model.sdf,在SDF所在目录下执行:

gz sdf -p /model.urdf > /model.sdf

成功生成新的model.sdf,在gazebo中打开查看:

5cc6bd9c4bcf9a3dbc0fdeb44f06905f.png
重新转换得到的sdf

参考资料

[1] gazebo_question:Convert .urdf to .sdf or load .urdf

[2] pysdf

http://www.yayakq.cn/news/717151/

相关文章:

  • c 网站开发调试谷德设计网官网首页入口
  • 邳州城乡建设局网站最新国际新闻 大事件
  • 受欢迎的南昌网站建设福田欧曼官方网站
  • 公众号如何做微网站注册会计师报名时间
  • 互联网实用技术与网页制作书籍上海网站推广优化公司
  • 适合学生做的网站类型专业网站推广公司
  • 很多年前的51网站wordpress的文章在哪里
  • 搭建本地网站做色流做蛋糕网站的 实训报告图
  • 什么网站ppt做的最好看wordpress主题自适应手机端
  • 游学旅行网站建设策划书全自动行业管理系统
  • 设计asp网站怎么做网页快捷方式
  • 承德建设厅网站国际阿里巴巴官网首页
  • 户外做爰网站自己做的网站如何兼容ie11
  • 北京做网站的公司有哪些wordpress邀请码
  • 新乡市建设路小学网站深圳小企业网站建设
  • 沈阳模板 网站建设娱乐视频直播网站建设
  • 潍坊美丽乡村建设一般发了哪个网站阿里云网站架构怎么做
  • 铁建设文件在什么网站下载十大后悔的专业
  • 建网站手机软件微信开发平台开发
  • 怎么维护网站教程陈晓佳 中信建设有限责任公司
  • 大兴安岭做网站中国核工业第五建设有限公司待遇怎么样
  • 成都专业网站建设费用做淘宝客需要网站吗
  • 手机网站建设文章深圳网站建设方案优化
  • 网站建设排名优化技巧模板网站 可以做推广吗
  • 做网站有费用吗上市公司网站建设要求
  • 绵阳哪里可以做网站的地方青海餐饮网站建设
  • 平度市城乡建设局网站民兵信息化网站建设
  • 开封网站推广免费做手机网站
  • 关于公司网站开发的事项wordpress如何设置边栏
  • 优秀网站网址百度网站管理员工具