gazebo .world文件中导入dae模型的问题

gazebo .world文件中导入dae模型的问题

gazebo环境提供了很多可以直接导入的模型,如果想往环境中导入自己的静态模型,需将自己的模型转化为dae格式,并编写相应的.world文件。

  • 准备好dae文件

Solidwork等建模软件无法导出dae格式的文件,可以用blender转成dae文件,导出时要选好单位,不然在gazebo中打开时模型的比例会有问题(按键盘N,在跳出来的栏目里找到dimension,看一下尺寸的单位对不对)。
在这里插入图片描述


  • 创建xxx.world文件
<?xml version="1.0"?>
<sdf version="1.4">
  <world name="default">
    <include>
      <uri>model://sun</uri>
    </include>
    <include>
      <uri>model://ground_plane</uri>
    </include>
    <model name="gongjian">
      <pose>0 0 0.49  0 1.57079 0</pose>
      <static>true</static>
      <link name="up">
        <visual name="visual">
          <geometry>
            <mesh><uri>file://gongjian.dae</uri></mesh>
          </geometry>
        </visual>
      </link>
    </model>
  </world>
</sdf>

gongjian.dae改成你的dae文件名,保存好你的world文件,将dae文件与xxx.world文件放在同一个文件夹中。打开命令行,cd 到保存world的文件夹,运行

gazebo xxx.world

在这里插入图片描述如果要用roslaunch打开.world文件, 新建一个为world.launch文件

<?xml version="1.0"?>
<launch> 
  <include file="$(find gazebo_ros)/launch/empty_world.launch">  
    <arg name="world_name" value="$(find kuka_kr210_support)/world/kuka.world"/>     
  </include>
</launch>

$(find kuka_kr210_support)/world/kuka.world改成你的xxx.world文件路径, 但是这时候roslaunch world.launch之后gazebo会找不到dae文件,因为gazebo在GAZEBO_RESOURCE_PATH里找不到这个模型。
可以在命令行里输入 echo $GAZEBO_RESOURCE_PATH查看路径,然后把dae文件扔进对应的文件夹里,或者在GAZEBO_RESOURCE_PATH环境变量里加入dae文件所在的路径。

将Blender中的模型导入Gazebo中需要经过以下步骤: 1. 将Blender模型导出为COLLADA格式。 2. 使用MeshLab或者其他工具将COLLADA格式转换为STL格式。 3.Gazebo中创建模型描述文件,一般采用SDF格式。 4. 将STL模型文件复制到Gazebo模型文件夹中。 以下是具体的步骤: 1. 在Blender中选择要导出的模型,点击File -> Export -> Collada (.dae)。 2. 打开MeshLab软件,点击File -> Import Mesh,选择导出的COLLADA文件。然后点击File -> Export Mesh As,选择STL格式并保存。 3.Gazebo中创建模型描述文件,一般采用SDF格式。可以使用文本编辑器(如gedit)或者模型编辑器(如Model Editor)创建。以下是一个简单的模型描述文件的例子: ``` <?xml version="1.0"?> <sdf version="1.4"> <model name="my_model"> <static>true</static> <link name="link"> <collision name="collision"> <geometry> <mesh> <uri>model://my_model/meshes/my_model.stl</uri> </mesh> </geometry> </collision> <visual name="visual"> <geometry> <mesh> <uri>model://my_model/meshes/my_model.stl</uri> </mesh> </geometry> </visual> </link> </model> </sdf> ``` 其中,`<uri>`元素指定了STL模型文件的路径,需要根据实际情况进行修改。 4. 将STL模型文件复制到Gazebo模型文件夹中。一般情况下,Gazebo模型文件夹位于~/.gazebo/models/。将STL模型文件复制到该文件夹中的一个新文件夹中,文件夹名即为模型的名称,如上面的例子中为my_model。注意,模型文件夹中需要包含一个名为model.config的文件,描述了模型的元数据信息。以下是model.config文件的例子: ``` <?xml version="1.0"?> <model> <name>my_model</name> <version>1.0</version> <sdf version="1.4">model.sdf</sdf> <author> <name>Your Name</name> <email>your.name@example.com</email> </author> <description> Your model description here. </description> </model> ``` 保存文件后,重启Gazebo仿真环境,即可在模型库中找到刚刚导入模型
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值