ROS仿真---Gazebo中模型能正常显示,Rviz中提示错误

1.问题描述
有一份写好的Urdf文件,通过launch程序可在Rviz中正常显示。但在随后的启动Gazebo过程后,Rviz中提示RobotModel和TF错误。

2.运行截图。
首先观察在Rviz中模型显示情况:
运行:

roslaunch urdf_tutorial display.launch model:='$(find urdf_tutorial)/urdf/test.urdf.xacro'

模型显示如下,正常。

图片说明

随后,修改launch文件,在Gazebo中打开同一Urdf(Xacro)文件,
运行
roslaunch urdf_sim_tutorial test.launch
模型在Gazebo中显示如下:

图片说明

在Rviz中显示如下:

图片说明
图片说明
如图所示,出现了错误(No transform from sth to base_link),请问这是为什么呢?

可能是没有安装gazebo_ros_control,试试sudo apt-get install ros-melodic-gazebo-ros-control

可能是你的launch文件中没有启动机器人状态和关节状态发布节点

fix frame 选择odom

XXX.rviz文件里也需要更改一下,否则RobotModel也会显示错误