gazebo 查看URDF模型(转sdf)

写在前面的话

本文是基于上一篇的工作 urdf ( xacro ) 的 collision碰撞参数设置,根据已有的 xacro 文件,如何通过 gazebo 仿真软件进行可视化仿真?

整体流程

文件的结构如下图,models文件夹下包含一个car_urdf文件夹,里面有 model.configmodel.sdf 文件和一个 meshes 文件夹(存储.stl文件)

models
car_urdf
----meshes (存储.stl文件)
----model.config (指定.sdf文件的位置)
----model.sdf (由xacro文件转化)

在这里插入图片描述

1 获取SDF文件

1.1 xcaro文件转 urdf

路径根据自己情况自行修改

ros2 run xacro xacro car_urdf.urdf.xacro > car_urdf.urdf

在这里插入图片描述

1.2 urdf 文件转 sdf

gz 是 gazebo 的的一个工具包

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

提醒:这个注意模型的路径问题,确保car_urdf文件夹下面包含meshes文件夹,且文件夹包含所有的模型文件。

在这里插入图片描述

2 新建config文件

<?xml version="1.0" ?>
<model>
    <name>car_urdf</name>
    <version>1.0</version>
    <sdf version="1.6">model.sdf</sdf>
    <author>
        <name></name>
        <email></email>
    </author>
    <description></description>
</model>

3 启动gazebo

在这里插入图片描述

4 插入URDF模型并查看

操作:insert > Add Path > 选择models文件夹 > Open

在这里插入图片描述

可以看到左边路径窗口多了一个car_urdf,双击,然后在主界面单击即可看到车子。

在这里插入图片描述

4.1 gazebo 启动慢的情况

原因是 gazebo 每次启动都要去加载模型库,它会去查找/home/.gazebo/models目录下的模型文件,没找到的话要进行联网下载,要想启动快的画,直接去下载模型文件放到 .gazebo 文件夹的 models 目录下,这个网上很多教程。

home 目录下没找到 .gazebo 文件夹的话,是因为默认.开头文件会隐藏,键盘按下 Ctrl+H 就可以解除隐藏查看。

cd ~/.gazebo/

ls

mkdir -p models

ls

cd ~/.gazebo/models/

wget http://file.ncnynl.com/ros/gazebo_models.txt

ls

在这里插入图片描述

4.2 gazebo 查看模型卡死的问题

我从 solidworks 导出的 .stl 模型文件是比较复杂的,三维面数量很大,这对处理器的要求会高很多,很容易出现卡死的问题。

因此需要对这些模型文件进行简化,用meshlab打开三维模型,然后按下图操作:Filters > Remeshing,Simplification and Reconstruction > Simplification: Quadric Edge collapse Decimation

在这里插入图片描述

然后会出现弹窗,修改Target number of faces参数即可,调小就可以,点 Apply 后可以查看修改后的模型效果,点菜单栏的保存文件(会有一个弹窗,点OK即可)就会覆盖原有文件保存,不想覆盖的就选择另存即可。

在这里插入图片描述
在这里插入图片描述

模型简化前

内存:248.1 KB

在这里插入图片描述

模型简化后

内存:50.1 KB

在这里插入图片描述

参考文章

1 gazebo导入sdf模型
2 ROS入门(三):gazebo详解

猜你喜欢

转载自blog.csdn.net/weixin_42899627/article/details/141993664
今日推荐