本人Linux版本:Ubuntu 18.04LTS

ROS版本:Melodic

URDF代码

<?xml version="1.0" ?>
<robot name="mbot">
    <link name="base_link">
        <visual>
            <origin xyz=" 0 0 0" rpy="0 0 0" />     
            <geometry>
                <cylinder length="0.16" radius="0.20"/>  
            </geometry>
            <material name="yellow">
                <color rgba="1 0.4 0 1"/>      <!--A代表透明度-->           
            </material>
        </visual>
    </link>
</robot>

launch文件

<launch>
    <param name="robot_description" textfile="$(find mbot_description)/urdf/mbot_base.urdf" />

    <!-- 设置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 mbot_description)/config/mbot_urdf.rviz" required="true" />
</launch>

会有以下报错

[WARN] [1582867522.390661]: The 'use_gui' parameter was specified, which is deprecated.  We'll attempt to find and run the GUI, but if this fails you should install the 'joint_state_publisher_gui' package instead and run that.  This backwards compatibility option will be removed in Noetic.
[ERROR] [1582867522.392212]: Could not find the GUI, install the 'joint_state_publisher_gui' package
[joint_state_publisher-2] process has died [pid 9056, exit code 1, cmd /opt/ros/melodic/lib/joint_state_publisher/joint_state_publisher __name:=joint_state_publisher __log:=/home/vtas/.ros/log/b6cbe59e-59ea-11ea-b2f1-84ef181f5770/joint_state_publisher-2.log].
log file: /home/vtas/.ros/log/b6cbe59e-59ea-11ea-b2f1-84ef181f5770/joint_state_publisher-2*.log

主要解决办法如下:
1、joint_state_publisher_gui是刚更新出来的包,需要把之前的joint_state_publisher换成joint_state_publisher_gui
2、输入下面的命令

sudo apt-get install ros-melodic-joint-state-publisher-gui 

如果是kinetic版本的

sudo apt-get install ros-kinetic-joint-state-publisher-gui

!!!提醒!!!URDF文件中不能有中文注释,删除掉中文注释

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