接下来,就以melodic为例演示ROS历史版本安装(当然先要准备与melodic对应的Ubuntu18.04):
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。
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
如果一切顺利的话,rosdep 初始化与更新的打印结果如下:
注意:
当执行到最后 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.
原因:
屏蔽
解决思路:
百度或google搜索,解决方式有多种(rosdep init gives "Website may be down." · Issue #9721 · ros/rosdistro · GitHub),可惜在 ubuntu20.04 下,集体失效,在ubuntu18下也大部分实效。
新思路:将相关资源备份到 gitee,修改 rosdep 源码,重新定位资源。
实现:
1.先打开资源备份路径:赵虚左/rosdistro,打开 rosdistro/rosdep/sources.list.d/20-default.list文件留作备用(主要是复用URL的部分内容:gitee.com/zhao-xuzuo/rosdistro/raw/master)。
第1步看一下就行,表示作者已经将相关网址转移到gitee,后面直接替换就好
2.进入"/usr/lib/python2.7/dist-packages/" 查找rosdep中和raw.githubusercontent.com
相关的内容,调用命令:
第2步目的是找到需替换网站的文件,作者已经找过了一共有4个,也可也跳过
find . -type f | xargs grep "raw.githubusercontent"
3.修改相关文件,一共有4个: ./rosdistro/__init__.py、./rosdep2/gbpdistro_support.py、./rosdep2/sources_list.py 、./rosdep2/rep3.py。可以使用sudo gedit
命令修改文件:
文件中涉及的 URL 内容,如果是:raw.githubusercontent.com/ros/rosdistro/master
都替换成步骤1中准备的gitee.com/zhao-xuzuo/rosdistro/raw/master
即可。
修改完毕,再重新执行命令:
sudo rosdep init
rosdep update
就可以正常实现 rosdep 的初始化与更新了。
4.重新执行rosdep初始化与更新命令,如果rosdep update 抛出异常,基本都是网络原因导致的(建议使用手机热点),多尝试几次即可。
综上,历史版本的安装与noetic流程类似,只是多出了“构建功能包依赖关系”的步骤。
另请参考:melodic/Installation/Ubuntu - ROS Wiki
1.2.6 资料:其他ROS版本安装 · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程
1.2.4 安装 ROS · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程
rosdep update一定能通过de简单方法_努力是明天快乐的源泉-CSDN博客_rosdep update