解决:ros进行gazebo仿真,rviz没有显示传感器数据
看了很多urdf、xacro文件的编写,每次看了都觉得自己会了,然后自己写一点,就是废物了。在我这里的案例是,我在一个大方块上面,添加了两个VLP-16的雷达,然后我想获取雷达扫描的数据但是打开rviz后,导入模型以后,发现没有相关的话题可以导入,我一直以为在urdf或者xacro文件中,有开启雷达的相关代码,然后一直没成功。因此我搜了好久,也郁闷了好久。可以发现,自己有时候看了很多东西,但是自己
·
前言
看了很多urdf、xacro文件的编写,每次看了都觉得自己会了,然后自己写一点,就是废物了。
在我这里的案例是,我在一个大方块上面,添加了两个VLP-16的雷达,然后我想获取雷达扫描的数据
但是打开rviz后,导入模型以后,发现没有相关的话题可以导入,我一直以为在urdf或者xacro文件中,有开启雷达的相关代码,然后一直没成功。
因此我搜了好久,也郁闷了好久。
解决
我之前的launch文件如下
<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" />
<!-- 运行robot_state_publisher节点,发布tf -->
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" output="screen" >
<param name="publish_frequency" type="double" value="50.0" />
</node>
<!-- 在 gazebo 中显示机器人模型 -->
<node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen"
args="-urdf -model mbot -param robot_description"/>
</launch>
后来发现,是因为少写了一行
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" ></node>
因为少写了这一行,导致rviz中就没有啥话题你也可以使用rostopic list
去看看话题。
<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" />
<!-- 运行joint_state_publisher节点,发布机器人的关节状态,如果没有这个,就不会有雷达的话题,rviz中就没有雷达扫描的数据 -->
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" ></node>
<!-- 运行robot_state_publisher节点,发布tf -->
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" output="screen" >
<param name="publish_frequency" type="double" value="50.0" />
</node>
<!-- 在 gazebo 中显示机器人模型 -->
<node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen"
args="-urdf -model mbot -param robot_description"/>
</launch>
总结
可以发现,自己有时候看了很多东西,但是自己学的还是不透。

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)