zoukankan      html  css  js  c++  java
  • Melodic 使用URDF创建简单的机器人模型

    本人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

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

             如果是kinetic版本的

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

    2、URDF文件中不能有中文注释,删除掉中文注释;

    然后再运行就可以成功打开了。

    但是还是存在一个warning

    [WARN] [1582868994.395547]: 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.

    希望看到的人提供一个解决思路,不胜感激。

    二更

    编译后不用再重复添加环境变量source的办法

    例如catkin_ws

    在/home 文件夹下按ctrl+h显示隐藏文件

    打开 .bashrc

    再最后输入  source+路径

    source /home/vtas/catkin_ws/devel/setup.bash

    之后就没必要每次都source一下了

     
  • 相关阅读:
    Codeforces Round #669 (Div. 2) A、B题题解
    【证明】树上问题-树的直径
    Web前端开发——概述
    Codeforces Round #667 (Div. 3) A
    Codeforces Round #529 (Div. 3) 练习赛
    [Noip2012] 开车旅行 (倍增DP,难)
    国家集训队论文列表(1999-2019)
    博弈论经典模型解析(入门级)
    Problem 1342B
    SCOI2005 互不侵犯 (状态压缩入门题)
  • 原文地址:https://www.cnblogs.com/vtas-Yao/p/12376939.html
Copyright © 2011-2022 走看看