1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > ubuntu18.04下ROS-melodic安装--告别外网站点限制

ubuntu18.04下ROS-melodic安装--告别外网站点限制

时间:2019-07-31 18:15:41

相关推荐

ubuntu18.04下ROS-melodic安装--告别外网站点限制

ROS安装

(强烈推荐鱼香ROS的一键安装!!!什么都不用管)在多次给自己以及帮助他人安装ROS时,饱受rosdep init,rosdep update失败的困扰,其原因就是通常无法连接到国外站点,导致系统文件无法下载。本人站在各位前辈的肩膀上总结出无需外网,无需运气的安装方法,供需要的同学采纳。首先选择中科大的镜像源(其他的如清华,阿里云亦可)添加软件源配置秘钥更新软件源安装rosdep 的依赖安装最全版本的ROSrosdep init?第一个文件第二个文件第三个文件(还没完呢!)配置环境ROS的核心已经安装完了再运行下面的命令将ROS的依赖和软件包构建起来验证是否ROS是否安装成功安装完成!

(强烈推荐鱼香ROS的一键安装!!!什么都不用管)在多次给自己以及帮助他人安装ROS时,饱受rosdep init,rosdep update失败的困扰,其原因就是通常无法连接到国外站点,导致系统文件无法下载。本人站在各位前辈的肩膀上总结出无需外网,无需运气的安装方法,供需要的同学采纳。

在rosdep init 之前的步骤基本都是一样的,废话不多说,开始在安装。

首先选择中科大的镜像源(其他的如清华,阿里云亦可)

添加软件源

sudo sh -c 'echo "deb /ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

配置秘钥

sudo apt-key adv --keyserver 'hkp://:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

更新软件源

sudo apt update

安装rosdep 的依赖

sudo apt-get install python-rosdep

安装最全版本的ROS

sudo apt install -y ros-melodic-desktop-full

rosdep init?

正常来说需要运行rosdep init这个命令进行rosdep的初始化,其作用就是从这个网站里下载/ros/rosdistro这个repository里的文件。这个网站除了翻墙和换网以及运气外基本连不上,我已经将所有文件放到的国内的gitee里面,不需要这个命令可以快速完成下载。

需要先安装git

终端输入

sudo apt-get install git

打开终端输入下行命令下载文件

git clone /wx_b25a68fb1d/rosdistro.git

将文件放置到/etc/ros下(有的同学可能要问了,诶,我的/etc下没有ros文件啊。没事,这里直接利用根命令在/etc这个文件结下创建一个就行:如下图)

sudo cp -r /home/pf/rosdistro /etc/ros

然后打开20-default.list文件

sudo gedit /etc/ros/rosdistro/rosdep/sources.list.d/20-default.list

里面的内容用下面的替换

# os-specific listings first#yaml /ros/rosdistro/master/rosdep/osx-homebrew.yaml osxyaml file:///etc/ros/rosdep/osx-homebrew.yaml osx# generic#yaml /ros/rosdistro/master/rosdep/base.yaml#yaml /ros/rosdistro/master/rosdep/python.yaml#yaml /ros/rosdistro/master/rosdep/ruby.yaml#gbpdistro /ros/rosdistro/master/releases/fuerte.yaml fuerteyaml file:///etc/ros/rosdep/base.yamlyaml file:///etc/ros/rosdep/python.yamlyaml file:///etc/ros/rosdep/ruby.yamlgbpdistro file:///etc/ros/releases/fuerte.yaml fuerte# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

之后修改下面三个文件里面的连接

1. /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py2. /usr/lib/python2.7/dist-packages/rosdep2/rep3.py3. /usr/lib/python2.7/dist-packages/rosdistro/__init__.py

第一个文件

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py

将FUERTE_GBPDISTRO_URL修改为下面内容

# FUERTE_GBPDISTRO_URL = '/ros/rosdistro/master/releases/fuerte.yaml'FUERTE_GBPDISTRO_URL = 'file:///etc/ros/releases/fuerte.yaml'

记得保存

第二个文件

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py

修改REP3_TARGETS_URL内容为下

# REP3_TARGETS_URL = '/ros/rosdistro/master/releases/targets.yaml'REP3_TARGETS_URL = 'file:///etc/ros/releases/targets.yaml'

第三个文件

sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py

修改DEFAULT_INDEX_URL内容为下

# DEFAULT_INDEX_URL = '/ros/rosdistro/master/index-v4.yaml'DEFAULT_INDEX_URL = 'file:///etc/ros/index-v4.yaml'

现在基本已经完成rosdep init的工作了

但是直接进行rosdep update很可能会出现未进行初始化的问题,原因是rosdep update的路径是/etc/ros而上述修改后的文件在/etc/ros/rosdistro 路径下,不要慌,简单的一个复制就能解决问题,命令如下:

sudo cp -r /etc/ros/rosdistro/rosdep /etc/ros

运行rosdep update

sudo rosdep update

效果如下

(还没完呢!)配置环境

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrcsource ~/.bashrc

ROS的核心已经安装完了再运行下面的命令将ROS的依赖和软件包构建起来

sudo apt install -y python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential

验证是否ROS是否安装成功

roscore

出现下图则成功

安装完成!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。