文章目录
0.参考资料
1.配置ubuntu的软件和更新
首先打开“软件和更新”对话框,打开后按照下图进行配置(确保你的"restricted", “universe,” 和 "multiverse."前是打上勾的)
2.安装源
官方默认安装源:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
或来自国内中科大的安装源
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
或来自国内清华的安装源
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'
PS:回车后,可能需要输入管理员密码
3.设置key
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
4.安装
首先需要更新 apt(以前是 apt-get, 官方建议使用 apt 而非 apt-get),apt 是用于从互联网仓库搜索、安装、升级、卸载软件或操作系统的工具。
sudo apt update
等待…
然后,再安装所需类型的 ROS:ROS 多个类型:Desktop-Full、Desktop、ROS-Base。这里介绍较为常用的Desktop-Full(官方推荐)安装: ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception
sudo apt install ros-melodic-desktop-full
等待…
5.环境设置
配置环境变量,方便在任意 终端中使用 ROS。这一步一定不要忘记,因为有的时候其实已经安装成功了,如果没有这里的添加环境变量,那么运行ros相关的命令仍然会提示找不到命令,就是因为这里没有ros添加到系统环境变量里。
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
6.安装构建依赖
首先安装构建依赖的相关工具
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
然后安装rosdep(可以安装系统依赖)
sudo apt install python-rosdep
初始化rosdep(出错重灾区)
sudo rosdep init
rosdep update
注意:
当执行到最后 sudo rosdep init 是,可能会抛出异常;
错误提示:
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.
原因:
境外资源被屏蔽
6.1. rosdep init 和 rosdep update出错的解决办法
6.1.1.更改域名
由于出错的原因是github服务器的域名被污染,所以按照参考教程中的做法,查找这个ip然后进行替换即可。但是实际操作的时候查找域名直接显示禁止查找这个域名,因此失败。
6.1.2.使用代理
参考: ROS入门教程-rosdep update错误解决方法 gitee原网址:https://gitee.com/ncnynl/rosdep/blob/master/README.md
- 这个教程中的方法就是利用脚本,在执行rosdep命令之前搭建了代理,从而能够成功
- 实际操作的时候,使用这种方法之后
rosdep init
可以成功,但是rosdep update
仍然有网站链接不上,但是此时已经显示Update .... cache
,中间是什么忘记了,总之意思是已经更新了ROS的缓存,可能就是没有完全更新成功。所以此时即使有网站没有连接成功也没有关系,ROS已经可以正常使用了。
6.1.3.鱼香ROS一键安装或者rosdepc代替rosdep
鱼香ROS是一个公众号,他是整合了ROS资源,然后自己写了脚本,能够一键安装。同时针对rosdep容易出错的问题,专门写了一个rosdepc代替原版的rosdep。
虽然这样比较方便,但是使用这种安装里面掺杂了鱼香ROS作者的一些介绍,感觉不纯净,而且这样对作者的依赖性比较强,所以还是建议安装官方纯净版的。
6.1.4.古月居解决方案
这个具体没有使用,因为使用6.1.2解决了。