ROS探索总结(四)——简单的机器人仿真

  • 内容
  • 评论
  • 相关

前边我们已经介绍了ROS的基本情况,以及新手入门ROS的初级教程,现在就要真正的使用ROS进入机器人世界了。接下来我们涉及到的很多例程都是《ROS by Example》这本书的内容,我是和群里的几个人一起从国外的亚马逊上买到的,还是很有参考价值的,不过前提是你已经熟悉之前的新手教程了。

一、ROS by Example


        这本书是关于国外关于ROS出版的第一本书,主要针对Electric和Fuerte版本,使用机器人主要是TurtleBot。书中详细讲解了关于机器人的基本仿真、导航、路径规划、图像处理、语音识别等等,而且在google的svn上发布了所有代码,可以通过以下命令下载、编译:

  1. svn checkout http://ros-by-example.googlecode.com/svn/trunk/rbx_vol_1  
  2. rosmake rbx_vol_1  
  3. rospack profile          //加入ROS package路径

二、rviz简单机器人模拟

       1、安装机器人模拟器                      

       rviz是一个显示机器人实体的工具,本身不具有模拟的功能,需要安装一个模拟器arbotix。

  1. svn checkout http://vanadium-ros-pkg.googlecode.com/svn/trunk/arbotix  
  2. rosmake arbotix

    

       2、TurtleBot机器人的模拟

       在书中的rbx_vol_1包里已经为我们写好了模拟的代码,我们先进行实验,完成后再仔细研究代码。
       机器人模拟运行:
  1. roscore  
  2. roslaunch rbx1_bringup fake_pi_robot.launch
 
       然后在终端中可以看到,机器人已经开始运行了,打开rviz界面,才能看到机器人实体。
  1. rosrun rviz rviz -d `rospack find rbx1_nav`/sim_fuerte.vcg
 
       后面的参数是加载了rviz的配置文件sim_fuerte.vcg。效果如下:
  

       此时的机器人是静止的,需要发布一个消息才能让它动起来。

  1. rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0.2, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0.5}}'


      
       如果要让机器人停下来,需要在中断中按下“Ctrl+c”,然后输入:

  1. rostopic pub -1 /cmd_vel geometry_msgs/Twist '{}'

       也可以改变发送的topic信息,使机器人走出不同的轨迹。

三、实现分析

       按照上面的仿真过程,我们详细分析每一步的代码实现。  

       1、TurtleBot机器人运行

       机器人运行使用的是launch文件,首先打开fake_turtlebot.launch文件。
  1. <launch>  
  2.   <param name="/use_sim_time" value="false" />  
  3.  
  4.   <!-- Load the URDF/Xacro model of our robot -->  
  5.   <arg name="urdf_file" default="$(find xacro)/xacro.py '$(find turtlebot_description)/urdf/turtlebot.urdf.xacro'" />  
  6.  
  7.   <param name="robot_description" command="$(arg urdf_file)" />  
  8.  
  9.   <node name="arbotix" pkg="arbotix_python" type="driver.py" output="screen">  
  10.       <rosparam file="$(find rbx1_bringup)/config/fake_turtlebot_arbotix.yaml" command="load" />  
  11.       <param name="sim" value="true"/>  
  12.   </node>  
  13.  
  14.   <node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher">  
  15.       <param name="publish_frequency" type="double" value="20.0" />  
  16.   </node>  
  17.  
  18.   <!-- We need a static transforms for the wheels -->  
  19.   <node pkg="tf" type="static_transform_publisher" name="odom_left_wheel_broadcaster" args="0 0 0 0 0 0 /base_link /left_wheel_link 100" />  
  20.   <node pkg="tf" type="static_transform_publisher" name="odom_right_wheel_broadcaster" args="0 0 0 0 0 0 /base_link /right_wheel_link 100" />  
  21.  
  22. </launch>

        文件可以大概分为四个部分:
        (1) 从指定的包中加载urdf文件
        (2) 启动arbotix模拟器
        (3) 启动状态发布节点
        (4) tf坐标系配置

2、rviz配置文件

       在打开rviz的时候需要加载一个.vcg的配置文件,主要对rviz中的插件选项进行默认的配置。这里打开的是sim_fuerte.vcg文件,由于文件比较长,这里只列举重点的部分。

  1. Background\ ColorB=0.12549  
  2. Background\ ColorG=0.12549  
  3. Background\ ColorR=0.12549  
  4. Camera\ Config=158.108 0.814789 0.619682 -1.57034  
  5. Camera\ Type=rviz::FixedOrientationOrthoViewController  
  6. Fixed\ Frame=/odom  
  7. Grid.Alpha=0.5  
  8. Grid.Cell\ Size=0.5  
  9. Grid.ColorB=0.941176  
  10. Grid.ColorG=0.941176  
  11. Grid.ColorR=0.941176  
  12. Grid.Enabled=1  
  13. Grid.Line\ Style=0  
  14. Grid.Line\ Width=0.03  
  15. Grid.Normal\ Cell\ Count=0  
  16. Grid.OffsetX=0  
  17. Grid.OffsetY=0  
  18. Grid.OffsetZ=0  
  19. Grid.Plane=0

        上面的代码是配置背景颜色和网格属性的,对应rviz中的选项如下图所示。

       

        其中比较重要的一个选项是Camera的type,这个选项是控制开发者的观察角度的,书中用的是FixedOrientationOrthoViewController的方式,就是上面图中的俯视角度,无法看到机器人的三维全景,所以可以改为OrbitViewController方式,如下图所示:


3、发布topic

        要让机器人动起来,还需要给他一些运动需要的信息,这些信息都是通过topic的方式发布的。
        这里的topic就是速度命令,针对这个topic,我们需要发布速度的信息,在ROS中已经为我们写好了一些可用的数据结构,这里用的是Twist信息的数据结构。在终端中可以看到Twist的结构如下:

             
        用下面的命令进行消息的发布,其中主要包括力的大小和方向。

  1. [plain] view plain copy Background\ ColorB=0.12549  
  2. Background\ ColorG=0.12549  
  3. Background\ ColorR=0.12549  
  4. Camera\ Config=158.108 0.814789 0.619682 -1.57034  
  5. Camera\ Type=rviz::FixedOrientationOrthoViewController  
  6. Fixed\ Frame=/odom  
  7. Grid.Alpha=0.5  
  8. Grid.Cell\ Size=0.5  
  9. Grid.ColorB=0.941176  
  10. Grid.ColorG=0.941176  
  11. Grid.ColorR=0.941176  
  12. Grid.Enabled=1  
  13. Grid.Line\ Style=0  
  14. Grid.Line\ Width=0.03  
  15. Grid.Normal\ Cell\ Count=0  
  16. Grid.OffsetX=0  
  17. Grid.OffsetY=0  
  18. Grid.OffsetZ=0  
  19. Grid.Plane=0

4、节点关系图


原创文章,转载请注明: 转载自古月居

本文链接地址: ROS探索总结(四)——简单的机器人仿真

微信 OR 支付宝 扫描二维码
为本文作者 打个赏
pay_weixinpay_weixin

评论

