当前位置:   article > 正文

ROS学习记录——Gazebo 里添加自己的物体模型_ros导入dae

ros导入dae

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录


前言

在ROS仿真过程中,要根据项目需求在Gazebo中添加相应的物体模型,本文记录一下学习过程。

学习教程:3D模型下载与添加到Gazebo_哔哩哔哩_bilibili

教程用到的三维模型编辑软件有:sketchup、blender


一、下载3D模型

登录3D Warehouse:3D Warehouse (sketchup.com)  ,搜索模型并下载,下载的模型格式为.skp格式,需要用sketchup打开。

 

二、编辑三维模型

1.使用sketch up

使用擦除工具删掉不需要的部分,使用 工具——尺寸 标注模型的长、宽、高,并记录下来,后续用于计算ixx、iyy、izz。

编辑完成后既可导出.dae文件以便使用blender的后续编辑(我导出.dae后导入blender显示不出模型,所以导的.stl文件) 

ps:如果电脑上安装了3D查看器,可以直接打开.stl文件,有的Windows自带了,没有可以去微软应用商店下一个,搜索:3d viewer即可。

2.使用blender编辑

(1) 打开blender,点击文件——导入,选择刚才导出的.dae或.stl文件,如果导入后显示不出模型,可能是模型太大,超出了视野范围,可以将模型缩小或调大视距。缩放时X,Y,Z比例要一致。

(2)设置模型原点,选择质心。

(3)设置完成后导出.dae文件。

 

三、将三维模型导入Gazebo

1.配置模型文件

 (1)开启Gazebo,点击左侧栏上方的insert,查看gazebo 模型存储的地址,在该地址下新建一个文件夹(本文为aircraft)。

  1. cd /usr/share/gazebo-11/models
  2. mkdir aircraft

(2)在aircraft下新建文件夹meshes,并将之前导出的.dae文件复制进去。

(3)回到aircraft目录,新建model.config和model.sdf文件,至此,新模型aircraft的框架完成,如图所示:

 编辑model.config:

  1. <?xml version="1.0"?>
  2. <model>
  3. <name>aircraft</name>
  4. <version>1.0</version>
  5. <sdf version="1.5">model.sdf</sdf>
  6. <author>
  7. <name>xxxxx</name>
  8. <email>xxxxxx@qq.com</email>
  9. </author>
  10. <description>
  11. A model of a aircraft.
  12. </description>
  13. </model>

编辑 model.sdf:

此处要计算ixx、iyy、izz,要用到二、1中标注的尺寸。

mass单位为kg,我大概写了一个数,x,y,z单位为米。

计算公式:

ixx = 0.083 * mass * (y*y + z*z)

iyy = 0.083 * mass * (x*x + z*z)

izz = 0.083 * mass * (x*x + y*y)

  1. <?xml version="1.0" ?>
  2. <sdf version="1.5">
  3. <model name="aircraft">
  4. <static>true</static>
  5. <link name="link">
  6. <inertial>
  7. <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
  8. <mass>100</mass>
  9. <inertia>
  10. <ixx>181.3363976980</ixx> <!-- for a box: ixx = 0.083 * mass * (y*y + z*z)-->
  11. <ixy>0.0</ixy>
  12. <ixz>0.0</ixz>
  13. <iyy>291.7459136972</iyy> <!-- for a box: iyy = 0.083 * mass * (x*x + z*z)-->
  14. <iyz>0.0</iyz>
  15. <izz>437.8439854366</izz> <!-- for a box: izz = 0.083 * mass * (x*x + y*y)-->
  16. </inertia>
  17. </inertial>
  18. <collision name="collision">
  19. <geometry>
  20. <mesh>
  21. <uri>model://aircraft/meshes/aircraft.dae</uri> <!--.dae文件地址-->
  22. </mesh>
  23. </geometry>
  24. </collision>
  25. <visual name="visual">
  26. <geometry>
  27. <mesh>
  28. <uri>model://aircraft/meshes/aircraft.dae</uri> <!--.dae文件地址-->
  29. </mesh>
  30. </geometry>
  31. </visual>
  32. </link>
  33. </model>
  34. </sdf>

2.插入到Gazebo环境

运行Gazebo,点击insert,找到自己的模型即可插入到环境中。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/400901
推荐阅读
  

闽ICP备14008679号