运行环境:
Ubuntu版本:20.04 LTS
ROS版本: noetic
rviz 版本:1.14.20
我的launch文件的代码如下:
<launch>
<arg name="model" />
<!-- 加载机器人模型参数 -->
<param name="robot_description" command="$(find xacro)/xacro --inorder $(find ma_arm_description)/urdf/arm.xacro" />
<!-- 设置GUI参数,显示关节控制插件 -->
<param name="use_gui" value="true"/>
<!-- 运行joint_state_publisher节点,发布机器人的关节状态 -->
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />
<!-- 运行robot_state_publisher节点,发布tf -->
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />
<!-- 运行rviz可视化界面 -->
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find ma_arm_description)/urdf.rviz" required="true" />
</launch>
执行结果如下:
经过查询发现可能是joint_state_publisher节点的名字发生了变化,将joint_state_publisher改为joint_state_publisher_gui就可以运行了,修改如下:
<launch>
<arg name="model" />
<!-- 加载机器人模型参数 -->
<param name="robot_description" command="$(find xacro)/xacro --inorder $(find ma_arm_description)/urdf/arm.xacro" />
<!-- 设置GUI参数,显示关节控制插件 -->
<param name="use_gui" value="true"/>
<!-- 运行joint_state_publisher节点,发布机器人的关节状态 -->
<node name="joint_state_publisher_gui" pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" />
<!-- 运行robot_state_publisher节点,发布tf -->
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />
<!-- 运行rviz可视化界面 -->
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find ma_arm_description)/urdf.rviz" required="true" />
</launch>
运行结果如下:
可以看到运行结果已经没有什么问题了
但是也有可能依旧不显示
这时执行下面的命令安装joint-state-publisher-gui插件
sudo apt_get install ros-noetic-joint-state-publisher-gui
然后再修改launch文件中的插件名,,最后执行就可以解决了。