特定版本 ROS + Gazebo 安装

2019-01-14  本文已影响0人  OurNote

在项目中可能会遇到 ROS 与 Gazebo 版本特别指定的问题。例如我们当前项目中就要求 ROS 用 Kinetic 版本, Gazebo 用 8.0 版本。在 ROS 的 desktop-full 安装中是附带了 Gazebo 的,但是版本为 7.0。在这种情况下就要采用 ROS , Gazebo 分开安装的方式。

安装 ROS (以 Kinetic 版本为例)

  1. 进入ROS官网的安装界面:http://wiki.ros.org/ROS/Installation
  2. 选择需要的版本 Kinetic 和系统平台,我们用的是 ubuntu 16.04
  3. 按照指导进行安装,这里注意要选择安装 ros-kinetic-desktop 版本,不要选 ros-kinetic-desktop-full,前者不包含 Gazebo ,后者包含了 Gazebo 7。后边安装 Gazebo 8 的时候还需要卸载掉,比较麻烦。
  4. 安装完 ROS 测试一下,在命令行中输入roscore,看能否正常启动 ros master :

安装过程中可能遇到的问题:
sudo rosdep initrosdep update 这两步报错,提示连接超时。这里应该是网络的问题。
网上大概有如下几种解决方法,可以尝试联用,说不定哪一步就可以解决问题了:

如果上述尝试都不行,可以参考这里 https://blog.csdn.net/ysten618/article/details/109641794,使用https://ghproxy.com/ 代理网站下载 github 上相应的文件。

具体操作就是将下述几个文件中的网址加上代理网站前缀:

  1. /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
    第72行改为
    DEFAULT_SOURCES_LIST_URL = 
    'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20- 
    default.list'
    
    第311行加一句
    url="https://ghproxy.com/"+url
    
  2. /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
    第36行改为
    FUERTE_GBPDISTRO_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/'
    
  3. /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
    第39行改为
    REP3_TARGETS_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/releases/targets.yaml'
    
  4. /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
    第68行改为
    DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'
    
  5. /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py
    第68行改为
    url = 'https://ghproxy.com/https://raw.githubusercontent.com/%s/%s/package.xml'
    
    第119行改为
    url = 'https://ghproxy.com/https://raw.githubusercontent.com/%s/%s/%s'
    

修改以上文件中的网址,然后再运行 sudo rosdep initrosdep update 这两步就可以了。

安装 Gazebo (以 Gazebo 8 为例)

  1. 进入 Gazebo 官网的安装指导界面:http://gazebosim.org/tutorials?tut=install_ubuntu&cat=install
  2. 在右上角选择要安装的版本,这里选择 Version: 8.0.
  3. 我喜欢用 step by step 的安装方式。按照指示安装即可。
  4. 测试。在命令行中输入如下命令,看是否启动 Gazebo 窗口:
gazebo

安装 gazebo_ros_pkgs

前边安装的 ROS 与 Gazebo 是完全独立的两部分,要使他们之间互相通讯,还需要安装 gazebo_ros_pkgs 包。

  1. 进入官网安装界面:http://gazebosim.org/tutorials?tut=ros_installing
  2. 按照指导安装即可。我一般选择用 A: Install Pre-Built Debians 方式安装。需要注意的是,如果用如下命令安装报错:
sudo apt-get install ros-kinetic-gazebo-ros-pkgs ros-kinetic-gazebo-ros-control

则需要指明 Gazebo 版本,将命令改为:

sudo apt-get install ros-kinetic-gazebo8-ros-pkgs ros-kinetic-gazebo8-ros-control

就可以解决问题。

  1. 测试。安装结束,用如下命令测试:
roscore  # 启动 ros master
rosrun gazebo_ros gazebo  # 用 rosrun 方式启动 Gazebo
上一篇下一篇

猜你喜欢

热点阅读