一 打开源的文件
命令如下:
sudo gedit /etc/apt/sources.list
打开后删除或注释里面所有代码。
二 更换下载源
1
.进入阿里云源的网址:阿里云源 选择你的电脑Ubuntu的版本,我用的Ubuntu16.04,下滑鼠标找到它,如下图
Ubuntu16.04的软件源网址全部复制到/etc/apt/sources.list里面,保存退出。
2
进入 系统设置>软件和更新,打勾如图所示,再直接关闭,退出,不要重新载入。
3 更新
命令如下:
sudo apt-get update
4.软件升级
命令如下:
sudo apt-get upgrade
三 ubuntu16.04 安装ros-kinetic
3.1装ROS-kinetic
阿里云源,命令如下:
sudo apt-get update
再输入下面中的一个(2选1):
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
或
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.aliyun.com/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
再输入下面中的一个(3选1):
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F42ED6FBAB17C654
或
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
或
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt-get update
sudo apt-get install ros-kinetic-desktop-full
四 创建本地rosdistro
4.1.添加地址,防止出错
一般是:无法访问raw.githubusercontent.com
然后会报错
ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list Website may be down.
解决办法:访问IPAddress.com查询raw.githubusercontent.com真实IP,通常是199.232.28.133
打开文件,命令如下:
sudo gedit /etc/hosts
在最后一行添加以下内容
199.232.28.133 raw.githubusercontent.com
再输入命令:
sudo rosdep init
若出现以下错误
ERROR: default sources list file already exists:
/etc/ros/rosdep/sources.list.d/20-default.list
Please delete if you wish to re-initialize
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
再输入
sudo rosdep init
然后:
rosdep update
因为github网站不太好进,导致rosdep update很容易出错,所以选择下载rosdistro到本地。
1.下载rosdistro
链接:https://pan.baidu.com/s/1hEwepV_1rPjDMFvxFUcVpQ
提取码:edpk
2、配置
将rosdistro.zip压缩包解压到home下,并且文件夹名字改为rosdistro,HOME下打开终端,并打开文件,用的命令如下:
sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list
打开后的内容全部替换成如下5行,其中xx是你的电脑名字。
yaml file:///home/xx/rosdistro/rosdep/osx-homebrew.yaml osx
yaml file:///home/xx/rosdistro/rosdep/base.yaml
yaml file:///home/xx/rosdistro/rosdep/python.yaml
yaml file:///home/xx/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/xx/rosdistro/releases/fuerte.yaml fuerte
3.修改
3.1修改sourceslist.py,命令如下:
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
注释掉DEFAULT_SOURCES_LIST_URL一行(前面加#)添加以下:
DEFAULT_SOURCES_LIST_URL = 'file:///home/xx/rosdistro/rosdep/sources.list.d/20-default.list'
其中 xx 是你的电脑名。
3.2.修改 rep3.py,命令如下:
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
注释REP3_TARGETS_URL 一行,添加以下:
REP3_TARGETS_URL = 'file:///home/xx/rosdistro/releases/targets.yaml'
其中 xx 是你的电脑名。
3.3.修改 __init.py,命令如下:
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
注释 DEFAULT_INDEX_URL 一行,添加以下:
DEFAULT_INDEX_URL = 'file:///home/xx/rosdistro/index-v4.yaml'
其中 xx 是你的电脑名。
3.4.测试一下,命令如下:
rosdep update
出现以下就说明rosdistro配置成功:
reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit file:///home/xx/rosdistro/rosdep/osx-homebrew.yaml
Hit file:///home/xx/rosdistro/rosdep/base.yaml
Hit file:///home/xx/rosdistro/rosdep/python.yaml
Hit file:///home/xx/rosdistro/rosdep/ruby.yaml
Hit file:///home/xx/rosdistro/releases/fuerte.yaml
Query rosdistro index file:///home/xx/rosdistro/index-v4.yaml
Skip end-of-life distro "ardent"
Skip end-of-life distro "bouncy"
Skip end-of-life distro "crystal"
Skip end-of-life distro "dashing"
Skip end-of-life distro "eloquent"
Add distro "foxy"
Add distro "galactic"
Skip end-of-life distro "groovy"
Skip end-of-life distro "hydro"
Skip end-of-life distro "indigo"
Skip end-of-life distro "jade"
Skip end-of-life distro "kinetic"
Skip end-of-life distro "lunar"
Add distro "melodic"
Add distro "noetic"
Add distro "rolling"
updated cache in /home/xx/.ros/rosdep/sources.cache
安装rosinstall等工具
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
执行下面语句,HOME下隐藏文件(ctrl+H显示出来):.bashrc最后一行添加source /opt/ros/kinetic/setup.bash,用命令添加如下:
echo “source /opt/ros/kinetic/setup.bash” >> ~/.bashrc
source .bashrc
roscore
若rosdep update出现以下错误(没有错误可忽略下面切换的步骤),说明是你有多个python版本,当前使用Python版本不对,我们要用Python2.7而非3.0以上,(如果安裝了Python3.5,一般安裝Ubuntu16.04後默認是Python2.7)。
此时需要切换Python为2.7版:
sudo update-alternatives --config python
再输入Python2.7前面的序号(我的是1),回车。不放心是否成功切换,可输入命令:
python --version
图中可以看到 Python 2.7.12。説明切换成功。
如果切换失败,就先设置版本使用的优先级:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
"python2.7 1"表示把python2.7设置为第一优先级。
以上步骤就完成安装ros的全部步骤。
输入命令
roscore
出现如下图,就是装好了: