ROS探索总结(五)——创建简单的机器人模型smartcar

59094
141
2016年2月19日 21时37分

 

前面我们使用的是已有的机器人模型进行仿真,这一节我们将建立一个简单的智能车机器人smartcar,为后面建立复杂机器人打下基础。

一、创建硬件描述包

 

roscreat-pkg  smartcar_description  urdf

 

二、智能车尺寸数据

        因为建立的是一个非常简单的机器人,所以我们尽量使用简单的元素:使用长方体代替车模,使用圆柱代替车轮,具体尺寸如下:
ROS探索总结(五)——创建简单的机器人模型smartcar插图

三、建立urdf文件

        在smartcar_description文件夹下建立urdf文件夹,创建智能车的描述文件smartcar.urdf,描述代码如下:
<?xml version="1.0"?>  
<robot name="smartcar">  
  <link name="base_link">  
    <visual>  
      <geometry>  
        <box size="0.25 .16 .05"/>  
    </geometry>  
    <origin rpy="0 0 1.57075" xyz="0 0 0"/>  
    <material name="blue">  
        <color rgba="0 0 .8 1"/>  
    </material>  
    </visual>  
</link>  
  
<link name="right_front_wheel">  
    <visual>  
      <geometry>  
        <cylinder length=".02" radius="0.025"/>  
      </geometry>  
      <material name="black">  
        <color rgba="0 0 0 1"/>  
      </material>  
    </visual>  
  </link>  
  
  <joint name="right_front_wheel_joint" type="continuous">  
    <axis xyz="0 0 1"/>  
    <parent link="base_link"/>  
    <child link="right_front_wheel"/>  
    <origin rpy="0 1.57075 0" xyz="0.08 0.1 -0.03"/>  
    <limit effort="100" velocity="100"/>  
    <joint_properties damping="0.0" friction="0.0"/>  
  </joint>  
  
  <link name="right_back_wheel">  
    <visual>  
      <geometry>  
        <cylinder length=".02" radius="0.025"/>  
      </geometry>  
      <material name="black">  
        <color rgba="0 0 0 1"/>  
      </material>  
    </visual>  
  </link>  
  
  <joint name="right_back_wheel_joint" type="continuous">  
    <axis xyz="0 0 1"/>  
    <parent link="base_link"/>  
    <child link="right_back_wheel"/>  
    <origin rpy="0 1.57075 0" xyz="0.08 -0.1 -0.03"/>  
    <limit effort="100" velocity="100"/>  
    <joint_properties damping="0.0" friction="0.0"/>  
</joint>  
  
<link name="left_front_wheel">  
    <visual>  
      <geometry>  
        <cylinder length=".02" radius="0.025"/>  
      </geometry>  
      <material name="black">  
        <color rgba="0 0 0 1"/>  
      </material>  
    </visual>  
  </link>  
  
  <joint name="left_front_wheel_joint" type="continuous">  
    <axis xyz="0 0 1"/>  
    <parent link="base_link"/>  
    <child link="left_front_wheel"/>  
    <origin rpy="0 1.57075 0" xyz="-0.08 0.1 -0.03"/>  
    <limit effort="100" velocity="100"/>  
    <joint_properties damping="0.0" friction="0.0"/>  
  </joint>  
  
  <link name="left_back_wheel">  
    <visual>  
      <geometry>  
        <cylinder length=".02" radius="0.025"/>  
      </geometry>  
      <material name="black">  
        <color rgba="0 0 0 1"/>  
      </material>  
    </visual>  
  </link>  
  
  <joint name="left_back_wheel_joint" type="continuous">  
    <axis xyz="0 0 1"/>  
    <parent link="base_link"/>  
    <child link="left_back_wheel"/>  
    <origin rpy="0 1.57075 0" xyz="-0.08 -0.1 -0.03"/>  
    <limit effort="100" velocity="100"/>  
    <joint_properties damping="0.0" friction="0.0"/>  
  </joint>  
  
  <link name="head">  
    <visual>  
      <geometry>  
        <box size=".02 .03 .03"/>  
      </geometry>  
      <material name="white">  
          <color rgba="1 1 1 1"/>  
      </material>  
    </visual>  
  </link>  
  
  <joint name="tobox" type="fixed">  
    <parent link="base_link"/>  
    <child link="head"/>  
    <origin xyz="0 0.08 0.025"/>  
  </joint>  
</robot>
 

四、建立launch命令文件

        在smartcar_description文件夹下建立launch文件夹,创建智能车的描述文件 base.urdf.rviz.launch,描述代码如下:
