注意!注意!注意!
请在安装前确保自己默认的python环境是python2而不是python3,否则会导致安装失败!!!
ubuntu不同的版本对应的ROS版本也是不同的,本文安装是的系统是18.04,但对于其他ubuntu版本应该也是差不多的,换一个对应的ROS版本即可,其余操作大同小异。
参考资料:
https://www.cnblogs.com/letisl/p/11815191.html
http://wiki.ros.org/melodic/Installation/Ubuntu
https://blog.csdn.net/u013468614/article/details/102917569
https://tieba.baidu.com/p/4877135262?red_tag=1059481312&traceid=
文章目录
1、添加国内源
这里选择了清华的国内源(PS:ubuntu的系统源最好也一同更换成国内源,更换方法请自行百度)
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
2、添加私钥
wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O - | sudo apt-key add -
如果提示不能添加,则使用下面的命令:
sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 0xB01FA116
3、更新软件列表
sudo apt-get update
GPG错误
如果出现了如下错误,
W: GPG 错误:http://mirrors.ustc.edu.cn/ros/ubuntu xenial InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY F42ED6FBAB17C654
说明公钥出现了问题,使用如下命令添加公钥:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
4、安装ROS
sudo apt-get install ros-melodic-desktop-full
此处的melodic就是ROS的版本,对应Ubuntu18.04,其余ubuntu版本请自行替换对应的ROS版本。不同的系统版本在安装时,应该就只有这一处不一样。
ROS可以选择desktop-full、desktop、ros-base等多个类型,具体区别自己去查,不知道啥区别的就按着上面的命令安装desktop-full就好了(知道有啥区别的应该也不需要看我的博客)
安装ROS需要相对漫长的时间,可以拿起手机刷会B站…
安装完成后,使用下面的命令可以查看可以使用的包,顺便检查一下安装是否成功。
apt-cache search ros-melodic
5、配置环境
后面的安装过程不一定非要按照这个顺序,有些教程是先安装rosdep再配置环境的,也是可以的
输入命令:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
输入以后没有什么反应,是正常的,继续下一步
6、安装ros packages
输入以下命令:
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
这里应该不会出现什么问题,吧。
7、安装rosdep
这一步应该是最容易出问题的一步了。
首先输入以下命令安装rosdep:
sudo apt install python-rosdep
然后初始化rosdep:
sudo rosdep init
emmm这个时候就应该出问题了
正确的结果是这样的:
如果出现错误的话,解决方案见下。
错误:pkg_resources.DistributionNotFound
如果出现如下图所示的错误:
说明你并没有看到我开头那么大几个感叹号,你的默认python环境并不是python2。
解救方法有两个:
方法一(推荐):
将默认python环境换成python2,从步骤四开始重新执行(不必删去原来安装的ROS,会自动覆盖的)
python默认环境的切换方法右上角自行百度
方法二(不要使用)
方法二可以完成安装过程,但ROS并不能正常使用。
因为在执行python3-rosdep的时候删去了原来安装的一些组件,并换成了支持python3的组件,但是似乎还是少了一些关键的组件。
方案二有时间再探索一下怎么改进,下述方法经供参考,暂时不要用。
安装python3-rosdep
sudo apt install python3-rosdep
然后会提示你需要安装依赖:
使用apt install命令依次安装四个依赖,再次执行安装命令:
sudo apt install python3-rosdep
这样这个问题就解决了,重新执行初始化的命令
sudo rosdep init
ERROR: cannot download default sources list from
如果出现如下图所示的错误:
这是因为国外网站的访问速度比较慢,一个简单的方法是修改hosts(当然修改hosts文件后也不会很快,但也是起点作用的)
修改方法如下:
#打开hosts文件
sudo gedit /etc/hosts
#在文件末尾添加
151.101.84.133 raw.githubusercontent.com
#保存后退出
然后再次尝试命令sudo rosdep init
还不成功就多试几次,总有一次能访问上的
8、更新rosdep
使用如下命令以更新rosdep
rosdep update
注意:这个命令不需要sudo权限,不要自作聪明的在前面加上sudo!
成功的话,结果如下图所示:
出现错误的解决方案见下(核心思想就是多试几次):
error loading sources list:The read operation timed out
当出现如上图所示错误时,说明还是访问不上的问题。
可以换上手机热点多试几次(众所周知流量上外网比wifi快一丢丢)
ERROR: unable to process source
当出现这种错误的时候,emmm我也不知道是啥原因。
首先按ctrl+c(终止命令)让它不要再复读了!
依次执行以下命令
sudo apt-get update
sudo apt-getinstall python3-rosdep
然后继续尝试更新rosdep
至此,ROS就安装成功了。