ROS 安装@Ubuntu 20.04 & Ubuntu18.04

介绍(Introduction):

本文90%出自:

https://blog.csdn.net/qq_22701545/article/details/115641080?spm=1001.2014.3001.5501

  • 配置ubuntu的软件和更新;
  • 设置安装源;
  • 设置key;
  • 安装;
  • 配置环境变量。

 

正文(Text):

1.配置ubuntu的软件和更新

配置ubuntu的软件和更新,允许安装不经认证的软件。

首先打开软件和更新对话框,具体可以在 Ubuntu 搜索按钮中搜索。

打开后按照下图进行配置(确保勾选了"restricted" "universe" "multiverse."

http://www.autolabor.com.cn/book/ROSTutorials/assets/00ROS%E5%AE%89%E8%A3%85%E4%B9%8Bubuntu%E5%87%86%E5%A4%87.png

 

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.tuna.tsinghua.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.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

 

PS:

  1. 回车后,可能需要输入管理员密码
  2. 建议使用国内资源,安装速度更快。

 

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-FullDesktopROS-Base。这里介绍较为常用的Desktop-Full(官方推荐)安装: ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception

sudo apt install ros-noetic-desktop-full

 

等待......(比较耗时)

友情提示: 由于网络原因,导致连接超时,可能会安装失败,如下所示:http://www.autolabor.com.cn/book/ROSTutorials/assets/09_%E5%AE%89%E8%A3%85%E5%BC%82%E5%B8%B8.PNG

可以多次重复调用 更新 安装命令,直至成功。

5.配置环境变量

配置环境变量,方便在任意 终端中使用 ROS

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

source ~/.bashrc

 

6.安装构建依赖

noetic 最初发布时,和其他历史版本稍有差异的是:没有安装构建依赖这一步骤。随着 noetic 不断完善,官方补齐了这一操作。

首先安装构建依赖的相关工具

sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

(Ubuntu 18.04 – melodic, 默认的是python 2.7:

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

不难理解吧)

 

ROS中使用许多工具前,要求需要初始化rosdep(可以安装系统依赖) -- 上一步实现已经安装过了。

sudo apt install python3-rosdep

 

初始化rosdep

sudo rosdep init

rosdep update

 

如果一切顺利的话,rosdep 初始化与更新的打印结果如下:

http://www.autolabor.com.cn/book/ROSTutorials/assets/rosdep%E6%AD%A3%E5%B8%B8%E5%88%9D%E5%A7%8B%E5%8C%96.PNG

http://www.autolabor.com.cn/book/ROSTutorials/assets/rosdep%E6%AD%A3%E5%B8%B8%E6%9B%B4%E6%96%B0.PNG


7.异常问题:

但是,在 rosdep 初始化时,多半会抛出异常。

http://www.autolabor.com.cn/book/ROSTutorials/assets/noetic%E5%BC%82%E5%B8%B8%E6%8F%90%E7%A4%BA.PNG

原因:

境外资源被屏蔽。

解决:

百度或google搜索,解决方式有多种(https://github.com/ros/rosdistro/issues/9721),可惜在 ubuntu20.04 下,集体失效。

新思路:将相关资源备份到 gitee,修改 rosdep 源码,重新定位资源。

ps:同样适用ubuntu18.04 测试通过。

实现:

  1. 先打开资源备份路径:https://gitee.com/zhao-xuzuo/rosdistro

打开 rosdistro/rosdep/sources.list.d/20-default.list文件留作备用(主要是复用URL的部分内容:gitee.com/zhao-xuzuo/rosdistro/raw/master)

http://www.autolabor.com.cn/book/ROSTutorials/assets/gitee%E8%B5%84%E6%BA%90.PNG

  1. 进入"/usr/lib/python3/dist-packages/" 查找rosdep中和raw.githubusercontent.com相关的内容,调用命令:

sudo find . -type f | xargs grep "raw.githubusercontent"

 

http://www.autolabor.com.cn/book/ROSTutorials/assets/noetic_%E6%9F%A5%E6%89%BE%E5%8C%85%E5%90%ABgithubusercontent%E7%9A%84%E6%96%87%E4%BB%B6.PNG

(Ubuntu 18.04 – melodic, 默认的是python 2.7:

"/usr/lib/python3/dist-packages/"……

不难理解吧)

 

  1. 修改相关文件,主要有:

./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 的初始化与更新了。

 

结论

按照这样的步骤就可以顺利安装完成ROS。

Ubuntu18.04上安装ROS-melodic时,对异常处理的环节也适用,只要改变为python 2.7下的对应目录操作即可。

如果不想接受二次折腾,可以直接下载VMware workstation文件或者iso 直接使用。

(链接:https://pan.baidu.com/s/1bBCakQi0PT6BVKR_bLm0kQ 提取码:1234)

 

参考文献:

    https://blog.csdn.net/qq_22701545/article/details/115641080?spm=1002014.3001.5501 赵虚左的文章

  1.  特别鸣谢以下朋友的建议:
    1. 北京理工大学 王仕豪
    2. 特斯联北京科技有限公司 赵树立

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值