<launch>     
    <arg name="model" />      
    <arg name="gui" default="False" />     
    <param name="robot_description" textfile="$(find smartcar_description)/urdf/smartcar.urdf" />      
    <param name="use_gui" value="$(arg gui)"/>     
    <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" >
    </node>      
    <node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" />      
    <node name="rviz" pkg="rviz" type="rviz" args="-d $(find urdf_tutorial)/urdf.vcg" />  
</launch>
 

五、效果演示

        在终端中输入显示命令:
roslaunch  smartcar_description  base.urdf.rviz.launch  gui:=true
        显示效果如下图所示,使用gui中的控制bar可以控制四个轮子单独旋转。
ROS探索总结(五)——创建简单的机器人模型smartcar插图(1)

 

发表评论

后才能评论

评论列表(141条)

  • sart 2020年9月6日 下午9:58

    古月老师,你好,我在两台电脑运行roslaunch smartcar_description smartcar_display.rviz.launch都会出现下面报错:
    [ERROR] [1599396339.401041890]: No link elements found in urdf file
    [robot_state_publisher-3] process has died [pid 15369, exit code -11, cmd /opt/ros/indigo/lib/robot_state_publisher/state_publisher __name:=robot_state_publisher __log:=/home/lingyun/.ros/log/6545bc42-f03d-11ea-b207-94659c4f53c6/robot_state_publisher-3.log].
    log file: /home/lingyun/.ros/log/6545bc42-f03d-11ea-b207-94659c4f53c6/robot_state_publisher-3*.log
    [ERROR] [1599396339.954519843]: No link elements found in urdf file
    请问如何解决呢,但是我在第三台机器上用同样的代码测试就没报错,而且这个报错导致我之前可以运行的launch文件例如roslaunch rbx1_bringup fake_turtlebot.launch也会出现上述的报错,请问是啥原因呢?

  • rmcqa_5519 2020年4月7日 下午6:45

    请问老师更换joint_state_publisher_gui后出现这个错误:ERROR: cannot launch node of type [joint_state_publisher_gui/joint_state_publisher_gui]: joint_state_publisher_gui,该怎么解决呢

  • 静静悄悄默默淡淡止住呼吸 2020年2月28日 下午1:37

    古月老师 我用的是melodic版本
    也出现了网友们遇到的问题,我按照提示

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

    运行之后可以打开插件了但是还是有警告

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

    如何消除这个警告呢?

    • 具体问题描述:https://www.cnblogs.com/vtas-Yao/p/12376939.html

    • Jack 回复 静静悄悄默默淡淡止住呼吸 2020年3月8日 下午8:03

      你好,请问你解决了吗

    • 古月 回复 静静悄悄默默淡淡止住呼吸 2020年3月5日 下午4:49

      用joint_state_publisher_gui替换原本的joint_state_publisher,然后删除launch中对use_gui的设置

    • Jack 回复 古月 2020年3月8日 下午6:53

      古月老师您好,我也存在这个问题,按照您所说替换之后出现这个error
      cannot launch node of type [joint_state_publisher_gui/joint_state_publisher_gui]: joint_state_publisher_gui
      我尝试用sudo apt-get install joint_state_publisher_gui 去安装,但是显示无法定位资源包,请问该怎么解决呢

    • 古月 回复 Jack 2020年3月16日 下午11:22

      安装的时候都是中间的横线, joint-state-publisher-gui

    • t9t4s_6126 回复 古月 2020年4月15日 下午7:11

      我用的是indigo,找不到这个包,是不是indigo不支持啊?

    • 古德里安的装甲师 回复 Jack 2020年3月28日 上午12:41

      应该安装的全称是 sudo apt-get install ros-melodic-joint-state-publisher-gui,然后再按古月老师上面说的那么替换,就可以了

    • rmcqa_5519 回复 Jack 2020年4月7日 下午6:42

      哭了,我也是这个错误ERROR: cannot launch node of type [joint_state_publisher_gui/joint_state_publisher_gui]: joint_state_publisher_gui,请问你解决了吗,太悲伤了

    • 古月 回复 rmcqa_5519 2020年4月20日 下午10:41

      sudo apt-get install joint-state-publisher-gui安装

    • hwl44_5631 回复 古月 2020年4月28日 下午11:24

      没事了解决了

    • hwl44_5631 回复 古月 2020年4月28日 下午10:50

      老师你好,想问一下具体是怎么用joint_state_publisher_gui替换原本的joint_state_publisher呢?display.launch文件不可更改,怎么删除launch中对use_gui的设置呢?

  • s6ed7_9885 2020年2月15日 下午11:36

    [WARN] [1581780877.646318]: 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] [1581780877.646970]: Could not find the GUI, install the ‘joint_state_publisher_gui’ package
    [joint_state_publisher-2] process has died [pid 14785, exit code 1, cmd /opt/ros/kinetic/lib/joint_state_publisher/joint_state_publisher __name:=joint_state_publisher __log:=/home/ljw/.ros/log/ac0f0f1e-5008-11ea-aae1-ac2b6e2cfb5a/joint_state_publisher-2.log].
    log file: /home/ljw/.ros/log/ac0f0f1e-5008-11ea-aae1-ac2b6e2cfb5a/joint_state_publisher-2*.log

    打开rviz后,显示No transform from [front_caster_link] to [base_link]等错误

    • legend 回复 s6ed7_9885 2020年2月17日 下午10:09

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

    • 古月 回复 s6ed7_9885 2020年2月23日 下午7:36

      joint_state_publisher_gui是刚更新出来的包,需要把之前的joint_state_publisher换成joint_state_publisher_gui

    • ufdax_0441 回复 s6ed7_9885 2020年9月20日 下午6:25

      ubuntu18.04: sudo apt-get install ros-melodic-joint-state-publisher-gui
      ubuntu16.04: sudo apt-get install ros-kinetic-joint-state-publisher-gui

  • d9zmn_4775 2020年2月10日 上午9:43

    [WARN] [1581298659.056857]: 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] [1581298659.058822]: Could not find the GUI, install the ‘joint_state_publisher_gui’ package
    [joint_state_publisher-2] process has died [pid 26132, exit code 1, cmd /opt/ros/melodic/lib/joint_state_publisher/joint_state_publisher __name:=joint_state_publisher __log:=/home/hk/.ros/log/eb19105e-4ba5-11ea-b634-3cf0116c1763/joint_state_publisher-2.log].
    log file: /home/hk/.ros/log/eb19105e-4ba5-11ea-b634-3cf0116c1763/joint_state_publisher-2*.log

  • d9zmn_4775 2020年2月10日 上午9:42

    Could not find the GUI, install the ‘joint_state_publisher_gui’ package,之前没有这个错误;现在有了

  • TonyChan 2019年7月19日 上午1:43

    老师,为什么模型的轮子在网格下面呢,这个坐标转换应该怎么做呢,我在Gazebo下显示模型,我的小车4个轮子在水平面下方,而不是在地面上,这是怎么回事呢

    • 古月 回复 TonyChan 2019年7月25日 下午10:24

      gazebo里应该书要使物理参数的配置问题,一般会有一个base_footprint映射到地面的坐标系

    • TonyChan 回复 古月 2019年8月3日 下午5:18

      已经添加了一个base_footprint 但是在gazebo里这个base_footprint也是掉在了地面之下

      如果把

      世界坐标和base_footprint固定,小车模型就在地面上,不过这样做感觉不太对,这样不就是把小车固定死了吗,就不能移动了

  • 2019年5月22日 下午3:04

    博主您好,我照着做了,launch的时候出现下面的东西
    … logging to /home/cs/.ros/log/fe25b08a-7c57-11e9-9e63-7429af9167ff/roslaunch-ubuntu-21491.log
    Checking log directory for disk usage. This may take awhile.
    Press Ctrl-C to interrupt
    Done checking log file disk usage. Usage is <1GB.

    Invalid roslaunch XML syntax: mismatched tag: line 7, column 2
    The traceback for the exception was written to the log file

    • 古月 回复 2019年5月23日 下午5:16

      launch文件有语法错误吧

  • MT 2019年2月23日 下午8:49

    你好,请问我用solidworks倒的URDF模型,TF坐标都是对的,但是Link全是散的,不在正确的位置上是什么情况?之前也出现过这样的情况,我重做了一遍就好了。这次一直不好。

    • 古月 回复 MT 2019年2月24日 上午11:59

      一般情况下是在solidworks里边的坐标系或者旋转轴配置的有问题

    • MT 回复 古月 2019年2月24日 下午8:41

      嗯嗯,全部重配置了一遍,基本好了。有点小问题直接在URDF文件里改了。谢谢啦

    • 闻泽 回复 MT 2019年10月20日 下午4:02

      您好,我也是这种情况,solidworks导出的车体及1个轮子的tf在rviz都是正确的的,其他3个轮子散的,还有solidworks做的材质信息到处urdf在 rviz也显示不了,您是怎么解决的?

  • 高鑫 2019年2月17日 下午12:04

    老師您好 我如果要是想建立阿克曼型的urdf文件該如和描述舵機模型呢?

    • 古月 回复 高鑫 2019年2月17日 下午2:59

      阿克曼主要还是旋转关节,网上相关的urdf示例,舵机可以参考下《ROS by example 2》中的舵机机械臂模型

  • 李志超 2019年1月9日 下午5:28

    古月老师,还是我,嘻嘻,我从github上下了一个Dobot urdf机器人模型,但机械臂前端没有我想要的一个加持件,所以我想加一个,但我只知道从solidworks上导入urdf文件,想问下有从urdf文件中导入成solidworks这一说法吗

    • 古月 回复 李志超 2019年1月10日 上午11:16

      好像没有

    • wenze 回复 李志超 2019年10月20日 下午4:05

      您好,我solidworks导出的车体及1个轮子的tf在rviz都是正确的的,其他3个轮子散的,还有solidworks做的材质信息到处urdf在 rviz也显示不了,您是怎么解决的?

  • 罗西 2018年8月6日 下午4:58

    月哥,问个问题,您所了解的像他们做机器人的urdf文件是自己一条一条写还是说用别的软件画好了转换过来用? 我用三维软件试过了,导出来的文件的惯性参数有问题,在gazebo中用不了。

    • 古月 回复 罗西 2018年8月6日 下午11:38

      一般都是solidworks转换的,然后再针对有问题的参数做修改

  • YJC 2018年8月2日 上午10:48

    大神您好,我想请问一下,我在建立urdf模型的时候,运行launch文件会报这个错误:ModuleNotFoundError:No module named ‘rospkg’,导致有些link不能显示,我安装过anaconda会影响到ros吗?

    • 古月 回复 YJC 2018年8月5日 下午6:07

      anaconda会影响到ROS,主要是各种依赖软件的版本问题,比如python、qt等

    • YJC 回复 古月 2018年8月6日 上午11:26

      有没有解决这个问题的办法,还是说两个不能同时安装?

    • 古月 回复 YJC 2018年8月6日 下午11:37

      目前我还没有看到特别好的办法,建议分开安装

    • xuhao 回复 YJC 2018年9月2日 下午6:09

      可在在.bashrc中将anaconda的环境变量注释掉,当需要用anaconda时,把注释取消

  • Luffy 2018年6月14日 下午1:53

    你好,最近在学习ros,有个很基础的问题请教下,请问编辑ros代码时,使用哪个编辑器比较好?最好能支持自动补全的,我现在在使用vim,但是感觉添加补全文件太麻烦了

    • 古月 回复 Luffy 2018年6月14日 下午5:30

      可以用eclipse、vscode、qt、roboware等,参考:http://wiki.ros.org/IDEs

  • Darren 2018年5月29日 下午6:53

    @古月 我按照你的步骤编写,执行roslaunch smartcar_description base.urdf.rviz.launch gui:=true后显示[joint_state_publisher-1] process has died [pid 6301, exit code 1, cmd /opt/ros/indigo/lib/joint_state_publisher/joint_state_publisher __name:=joint_state_publisher __log:=/home/darren/.ros/log/018f1a44-631e-11e8-9625-000c2914fa04/joint_state_publisher-1.log].
    log file: /home/darren/.ros/log/018f1a44-631e-11e8-9625-000c2914fa04/joint_state_publisher-1*.log
    这个错误,r如何解决呢

    • 古月 回复 Darren 2018年5月30日 上午10:54

      这里有针对indigo版本的代码,参考:http://download.csdn.net/detail/darkmoonkiller/9662483

    • Darren 回复 古月 2018年5月30日 下午5:13

      @古月 嗯嗯,现在还有一个问题是我的小车URDF模型能够显示出来,但是下发速度指令后小车不动,我看节点图有接收速度指令。

    • 古月 回复 Darren 2018年5月31日 上午11:50

      修改rviz中的fixed frame为odom

  • 指尖的流光 2018年5月22日 上午10:33

    大神,您好!我才开始接触ROS,现在在仿着建立自己的urdf模型,但是在启动后出现了一个错误:No transform from [radius1] to [base_link],我将radius1改为静态就没有这个问题,但是我需要用动态的,请问需要怎样修改呢?另外为在启动的时候有个错误:Could not parse collision element for Link [base_link],希望大神或者遇到过这个问题的大佬在看到后可以抽空指点一下,非常感谢

    • 古月 回复 指尖的流光 2018年5月23日 下午3:26

      radius1这个坐标系放置到urdf模型里,并且通过joint设置一个动态的关系,就可以。另外那个错误应该是urdf模型里的标签用错了或者输入错了,仔细检查一下

    • 指尖的流光 回复 古月 2018年5月23日 下午9:39

      我有将radius1放置在urdf模型里面,也定义了joint,将type设置为continuous,但是我view_frames后发现radius1和base_link没有连接,而radius1和另一个关节正常连接,urdf里面的joint如下:

      ,不知道那里出问题了

    • 指尖的流光 回复 指尖的流光 2018年5月23日 下午9:44

      刚才有将joint代码复制的,不知道为撒不见了,重新复制一下:

    • 古月 回复 指尖的流光 2018年5月24日 下午2:46

      可能是tf发布的频率不一样,用view_frames只能看静态的,用rqt_tf试一下,不断的刷新tf树,看下radius1和base_link能不能连接上。或者使用tf的echo工具,打印这两个坐标系之间的变换,看下能不能出来

    • 指尖的流光 回复 古月 2018年5月26日 下午10:35

      我试过将type修改为其他的,发现除了fixed其他都会有这个问题,感觉现在解决不了,后面知道了再来解决吧,仍然非常感谢古月大神

    • 古月 回复 指尖的流光 2018年5月28日 下午12:55

      这个是发布频率的问题,动态关节的发布频率不同

    • 陈燕玲 回复 古月 2018年9月22日 下午2:44

      我用rqt_tf看了,发现无法连接上,该怎么解决呢?

    • 古月 回复 陈燕玲 2018年9月24日 下午5:22

      检查该tf的广播者和监听者,是否有建立连接

    • 雨非 回复 指尖的流光 2018年10月23日 下午4:15

      请问您这个问题解决了吗?

  • zxfever 2018年5月11日 下午9:44

    为啥看不到古大神博客里的图片。。。。。。

    • 古月 回复 zxfever 2018年5月15日 下午8:17

      之前csdn的图片都不让转了,就消失了,有时间我再加上去吧,暂时可以先看我csdn上的博文,内容一样的

  • 天天开心 2017年12月7日 下午10:07

    大神你好,运行roslaunch smartcar_description base.urdf.rviz.launch gui:=true
    出现下面的bug:
    … logging to /home/cdl/.ros/log/62aee132-db57-11e7-bb0b-68172942fd24/roslaunch-cdl-Inspiron-5421-27841.log
    Checking log directory for disk usage. This may take awhile.
    Press Ctrl-C to interrupt
    Done checking log file disk usage. Usage is <1GB.

    Traceback (most recent call last):
    File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/__init__.py", line 307, in main
    p.start()
    File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/parent.py", line 268, in start
    self._start_infrastructure()
    File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/parent.py", line 217, in _start_infrastructure
    self._load_config()
    File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/parent.py", line 132, in _load_config
    roslaunch_strs=self.roslaunch_strs, verbose=self.verbose)
    File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/config.py", line 451, in load_config_default
    loader.load(f, config, verbose=verbose)
    File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 746, in load
    self._load_launch(launch, ros_config, is_core=core, filename=filename, argv=argv, verbose=verbose)
    File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 718, in _load_launch
    self._recurse_load(ros_config, launch.childNodes, self.root_context, None, is_core, verbose)
    File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 662, in _recurse_load
    self._param_tag(tag, context, ros_config, verbose=verbose)
    File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 95, in call
    return f(*args, **kwds)
    File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 264, in _param_tag
    value = self.param_value(verbose, name, ptype, *vals)
    File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/loader.py", line 470, in param_value
    with open(textfile, 'r') as f:
    IOError: [Errno 2] No such file or directory: u'/home/cdl/catkin_ws/src/smartcar_description/urdf/smartcar.urdf'
    请问怎么办?

    • 古月 回复 天天开心 2017年12月7日 下午11:01

      关键是最后一句:No such file or directory: u’/home/cdl/catkin_ws/src/smartcar_description/urdf/smartcar.urdf’
      找不到模型文件,请检查路径和环境变量

    • 天天开心 回复 古月 2017年12月7日 下午11:08

      添加了urdf文件后出现了rviz但是加载不出来小车模型,我也修改了launch文件了
      重新输入后又是这样了:
      roslaunch smartcar_description base.urdf.rviz.launch gui:=true
      … logging to /home/cdl/.ros/log/ae8f8932-db5f-11e7-8dc6-68172942fd24/roslaunch-cdl-Inspiron-5421-2381.log
      Checking log directory for disk usage. This may take awhile.
      Press Ctrl-C to interrupt
      Done checking log file disk usage. Usage is <1GB.

      started roslaunch server http://cdl-Inspiron-5421:40047/

      SUMMARY
      ========

      PARAMETERS
      * /robot_description: <?xml version="1….
      * /rosdistro: kinetic
      * /rosversion: 1.12.7
      * /use_gui: True

      NODES
      /
      joint_state_publisher (joint_state_publisher/joint_state_publisher)
      robot_state_publisher (robot_state_publisher/state_publisher)
      rviz (rviz/rviz)

      ROS_MASTER_URI=http://localhost:11311

      core service [/rosout] found
      process[joint_state_publisher-1]: started with pid [2399]
      process[robot_state_publisher-2]: started with pid [2400]
      process[rviz-3]: started with pid [2403]

    • 古月 回复 天天开心 2017年12月14日 上午9:58

      修改一下Launch中的rviz配置文件,或者删掉配置文件,自己在rviz中添加显示项

  • ccx 2017年12月1日 下午3:39

    古月大神,我在使用robot_pose_ekf时imu一直无法启动,我跑的是已采的数据集,只使用了里程计和imu,我只是简单修改了launch文件,报错Could not transform imu message from fcu to base_footprint. Imu will not be activated yet,请问应该如何解决,是否跟tf变换关系不对有关呢

    • 古月 回复 ccx 2017年12月3日 下午11:31

      看错误提示确实和tf有关系,看下tf关系:fcu to base_footprint,有没有

    • 林锡标 回复 古月 2018年4月18日 下午7:53

      古月老师,我也运到这个问题Could not transform imu message from base_imu_link to base_footprint. Imu will not be activated yet,我写了一个base_imu_link 到base_footprint的静态坐标不行,要怎么解决

    • 古月 回复 林锡标 2018年4月19日 上午9:36

      你要看tf树里边是不是所有的坐标变换都连在一起了,如果是独立的话是不行的,在robot_pose_ekf启动的配置参数里要设置好坐标系

    • 林锡标 回复 古月 2018年4月19日 下午8:03

      谢谢老师,已经解决了

    • Dylanhej 回复 林锡标 2019年8月6日 下午2:37

      您好,请问您最终是怎么解决的呢,我遇到了和您一样的问题

  • dosh 2017年11月23日 下午4:51

    @古月 我kinetic都没问题,就是最后roslaunch smartcar_description base.urdf.rviz.launch gui:=true,打开rviz显示不出模型。

    • dosh 回复 dosh 2017年11月23日 下午5:35

      搞定了,修改了launch文件!继续跟着胡老师学习。

    • jianwei 回复 dosh 2017年11月28日 上午10:37

      你好,我也是在kinetic环境下,遇到了同样的问题,请问你是如何修改launch文件的?

    • 古月 回复 jianwei 2017年11月29日 上午9:20

      launch里用到一个其他功能包中的rviz配置文件:

      看下有没有urdf_tutorial这个功能包

    • 小孟 回复 古月 2017年12月13日 下午4:13

      我也遇见了模型无法显示的问题,请问能不能具体说明一下launch文件如何修改,谢谢啦

    • James 回复 小孟 2017年12月13日 下午8:12

      把最后的
      改为

    • rbf 回复 小孟 2017年12月13日 下午8:13

      改成这个

    • 古月 回复 小孟 2017年12月14日 上午9:56

      修改以下Launch中的rviz配置文件,或者删掉配置文件,自己在rviz中添加显示项

    • 皓 回复 古月 2018年1月29日 下午9:21

      我也遇到这个问题,把launch中最后一行改为rviz后可以显示rviz界面,但是小车模型没显示,请解答,万分感谢。

    • 皓 回复 古月 2018年1月30日 上午9:04

      您好 问题已解决,在打开界面中把Fixed Frame 中map改为base link,并添加robotmodel,继续向前辈学习

    • 古月 回复 2018年1月30日 上午9:16

      rviz打开后默认的Fixed Frame是map,这个坐标系在机器人本身是不存在的,需要修正

    • 杨振宇 回复 2018年5月31日 上午12:30

      您好。 我也把map改成base link 啦,但是还是无法显示模型。你说的添加robotmodel在哪里添加? 谢谢

    • 古月 回复 杨振宇 2018年5月31日 上午11:56

      点rviz左下角的Add,找到robotmodel并添加

    • 旺仔 回复 古月 2018年6月7日 上午9:43

      您好。按照上面各位的指点,把map改为bash link,也添加了robotmodel后,FIXed Frame与RobotModel都显示红色错误,我接下来该怎么办?

    • 旺仔 回复 古月 2018年6月7日 上午9:56

      您好。按照上面各位的指点,问题解决了,不好意思上面消息发出去后删除不了,现在遇到的问题是Robotmodel红色显示错误,没有轮子。还请您指点。

    • 旺仔 回复 古月 2018年6月7日 上午10:06

      您好。再次不好意思,问题解决了。 😥

  • xiaocainiao 2017年11月22日 下午11:03

    楼主,想问问,假如我想通过话题实时设置机器人的位置,那该怎么办。Arbotix 只能接受/cmd_vel 的速度消息吗,能更改位置吗?

    • 古月 回复 xiaocainiao 2017年11月23日 上午11:48

      可以强行修改里程计信息,然后在rviz中将固定坐标系设置为里程计坐标系

    • xiaocainiao 回复 古月 2017年11月24日 下午4:25

      您说的里程计信息是指arbotix 发布的/odom 话题的那个信息吗?我没找到在哪改 🙁 是在driver.py 那改吗

    • 古月 回复 xiaocainiao 2017年11月27日 上午8:59

      是在arbotix 包里,但是这个我没有做过,你需要在源码里找一下

    • xiaocainiao 回复 古月 2017年11月25日 上午12:19

      我觉得可以通过arbotix_python 的 diff_Controller.py 的源代码那改,但是安装arbotix后 他的源代码去了哪个地方?求问啊???

    • 古月 回复 xiaocainiao 2017年11月27日 上午8:58

      源码:https://github.com/vanadiumlabs/arbotix_ros,下载后放到自己的工作空间,覆盖默认安装的功能包。

  • 翔翔翔翔 2017年11月21日 下午11:02

    大神,同问rviz无法显示模型该如何处理?(前面没报错)

    • 古月 回复 翔翔翔翔 2017年11月23日 上午11:47

      请检查:有没有添加模型显示的插件,坐标系设置是否正确

  • xiji 2017年10月20日 上午9:42

    博主,我这边跑起来只有Global Options, Global Status, Grid

    • 古月 回复 xiji 2017年10月20日 下午5:21

      博客中的代码是老版ROS的,新版本ROS试一下这个网友修改的功能包:http://download.csdn.net/detail/darkmoonkiller/9662483

  • xiji 2017年10月19日 下午5:04

    博主,运行后看不到模型呢?

  • 茉莉 2017年8月29日 上午11:14

    大神,请问在Rviz中出现了以下错误如何解决?
    Global Status:Error
    Fixed Frame

    • 茉莉 回复 茉莉 2017年8月29日 上午11:19

      大神我已解决,嘿嘿!

    • 古月 回复 茉莉 2017年8月29日 上午11:20

      赞!

    • 李浩然 回复 古月 2017年10月16日 下午4:33

      您好,这个Global Status:Error怎么解决呀。。。

    • 李浩然 回复 古月 2017年10月17日 上午9:13

      这个问题应该怎么解决呀?
      Global Status:Error
      Fixed Frame

    • 李浩然 回复 茉莉 2017年10月16日 下午4:37

      您好

    • 天天开心 回复 李浩然 2017年12月7日 下午11:12

      我也是同样的问题,请问你是怎么解决的?

    • 李浩然 回复 茉莉 2017年10月16日 下午4:38

      您是怎么解决的呀?

    • 古月 回复 李浩然 2017年10月16日 下午6:25

      应该是修改一下Fixed Frame

    • 李浩然 回复 古月 2017年10月17日 上午9:50

      大神您好,我是新手,不知道如何修改固定参考系,您可以告诉我一下嘛?

    • 古月 回复 李浩然 2017年10月17日 下午7:50

      在打开的rviz左上角的Global options里,有一个Fixed Frame,如果不是base_link,需要用鼠标点下三角选择

    • 李浩然 回复 古月 2017年10月17日 上午9:58

      就是按照您第五章的教程一步一步创建,最后出现了这个问题,不知道在那里进行修改。

    • 李浩然 回复 古月 2017年10月17日 上午10:06

      如果方便的话加一下您的联系方式不知道可以嘛。。。可以及时向您提问

    • 古月 回复 李浩然 2017年10月17日 下午7:51

      可以发我邮件,huchunxu@hust.edu.cn

    • 李浩然 回复 古月 2017年11月1日 上午9:48

      大神,我给您发了邮件啦~请您查收一下~我有问题问您呢,多谢啦!

    • 自由 回复 茉莉 2017年11月13日 下午5:27

      你好,请问你是怎么解决的阿,Global Status:Error
      Fixed Frame

    • 古月 回复 自由 2017年11月15日 下午11:17

      修改一下Fixed Frame

  • 姚玲 2017年6月5日 下午3:13

    你好,执行roslaunch smartcar_description base.urdf.rviz.launch gui:=true这个后,提示[ERROR] [1496645679.902636787]: Could not find the ‘robot’ element in the xml file
    不知道是怎么回事?

    • 古月 回复 姚玲 2017年6月5日 下午11:41

      这里有针对indigo版本的代码,参考:http://download.csdn.net/detail/darkmoonkiller/9662483

  • Eric 2017年3月28日 下午3:50

    大神 这个硬件描述包在哪里创建(roscreat-pkg smartcar_description urdf)

    • 古月 回复 Eric 2017年3月28日 下午5:29

      是在catkin/src路径下

    • Eric 回复 古月 2017年4月5日 下午4:15

      按照你的步骤,出现如下错误,请问是什么原因?
      [joint_state_publisher-1] process has died [pid 19911, exit code 1, cmd /opt/ros/hydro/lib/joint_state_publisher/joint_state_publisher __name:=joint_state_publisher __log:=/home/eric/.ros/log/8a553572-19d5-11e7-9b66-28d244bf6a73/joint_state_publisher-1.log].
      log file: /home/eric/.ros/log/8a553572-19d5-11e7-9b66-28d244bf6a73/joint_state_publisher-1*.log

    • 红魔 回复 Eric 2017年4月11日 下午8:54

      你把smartcar.urdf的文件的第一行的空格去掉再试试。

  • DingXu 2017年2月22日 上午11:05

    请问这是什么情况,怎么解决啊?困扰好久[base.urdf.rviz.launch] is neither a launch file in package [smartcar_description] nor is [smartcar_description] a launch file name
    The traceback for the exception was written to the log file

    • 古月 回复 DingXu 2017年2月24日 上午9:58

      检查一下环境变量和路径

    • DingXu 回复 古月 2017年2月27日 上午11:35

      你好,环境变量显示正常了,谢谢。不过,按照上述步骤出现了warming,没有显示图形化界面。请问怎么处理???:WARNING: unable to configure logging. No log files will be generated
      Checking log directory for disk usage. This may take awhile.
      Press Ctrl-C to interrupt
      Done checking log file disk usage. Usage is <1GB.

      Invalid tag: Cannot load command parameter [rosversion]: command [rosversion roslaunch] returned with code [1].

      Param xml is
      The traceback for the exception was written to the log file
      No handlers could be found for logger “roslaunch;;;

    • 古月 回复 DingXu 2017年2月27日 下午5:33

      警告显示是存储空间不足,检查一下存储空间,可以删掉 .ros文件夹下的log文件

    • Cruiser 回复 DingXu 2017年4月26日 下午1:30

      你好,请问环境变量和路径要检查哪些?谢谢

    • 古月 回复 Cruiser 2017年4月27日 上午9:18

      ros安装路径和工作目录的路径,需要在终端的配置文件中加入对应的配置

    • heisenberg 回复 古月 2017年5月27日 下午10:02

      还是不会检查阿。。。。晕。。。

  • Mr.H 2016年11月11日 下午1:06

    古月君,这样子的话我可不可以利用gui来获取小车在地图中的具体坐标呢?

    • 古月 回复 Mr.H 2016年11月12日 下午5:29

      这里只是显示了小车的模型,没有坐标,如果加入了odom,就可以知道小车的位置了

  • 王方 2016年9月20日 上午11:37

    加上这句话会出错,这句话是什么意思啊?

    • 王方 回复 王方 2016年9月20日 上午11:38

      这一句“”

    • 王方 回复 王方 2016年9月20日 上午11:39

      urdf模型最后一句!,为什么代码放不上……

    • 古月 回复 王方 2016年9月22日 下午3:57

      不好意思,最后一句因为排版,多出来一句无用信息,已经更正

  • NodYoung 2016年8月2日 下午5:22

    在较新的ROS版本中要把base.urdf.rviz.launch文件代码的line9中“urdf.vcg”改为“urdf.rviz”,不然会报错

  • yangchx 2016年4月16日 下午6:48

    楼主,这行是不是有错误呢?roscreat-pkg smartcar_description urdf 没有roscreat-pkg关键字,是不是这个呢?roscreate-pkg

    • 古月 回复 yangchx 2016年4月19日 下午1:56

      roscreate-pkg是之前版本的命令,现在已经改成了catkin_create_pkg

  • Jason 2016年3月8日 上午11:26

    报错 ResourceNotFound: urdf_tutorial 怎么解

    • 古月 回复 Jason 2016年3月8日 下午1:19

      1、urdf_tutorial是否正常安装
      2、环境变量是否设置

    • LH 回复 Jason 2018年3月15日 下午1:28

      You probably need to install urdf_tutorial first, 尝试:
      cd ~/catkin_ws/src/
      git clone https://github.com/ros/urdf_tutorial
      cd ..
      catkin_make
      source devel/setup.bash