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

6.2 URDF集成Rviz基本流程

前面介绍过,URDF 不能单独使用,需要结合 Rviz 或 Gazebo,URDF 只是一个文件,需要在 Rviz 或 Gazebo 中渲染成图形化的机器人模型,当前,首先演示URDF与Rviz的集成使用,因为URDF与Rviz的集成较之于URDF与Gazebo的集成更为简单,后期,基于Rviz的集成实现,我们再进一步介绍URDF语法。

需求描述:

在 Rviz 中显示一个盒状机器人

结果演示:

实现流程:

  1. 准备:新建功能包,导入依赖

  2. 核心:编写 urdf 文件

  3. 核心:在 launch 文件集成 URDF 与 Rviz

  4. 在 Rviz 中显示机器人模型

1.创建功能包,导入依赖

创建一个新的功能包,名称自定义,导入依赖包:urdfxacro

在当前功能包下,再新建几个目录:

urdf: 存储 urdf 文件的目录

meshes:机器人模型渲染文件(暂不使用)

config: 配置文件

launch: 存储 launch 启动文件

2.编写 URDF 文件

新建一个子级文件夹:urdf(可选),文件夹中添加一个.urdf文件,复制如下内容:

<robot name="mycar"><link name="base_link"><visual><geometry><box size="0.5 0.2 0.1" /></geometry></visual></link>
</robot>
3.在 launch 文件中集成 URDF 与 Rviz

launch目录下,新建一个 launch 文件,该 launch 文件需要启动 Rviz,并导入 urdf 文件,Rviz 启动后可以自动载入解析urdf文件,并显示机器人模型,核心问题:如何导入 urdf 文件? 在 ROS 中,可以将 urdf 文件的路径设置到参数服务器,使用的参数名是:robot_description,示例代码如下:

<launch><!-- 设置参数 --><param name="robot_description" textfile="$(find 包名)/urdf/urdf/urdf01_HelloWorld.urdf" /><!-- 启动 rviz --><node pkg="rviz" type="rviz" name="rviz" /></launch>
4.在 Rviz 中显示机器人模型

rviz 启动后,会发现并没有盒装的机器人模型,这是因为默认情况下没有添加机器人显示组件,需要手动添加,添加方式如下:

配置一下
 

设置完毕后,可以正常显示了

5.优化 rviz 启动

重复启动launch文件时,Rviz 之前的组件配置信息不会自动保存,需要重复执行步骤4的操作,为了方便使用,可以使用如下方式优化:

首先,将当前配置保存进config目录

然后,launch文件中 Rviz 的启动配置添加参数:args,值设置为-d 配置文件路径

<launch><param name="robot_description" textfile="$(find 包名)/urdf/urdf/urdf01_HelloWorld.urdf" /><node pkg="rviz" type="rviz" name="rviz" args="-d $(find 报名)/config/rviz/show_mycar.rviz" />
</launch>

再启动时,就可以包含之前的组件配置了,使用更方便快捷。


http://www.mrgr.cn/news/54990.html

相关文章:

  • nginx解决非人类使用http打开的443,解决网安漏扫时误扫443端口带来的问题
  • 江恩理论(Gann Theory)
  • Python 高级编程详解
  • 经营异常移除申请操作流程
  • C语言作业day8
  • sql server 利用navicat导出的csv,再导入另外一台机器上的mysql的时候出现编码错误
  • 前言——25机械考研复试专业面试问题汇总 机械复试超全流程攻略 机械复试看这一个专栏就够用了!机械复试调剂英语自我介绍口语专业面试常见问题总结 机械保研面试
  • Linux客户端/服务端安全攻防
  • 【Java SE 】继承 与 多态 详解
  • 1. DLT645协议解析
  • 看电视直播神器,家中老人乐开怀
  • 新程序员必备的5个VS Code插件
  • IO进程---day5
  • React04 - react ajax、axios、路由和antd UI
  • 深度学习 之 模型部署 使用Flask和PyTorch构建图像分类Web服务
  • DreamFace 4.7.1 | 图片说话,数字人
  • 计算机网络408真题解析(湖科大教书匠)
  • STM32调试,发现HAL_Init();之后无法调试,甚至无法让程序停下来
  • 详解equals底层原理
  • 滑动窗口,水果成篮 , 找到字符串中所有字母异位词 ,串联所有单词的子串
  • 练习题 - Scrapy爬虫框架 Selectors 数据选择器
  • 权限管理系统的详细解析与实现
  • 栈与队列的常见接口的实现
  • yolov8实例分隔
  • OpenCV图像处理——查找线条的转折点
  • 鸿蒙中富文本编辑与展示