ROS--urdf集成Rviz的实现流程及相关优化

声明

本文主要介绍如何通过launch文件将urdf与rviz连接在一起启动,同时将对rviz的设置界面做保存优化的处理,这样也就解决了当重新rviz时候需要一遍遍设置内置程序的问题。

1.新功能包的创建与相关依赖的添加。

我是在ilove02_01_ws这个工作空间下新创建了一个叫做ilovezero4_urdf的功能包,同时记得导入两个依赖:

urdf xacro

同时在这个功能包下创建四个文件夹:launch,meshes,urdf,config

c26fed8a95524912a46a3807d05f33d6.png

2.编写urdf文件

首先在先前所创建的urdf文件下面创建两个子文件夹,分别命名为:urdf与xacro,我们接下来会在子文件夹urdf下编写urdf文件。

以下是urdf文件,我的文件名为 hello_mycar.urdf:

<robot name="mycar">
    <link name="base_link">
        <visual>
            <geometry>
                <box size="0.5 0.2 0.1" />
            </geometry>
        </visual>
    </link>
</robot>

3.创建launch文件

我们编写这个launch文件的目的是将urdf文件与rviz同时启动,那么我们的思路必然是:要在参数服务器中载入urdf文件,同时启动rviz。

需要注意的是:在载入urdf文件时,param的name时,是固定为robot_description.

以下是代码,文件名为hello_mycar.launch:

<launch>
    <!-- 设置参数 -->
    <param name = "robot_description" textfile ="$(find ilovezero4_urdf)/urdf/urdf/hello_mycar.urdf"/> 
    <!-- 启动 rivz -->
    <node pkg = "rviz" type = "rviz" name = "rviz"  />
</launch>

在运行后,加入robot组件后,若出现报错,这时候需要关注:你的urdf文件中的link name与rviz中的fixed name是否名字一致。

4ae28f9f4dcd4b2eba5dea5d9708ac77.png

4.rviz的组件设置保存优化

如果不进行这一步操作,那么每次重新操作时都需要重新进行设置组件,下面我们来进行优化。

在打开rviz后,你首先已经配置好了相关组件,接下来你按照file------save config as-----你的工作空间下的config文件夹   这个路径保存你的urdf文件(也可以是其他路径),在config下就会生成一个rviz文件。

3c3a01e5eafe4eb5899a8ecd99abaec9.png

b54aa52eb12a48eba5bcdc674db5bc51.png

然后,改写你的launch文件,让他可以找到这个文件,改写如下:

<launch>
    <!-- 设置参数 -->
    <param name = "robot_description" textfile ="$(find ilovezero4_urdf)/urdf/urdf/hello_mycar.urdf"/> 
    <!-- 启动 rivz -->
    <node pkg = "rviz" type = "rviz" name = "rviz" args = "-d $(find ilovezero4_urdf)config/hello_mycar.rviz" />
</launch>

总结

31b22623ea524352b9683afed66af5f7.png

63cfb0d239cf4c45b400f76db3a9c830.png

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值