128条评论
  1. Gravatar 头像

    刘鸿魁 回复

    您好,我是个新手,请帮忙指教下,出现这个错误是什么问题,怎么解决。
    通过远程软件nomachine远程打开RVIZ是出现的错误。
    yh@yh-Default-string:~$ rviz
    [ INFO] [1534383470.579175790]: rviz version 1.11.19
    [ INFO] [1534383470.579221232]: compiled against Qt version 4.8.6
    [ INFO] [1534383470.579234698]: compiled against OGRE version 1.8.1 (Byatis)
    段错误 (核心已转储)
    yh@yh-Default-string:~$

  2. Gravatar 头像

    时雨、 回复

    古月老师您好,我是一个ROS初学者,最近实验室新购了一台UR5机械臂(版本是3.4的)我用PC与机械臂通讯的时候,执行命令
    roslaunch ur_modern_driver ur5_bringup.launch robot_ip:=192.168.199.10,
    会出现
    [FATAL] [1533265350.229877228]: Error connecting to get firmware version
    以及
    [ur_driver-2] process has died [pid 4386, exit code -6, cmd /home/zxc/catkin_ws/devel/lib/ur_modern_driver/ur_driver __name:=ur_driver __log:=/home/zxc/.ros/log/a0347878-96c8-11e8-a6f4-00e0703128ea/ur_driver-2.log].
    log file: /home/zxc/.ros/log/a0347878-96c8-11e8-a6f4-00e0703128ea/ur_driver-2*.log
    这样的错误,在网上也没找到解决办法,请问是怎么回事,如何解决?
    非常感谢!

    • 古月

      古月 回复

      @时雨、 有可能是软件的版本问题或者是ur控制器的配置问题,关于UR的驱动不止ur_driver,也可以用ur_modern_driver,另外就是确认UR的控制器有没有配置好。

  3. Gravatar 头像

    赖瑨 回复

    老师,我在编译空间时运行catkin_make命令,发现会出现以下错误,提示我std_mags找不到的错误,请问怎么解决啊,是直接在那个文件包里添加吗,以下为系统给出的错误:
    CMake Error at /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
    Could not find a package configuration file provided by "std_mags" with any
    of the following names:

    std_magsConfig.cmake
    std_mags-config.cmake

    Add the installation prefix of "std_mags" to CMAKE_PREFIX_PATH or set
    "std_mags_DIR" to a directory containing one of the above files. If
    "std_mags" provides a separate development package or SDK, be sure it has

  4. Gravatar 头像

    leslie 回复

    老师,我在用MOVEIT驱动自己配置的机械臂的时候出现以下报错:PluginlibFactory: The plugin for class 'moveit_rviz_plugin/MotionPlanning' failed to load. Error: Failed to load library /home/widowx/widowx_arm/devel/lib/libmoveit_motion_planning_rviz_plugin.so. Make sure that you are calling the PLUGINLIB_EXPORT_CLASS macro in the library code, and that names are consistent between this macro and your XML. Error string: Could not load library (Poco exception = libmoveit_planning_scene_interface.so.0.9.10: cannot open shared object file: No such file or directory)
    请问您有什么解决方法??谢谢了

  5. Gravatar 头像

    male 回复

    大神你好 ROS新手配置环境是ubuntu 14.04+indigo 使用moveit配置一个三指机械手后,用roslaunch demo.launch打开时出现了如下错误:Traceback (most recent call last):
    File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/__init__.py", line 307, in main
    p.start()
    File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/parent.py", line 268, in start
    self._start_infrastructure()
    File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/parent.py", line 217, in _start_infrastructure
    self._load_config()
    File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/parent.py", line 132, in _load_config
    roslaunch_strs=self.roslaunch_strs, verbose=self.verbose)
    File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/config.py", line 451, in load_config_default
    loader.load(f, config, verbose=verbose)
    File "/opt/ros/indigo/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/indigo/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/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 682, in _recurse_load
    val = self._include_tag(tag, context, ros_config, default_machine, is_core, verbose)
    File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 95, in call
    return f(*args, **kwds)
    File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 625, in _include_tag
    default_machine, is_core, verbose)
    File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 652, in _recurse_load
    default_machine, is_core, verbose)
    File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 678, in _recurse_load
    self._rosparam_tag(tag, context, ros_config, verbose=verbose)
    File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 95, in call
    return f(*args, **kwds)
    File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 238, in _rosparam_tag
    self.load_rosparam(context, ros_config, cmd, param, file, value, verbose=verbose)
    File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/loader.py", line 428, in load_rosparam
    self.add_param(ros_config, full_param, data, verbose=verbose)
    File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/loader.py", line 357, in add_param
    self.add_param(ros_config, ns_join(param_name, k), v, verbose=verbose)
    File "/opt/ros/indigo/lib/python2.7/dist-packages/rosgraph/names.py", line 172, in ns_join
    if is_private(name) or is_global(name):
    File "/opt/ros/indigo/lib/python2.7/dist-packages/rosgraph/names.py", line 133, in is_private
    return name and name[0] == PRIV_NAME
    TypeError: 'int' object has no attribute '__getitem__'
    nan@nan-virtual-machine:~/catkin_ws$
    想请问一下这个错误如何解决?

    • 古月

      古月 回复

      @male 这个不太好看出来是什么问题,但是从报错的类型上看,像是模型解析的有问题,先检查一下模型吧

      • Gravatar 头像

        male 回复

        @古月 @古月 好像是模型的问题配置moveit文件时有warn
        [ WARN] [1523878486.155233627]: The STL file 'package://robotiq_hand_description/meshes/s-model_articulated/visual/link_0.STL' is malformed. It starts with the word 'solid', indicating that it's an ASCII STL file, but it does not contain the word 'endsolid' so it is either a malformed ASCII STL file or it is actually a binary STL file. Trying to interpret it as a binary STL file instead.
        [ WARN] [1523878486.156633431]: The STL file 'package://robotiq_hand_description/meshes/s-model_articulated/visual/link_1.STL' is malformed. It starts with the word 'solid', indicating that it's an ASCII STL file, but it does not contain the word 'endsolid' so it is either a malformed ASCII STL file or it is actually a binary STL file. Trying to interpret it as a binary STL file instead.
        [ WARN] [1523878486.158444577]: The STL file 'package://robotiq_hand_description/meshes/s-model_articulated/visual/link_2.STL' is malformed. It starts with the word 'solid', indicating that it's an ASCII STL file, but it does not contain the word 'endsolid' so it is either a malformed ASCII STL file or it is actually a binary STL file. Trying to interpret it as a binary STL file instead.
        [ WARN] [1523878486.160306424]: The STL file 'package://robotiq_hand_description/meshes/s-model_articulated/visual/link_3.STL' is malformed. It starts with the word 'solid', indicating that it's an ASCII STL file, but it does not contain the word 'endsolid' so it is either a malformed ASCII STL file or it is actually a binary STL file. Trying to interpret it as a binary STL file instead.
        [ WARN] [1523878486.164931371]: The STL file 'package://robotiq_hand_description/meshes/s-model_articulated/visual/palm.STL' is malformed. It starts with the word 'solid', indicating that it's an ASCII STL file, but it does not contain the word 'endsolid' so it is either a malformed ASCII STL file or it is actually a binary STL file. Trying to interpret it as a binary STL file instead.
        这种情况该如何处理呢?

        • Gravatar 头像

          阿斯蒂芬 回复

          @male 请问你后面怎么解决的呢?主要问题是出在哪里?

  6. Gravatar 头像

    - 回复

    运行ros rviz rviz出现:
    Qt:XKEYBOARD extension not present on the X server
    xlib:extension"RANDR" missing on display ":10.0"
    [INFO] [1523238844.054402278]:rviz version 1.112.11
    [INFO] [1523238844.056887945]:complied against Qt version 5.5.1
    [INFO] [1523238844.058760334]: conmplied against OGRE version 1.9.0(Ghadamon)段错误
    您让我重新下rviz这个包,但是下过之后运行还是会提示段错误

    • 古月

      古月 回复

      @- 这个就不清楚了,感觉是和qt或者显卡有关系的,或者是版本之间的问题,谷歌搜一下吧

  7. Gravatar 头像

    RING 回复

    你好,我是初学者,想请问sim_fuerte.vcg在新的包里面是没有的,只有sim.rviz,但是这个里面没有camera type,我该怎么编写,改变视角呢?

    • 古月

      古月 回复

      @RING 本文是旧版本的ROS,参考新版本的代码:http://download.csdn.net/detail/darkmoonkiller/9662483

  8. Gravatar 头像

    知者 回复

    我照着ros by example sudo apt-get install ros-indigo-arbotix-*显示未发现软件包

    • Gravatar 头像

      知者 回复

      @知者 用的是indigo版本

      • 古月

        古月 回复

        @知者 indigo版本是可以安装arbotix的,你用的是bash么?

        • Gravatar 头像

          知者 回复

          @古月 谢谢了,我是在树莓派上面源码装的indigo。。不能用apt-get装ros包,已经源码安装了。但最近运行roslaunch turtlebot_fake_laser_freenect.launch出错。
          Traceback (most recent call last):
          File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/__init__.py", line 307, in main
          p.start()
          File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/parent.py", line 268, in start
          self._start_infrastructure()
          File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 188, in _find_executable
          full_path = _get_executable_path(rp.get_path(args[0]), path)
          File "/usr/local/lib/python2.7/dist-packages/rospkg/rospack.py", line 203, in get_path
          raise ResourceNotFound(name, ros_paths=self._ros_paths)
          ResourceNotFound: rgbd_launch
          ROS path [0]=/opt/ros/indigo/share/ros
          ROS path [1]=/home/pi/workspace/src
          ROS path [2]=/opt/ros/indigo/share
          ROS path [3]=/opt/ros/indigo/stacks
          我已经找到rgbd,而且给了权限还是不行

          • 古月

            古月 回复

            @知者 树莓派可以用apt-get安装ROS的,源码编译的方式会少装很多依赖,后边问题会更多。你这里的错误提示是没有安装rgbd-launch功能包,使用apt-get安装的命令:apt-get install ros-indigo-rgbd-launch

            • Gravatar 头像

              知者 回复

              @古月 我装的是indigo版本,树莓派好像不支持这个版本。。没有ubuntu14.04.所以在raspbain上源码装的indigo,用apt-get install ros-*就报错,其他人说只能源码装。。。还是谢谢了。我试试装rgbd-launch

              • Gravatar 头像

                知者 回复

                @知者 安装完后运行,出现一堆红色错误,最后出现 INFO No devices connected。但我用lsusb查看,显示已经连接了

                  • Gravatar 头像

                    知者 回复

                    @古月 sudo:./install.sh:找不到命令

                    • 古月

                      古月

                      @知者 进入到解压缩的那个文件里执行。里边有install.sh

                  • Gravatar 头像

                    知者 回复

                    @古月 registering module 'libXnDeviceSensorV2KM.so' with OpenNI.../usr/bin/niReg: 1: /usr/bin/niReg: ELF: not found 还是以前的情况,找不到nireg,关键是有这个文件,我也给了权限

                    • 古月

                      古月

                      @知者 感觉还是各种依赖的问题,源码编译会遇到很多类似的问题,google一下吧。如果你用的是树莓派3的话,可以装ubuntu16.04+kinetic,用命令行装会自动安装依赖

  9. Gravatar 头像

    dazhuang 回复

    您好!~我在做roslaunch rbx1_bringup fake_turtlebot.launch的时候,一直是下面的错误,用了很多办法,也解决不了。求救
    [fake_turtlebot.launch] is neither a launch file in package [rbx1_bringup] nor is [rbx1_bringup] a launch file name
    The traceback for the exception was written to the log file

  10. Gravatar 头像

    xyf 回复

    你好,请问我在运行模拟器: roslaunch rbx1_bringup fake_pi_robot.launch 时,
    提示错误如下:
    Traceback (most recent call last):
    File "/home/xyf/catkin_ws/src/arbotix_ros/arbotix_python/bin/arbotix_driver", line 33, in
    from arbotix_msgs.msg import *
    ImportError: No module named arbotix_msgs.msg
    [arbotix-1] process has died ……
    而且我确定已经有了arbotix_msgs这个包

          • Gravatar 头像

            xyf 回复

            @古月 我搞清楚怎么回事了,我偶然在工作空间运行了rosdep install命令,就是安装了包的依赖,结果再运行就可以了,说实话没想到您回复这么快,非常非常感谢!

            • 古月

              古月 回复

              @xyf 解决了就好,一般情况下,缺少依赖会在编译过程中就报错,你这个我确实没想到,学习了

              • Gravatar 头像

                lh 回复

                @古月 您好,请问一下我也是这个问题,版本kinetic,求解决方法,最近一直被这个问题困扰,谢谢,我不知道怎么增加依赖,我的arbotix安装在了catkinws的src里面

                • 古月

                  古月 回复

                  @lh 在工作空间里运行:rosdep install

            • Gravatar 头像

              lh 回复

              @xyf 您好,我和你状况一样,一直是这样报错,您能详细说一下怎么解决的么?版本也是kinetic,谢谢

            • Gravatar 头像

              吴迪华 回复

              @xyf 古月老师,我在运行roslaunch cob_people_detection people_detection.launch后出现了[face_recognizer-4] process has died [pid 17526, exit code -6, cmd /home/wudihua/catkin_ws/devel/lib/cob_people_detection/face_recognizer_node ~face_positions:=face_detector/face_positions __name:=face_recognizer __log:=/home/wudihua/.ros/log/9f6eeee0-4791-11e8-ab1c-9cd21e6d3cf1/face_recognizer-4.log].
              log file: /home/wudihua/.ros/log/9f6eeee0-4791-11e8-ab1c-9cd21e6d3cf1/face_recognizer-4*.log
              [face_capture-8] process has died [pid 17572, exit code -6, cmd /home/wudihua/catkin_ws/devel/lib/cob_people_detection/face_capture_node ~face_detections:=face_detector/face_positions ~color_image:=sensor_message_gateway/colorimage_out __name:=face_capture __log:=/home/wudihua/.ros/log/9f6eeee0-4791-11e8-ab1c-9cd21e6d3cf1/face_capture-8.log].
              log file: /home/wudihua/.ros/log/9f6eeee0-4791-11e8-ab1c-9cd21e6d3cf1/face_capture-8*.log
              这是什么问题呀

            • Gravatar 头像

              zss 回复

              @xyf 你好,我也遇到了你这样的问题,能详细说一下吗,谢谢了,

    • Gravatar 头像

      lnp 回复

      @xyf 请问rosdep install 后面接什么,在哪个目录执行此命令,我也遇到这个问题,感谢

      • Gravatar 头像

        lnp 回复

        @lnp 已解决,需要catkin_make arbotix_ros 下面所有的包

  11. Gravatar 头像

    JoeyChan 回复

    Arg xml is
    The traceback for the exception was written to the log file
    这样的。。

  12. Gravatar 头像

    JoeyChan 回复

    Arg xml is
    The traceback for the exception was written to the log file
    不好意思上条不完整!

  13. Gravatar 头像

    JoeyChan 回复

    大神您好,我是一个ROS新手,最近在运行一个demo时候遇到以下问题,键入:roslaunch robot_sim_demo robot_spawn.launch提示:
    ... logging to /home/joeychan/.ros/log/c2b8bfac-21b7-11e8-b3b9-080027cd9c90/roslaunch-joeychan-VirtualBox-2924.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 tag: robot_sim_demo
    ROS path [0]=/opt/ros/kinetic/share/ros
    ROS path [1]=/opt/ros/kinetic/share.

    Arg xml is
    The traceback for the exception was written to the log file
    网上遍寻无果,期待解答!谢谢!

    • 古月

      古月 回复

      @JoeyChan 你好,这个问题是因为ROS找不到robot_sim_demo 这个包,确认一下这个包的位置在哪,如果是在自己创建的工作空间中,需要设置环境变量

      • Gravatar 头像

        何勇 回复

        @古月 古老师,您好!我在launch节点是出现了下列问题:
        roslaunch robot_sim_demo robot_spawn.launch
        ... logging to /home/chen/.ros/log/6c4890c4-96f2-11e8-9277-1c1b0dc32b63/roslaunch-604-17234.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/share/xacro/xacro.py", line 55, in
        import xacro
        File "/opt/ros/kinetic/lib/python2.7/dist-packages/xacro/__init__.py", line 35, in
        import glob
        File "/home/chen/anaconda3/lib/python3.6/glob.py", line 4, in
        import re
        ModuleNotFoundError: No module named 're'
        while processing /home/chen/catkin_ws/src/ROS-Academy-for-Beginners/robot_sim_demo/launch/include/xbot-u.launch.xml:
        Invalid tag: Cannot load command parameter [robot_description]: command [/opt/ros/kinetic/share/xacro/xacro.py /home/chen/catkin_ws/src/ROS-Academy-for-Beginners/robot_sim_demo/urdf/robot.xacro] returned with code [1].

        Param xml is
        The traceback for the exception was written to the log file
        感谢您的解答!

  14. Gravatar 头像

    雲水 回复

    古大神你好,我按照教程學習到rviz,安裝了arbotix_ros和rbx1兩個包,運行roslaunch rbx1_bringup fake_turtlebot.launch和rosrun rviz rviz -d `rospack find rbx1_nav`/nav_fuerte.rviz兩個命令都沒問題,但是運行roslaunch rbx1_nav fake_move_base_map_with_obstacles.launch命令打開地圖就出現
    ERROR: cannot launch node of type [move_base/move_base]: can't locate node [move_base] in package [move_base]
    ERROR: cannot launch node of type [map_server/map_server]: can't locate node [map_server] in package [map_server]
    process[odom_map_broadcaster-3]: started with pid [10836]
    的錯誤,困擾了很久,希望您看到後可以答復我

  15. Gravatar 头像

    zkw1996 回复

    大神,我是Ubuntu16.04+kinetiv,怎么才能改变控制开发者的观察角度??
    我试了评论里的那个,改动之后还是俯视的视角啊。。。。

  16. Gravatar 头像

    灰白 回复

    古月你好 我按照步骤下来 出现了一处错误
    ERROR: cannot launch node of type [arbotix_python/arbotix_driver]: arbotix_python
    ROS path [0]=/opt/ros/jade/share/ros
    ROS path [1]=/home/enzhi/airbox/src
    ROS path [2]=/home/enzhi/catkin/src
    ROS path [3]=/opt/ros/jade/share
    ROS path [4]=/opt/ros/jade/stacks
    不知道是什么原因导致的 说是没添加搜索路径 新手不知道具体怎么解决 希望大神帮忙解答一下

    • 古月

      古月 回复

      @灰白 没有安装arbotix_python功能包,使用apt-get命令安装一下

      • Gravatar 头像

        灰白 回复

        @古月 我用sudo apt-get install arbotix_python 代码安装 但他显示未发现软件包 有点晕 不知道具体安装代码是多少

        • 古月

          古月 回复

          @灰白 sudo apt-get install ros-indigo-arbotix-python,安装ROS包要加“ros-indigo-”前缀

  17. Gravatar 头像

    uka_saegusa 回复

    古大神,你好。我已经学过了官方教程,安装的是kinetic版本,在学习ros by example的时候,用git clone下载了 kinetic 版本的arbotix和rbx1源码包,再catkin_make安装并且source。然后启动 roslaunch rbx1_bringup fake_turtlebot.launch正常。最后执行rosrun rviz rviz -d `rospack find rbx1_nav`/sim.rviz,后提示:
    [rospack] Error: package 'rbx1_nav' not found
    [ INFO] [1512712743.440376461]: rviz version 1.12.13
    [ INFO] [1512712743.440430495]: compiled against Qt version 5.5.1
    [ INFO] [1512712743.440443140]: compiled against OGRE version 1.9.0 (Ghadamon)
    [ INFO] [1512712743.568780666]: Stereo is NOT SUPPORTED
    [ INFO] [1512712743.568928781]: OpenGl version: 3 (GLSL 1.3).
    在rviz界面没有看到机器人模型,界面中Global Status后显示红色的“Error”,请问是怎么回事。

    • 古月

      古月 回复

      @uka_saegusa rbx1_nav包没有找到,rviz的配置文件失败,检查一下路径和环境变量,也可以自己在rviz中添加机器人模型的显示项

    • Gravatar 头像

      ranpenghao 回复

      @uka_saegusa 你搞定这个问题了么,怎么搞定的呢,能否告诉我一下,谢谢

      • Gravatar 头像

        zkw1996 回复

        @ranpenghao 这个的话,好像source devel/setup.bash之后就好了

    • Gravatar 头像

      知者 回复

      @uka_saegusa 解决了没,我也出现了这个问题

  18. Gravatar 头像

    李鸿彬 回复

    古月大神您好,当我运行roslaunch rbx1_bringup fake_pi_robot.launch时,出现错误:
    ERROR: cannot launch node of type [robot_state_publisher/state_publisher]: can't locate node [state_publisher] in package [robot_state_publisher]
    请问是怎么回事?

    • Gravatar 头像

      helloworld 回复

      @李鸿彬 建议你在cd ~/catkin_ws下先source devel/setup.bash 后,再输入roslaunch rbx1_bringup fake_pi_robot.launch

      • Gravatar 头像

        李鸿彬 回复

        @helloworld 您好,我试了一下source devel/setup.bash,但依然还有上述错误,而且我在学习教程过程中遇到过好几次这个错误,请问还有什么解决办法吗?

          • Gravatar 头像

            李鸿彬 回复

            @古月 已经写了,还是不行

              • Gravatar 头像

                李鸿彬 回复

                @古月 安装了,而且重装了两次,不行

              • Gravatar 头像

                李鸿彬 回复

                @古月 您好,问题已经解决了,我在官网上下载了一个robot_state_publisher的ros包,放在src里就可以了,多谢啊

  19. Gravatar 头像

    dddff 回复

    你好,向你请教一个问题每次我运行rosrun rviz rviz 后打开了rviz 就会出现Global status:Erro Fixed Frame [map] does not exist,请问怎么办,百度了没有结果

    • 古月

      古月 回复

      @dddff 没关系,默认启动后的坐标系是map,但是系统中可能不存在,可以在Fixed Frame那里选择存在的坐标系,比如base_link等

      • Gravatar 头像

        dddff 回复

        @古月 已经解决了,在rosrun rviz rviz输入指令之前,忘记source一下路径了,总之谢谢大神!

        • Gravatar 头像

          pw 回复

          @dddff 哥们儿,咋source的。

  20. Gravatar 头像

    程大亮 回复

    古月大神你好,请问一下我的ROS 版本是kinetic 在安装rbx1功能包时出错了,出错代码是$ git checkout kinetic-devel
    error: pathspec 'kinetic-devel' did not match any file(s) known to git.请问怎么办?

  21. Gravatar 头像

    zlz 回复

    前辈,你好,请问我在运行模拟器: roslaunch rbx1_bringup fake_pi_robot.launch 时,
    提示错误如下:
    ImportError: No module named arbotix_msgs.msg
    [arbotix-1] process has died ……
    是什么原因造成的呢,请问怎样解决,谢谢!!!

    • Gravatar 头像

      xyf 回复

      @zlz 我也遇到同样问题,请问如何解决?

    • Gravatar 头像

      xyf 回复

      @zlz 你好,请问我在运行模拟器: roslaunch rbx1_bringup fake_pi_robot.launch 时,
      提示错误如下:
      Traceback (most recent call last):
      File "/home/xyf/catkin_ws/src/arbotix_ros/arbotix_python/bin/arbotix_driver", line 33, in
      from arbotix_msgs.msg import *
      ImportError: No module named arbotix_msgs.msg
      [arbotix-1] process has died ……
      而且我确定已经有了arbotix_msgs这个包

      • Gravatar 头像

        坠落北极星 回复

        @古月 请问,在运行完您给的命令git clone https://github.com/pirobot/rbx1之后还需要rosmake rbx_vol_1 吗,如果需要该怎么运行的,你运行了一遍,一直报错 rosmake ] Expanded args ['rbx_vol_1'] to:
        []
        [ rosmake ] WARNING: The following args could not be parsed as stacks or packages: ['rbx_vol_1']
        [ rosmake ] ERROR: No arguments could be parsed into valid package or stack names.

        • 古月

          古月 回复

          @坠落北极星 这篇博客用的是老版本的ROS,已经不适用新版本ROS了,建议按照《ros by example》这本书里的命令安装,需要使用catkin_make

  22. Gravatar 头像

    纳兰嫣然 回复

    大神,你好,我刚接触ROS ,在学初学者的例程。每次编译有关qrt的命令时都会出现这个错误:
    ImportError: No module named PyQt4.QtCore

    ImportError for 'pyside': No module named PySide.QtCore
    Traceback (most recent call last):
    File "/opt/ros/indigo/lib/python2.7/dist-packages/python_qt_binding/binding_helper.py", line 87, in _select_qt_binding
    QT_BINDING_VERSION = binding_loader(required_modules, optional_modules)
    File "/opt/ros/indigo/lib/python2.7/dist-packages/python_qt_binding/binding_helper.py", line 181, in _load_pyside
    _named_import('PySide.%s' % module_name)
    File "/opt/ros/indigo/lib/python2.7/dist-packages/python_qt_binding/binding_helper.py", line 111, in _named_import
    module = builtins.__import__(name)
    ImportError: No module named PySide.QtCore
    麻烦,有时间的话,帮我解答一下,万分感谢!

  23. Gravatar 头像

    恶魔的眼泪 回复

    请问显示:Global status :Error是什么错误呢?没有显示机器人

    • Gravatar 头像

      Magenta 回复

      @恶魔的眼泪 我也遇到了同样的问题,全都是按照教程来的,就是没有机器人

      • Gravatar 头像

        MrLee 回复

        @Magenta 哥们你解决了么?是不是少装了什么呢?

        • 古月

          古月 回复

          @MrLee 试一下这个Indigo版本的代码:http://download.csdn.net/detail/darkmoonkiller/9662483

      • 古月

        古月 回复

        @Magenta 试一下这个Indigo版本的代码:http://download.csdn.net/detail/darkmoonkiller/9662483

    • 古月

      古月 回复

      @恶魔的眼泪 试一下这个Indigo版本的代码:http://download.csdn.net/detail/darkmoonkiller/9662483

    • Gravatar 头像

      eijuhc 回复

      @恶魔的眼泪 刚刚解决,rviz中的设置改成和书上的图一样。fixed frame的值改成odom, 再点add加其他几项。就好了。

  24. Gravatar 头像

    蓝瘦 回复

    我启动这个的饿时候,roslaunch rbx1_nav fake_move_base_blank_map.launch,出现
    [move_base-2] process has died [pid 105003, exit code -6, cmd /opt/ros/indigo/lib/move_base/move_base __name:=move_base __log:=/home/turtlebot/.ros/log/eea77f3a-611f-11e7-ab52-000c298ee314/move_base-2.log].
    log file: /home/turtlebot/.ros/log/eea77f3a-611f-11e7-ab52-000c298ee314/move_base-2*.log
    ,该如何是好?

  25. Gravatar 头像

    heisenberg 回复

    老哥 看来需要做一能连续看文章的功能按钮了,比如下一篇文章的链接什么的 :mrgreen: :mrgreen:

  26. Gravatar 头像

    heisenberg 回复

    老哥 看来需要做一能连续看文章的功能按钮了,比如下一篇文章的链接什么的

  27. Gravatar 头像

    落叶 回复

    请问安装时:svn checkout http://vanadium-ros-pkg.googlecode.com/svn/trunk/arbotix
    出现svn: E000110: Unable to connect to a repository at URL 'http://vanadium-ros-pkg.googlecode.com/svn/trunk/arbotix'
    svn: E000110: 执行上下文错误: 连接超时
    这是什么原因呢?

    • 古月

      古月 回复

      @落叶 现在可以不用svn安装了,直接apt-get安装相应ros版本的即可

      • Gravatar 头像

        落叶 回复

        @古月 我是新手,请问我具体输入什么命令呢?直接把svn改成apt_get么?

  28. Gravatar 头像

    寻寻觅觅归乡路 回复

    新版里观看视角修改:.rviz文件里的Views配置,一般在后面的位置,Orbit是自由视角,俯视TopDownOrtho

  29. Gravatar 头像

    上帝之手 回复

    请问执行roslaunch rbx1_bringup fake_turtlebot.launch出现一下错误,请问如何解决
    Cannot load command parameter [robot_description]: command [/opt/ros/indigo/share/xacro/xacro.py '/opt/ros/indigo/share/turtlebot_description/urdf/turtlebot.urdf.xacro'] returned with code [1].

  30. Gravatar 头像

    ke_wu 回复

    古月大大,麻烦问一下,我每次想用rviz现实turtlebot或者pi robot时候就会出现Detected jump back in time. Clearing TF buffer.
    段错误 (核心已转储)。
    但是我也不知道是哪溢出了啊。求解,困扰很久了

  31. Gravatar 头像

    思良月6 回复

    博主,您好!我是一个ROS初学者,我按照上面的命令下载代码的时候,出现这种情况。
    lang@ubuntu:~$ svn checkout http://ros-by-example.googlecode.com/svn/trunk/rbx_vol_1
    svn: E000110: Unable to connect to a repository at URL 'http://ros-by-example.googlecode.com/svn/trunk/rbx_vol_1'
    svn: E000110: Error running context: Connection timed out
    可以请教一下是这个网址失效了吗?

  32. Gravatar 头像

    ychx 回复

    忘记说了我是jade版本,这个有啥影响吗

  33. Gravatar 头像

    ychx 回复

    你好,我是一个ROS初学者,从官网wiki学完了初级阶段,在rosmake rbx_vol_1 和 rosmake arbotix都出现了
    [ rosmake ] rosmake starting...
    [ rosmake ] Packages requested are: ['rbx_vol_1']
    [ rosmake ] Logging to directory /home/ychx/.ros/rosmake/rosmake_output-20160407-192400
    [ rosmake ] Expanded args ['rbx_vol_1'] to:
    []
    [ rosmake ] WARNING: The following args could not be parsed as stacks or packages: ['rbx_vol_1']
    [ rosmake ] ERROR: No arguments could be parsed into valid package or stack names.
    这样的错误,搜索答案的时候说是环境配置出错,由于是新手所以具体不会操作,麻烦你能帮我解答下,对环境配置方面基本小白,能给我推荐一个学习的网页,谢谢啦~~~

发表评论

电子邮件地址不会被公开。 必填项已用*标注