ros中仿真编写launch时robot_state_publisher,output参数

目录

前言

最近一直在研究launch文件,因为这是初学者绕不过去的坎。

内容

这里我以一个案例作为演示。

xml 复制代码
<launch>

    <!-- 将 Urdf 文件的内容加载到参数服务器 -->
    <!-- 加载机器人模型描述参数 -->
    <param name="robot_description" command="$(find xacro)/xacro --inorder '$(find two_lidar_pkg)/urdf/xacro/two_lidar.xacro'" /> 

    <!-- 启动 gazebo -->
    <include file="$(find gazebo_ros)/launch/empty_world.launch" />
    
    <node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher" output="screen" />
    <!-- 在 gazebo 中显示机器人模型 -->
    <node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen"
          args="-urdf -model mbot -param robot_description"/> 
</launch>

这里面前面两行比较好理解,一个是导入机器人模型文件,另外一个就是启动gazebo仿真。

robot_state_publisher

xml 复制代码
<node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher" output="screen" />

这一行,经过我的验证,最主要的区别如下

没有这行的话,打开rviz后,这里面就是原始的map,没有下拉这些选项,因此,打开 rviz的时候,模型是白色的 。

output="screen"

xml 复制代码
    <!-- 在 gazebo 中显示机器人模型 -->
    <node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen"
          args="-urdf -model mbot -param robot_description"/> 

这里面,很重要的就是output参数,我之前没有设置,导致gazebo打开的时候,模型是白色的,根本看不出是啥。

这应该是因为,你根本没有 在gazebo中显示机器人模型。

现在这个就好多了

结尾

当然,我这里面说的,不一定是对的,因为我也是初学者,大家可以结合仿真或者rviz,来看看这些到底起什么作用。

相关推荐
Chen—LSN8 分钟前
C语言——文件操作(2)
c语言·开发语言·c++·经验分享·笔记·算法·c#
纪念 22913 分钟前
C++类和对象(最终篇)
开发语言·c++
LuminousCPP1 小时前
从零开始学 C++(三):类和对象入门|从 struct 到 class,理解封装、对象与 this 指针
c++·笔记·学习·类和对象
郝学胜-神的一滴1 小时前
游戏引擎原理与实践 01:聊聊游戏引擎的前世今生
开发语言·c++·游戏引擎·产品运营·软件工程·产品经理·untiy
晴天的雨.9922 小时前
【C++算法】三数之和
开发语言·c++·算法
pippocao2 小时前
王者荣耀日志组件BqLog 为何如此快之3——压缩日志执行路径优化
c++
AC赳赳老秦2 小时前
公开 CSV 数据集批量处理实战:用 OpenClaw 高效完成下载、清洗与标准化分析样本生成
java·开发语言·汇编·c++·python·deepseek·openclaw
承渊政道2 小时前
Linux系统学习【进程信号详细解析——认识、产生、保存以及捕捉信号】
linux·学习·ubuntu·ssh·vs code·进程信号
凉茶钱2 小时前
【吃透C++】static、友元、内部类、匿名对象与拷贝编译器优化全解析
c++·青少年编程·visual studio
无名猿2 小时前
左值引用、右值引用与万能引用:引用折叠全解
c++·现代c++·模板元编程·语法基础