Ubuntu18.04安装ROS

Ubuntu18.04安装ROS

一、ROS简介

ROS(Robotic Operation System),是用于编写机器人软件程序的一种具有高度灵活性的软件架构。它包含了大量工具软件、库代码和约定协议,旨在简化跨机器人平台创建复杂、鲁棒的机器人行为这一过程的难度与复杂度。

二、ROS安装步骤

1.导入list

快捷键Ctrl+Alt+T打开Ubuntu下的terminal,在terminal中进行list的导入。
这里我默认采用了中科大的镜像源,以避免后面可能由于网络原因而产生的一些包信息加载的问题。

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 echo deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main  /etc/apt/sources.list.d/ros-latest.list

2.导入key

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

3.进行包信息的更新

sudo apt-get update

4.安装ROS桌面版

sudo apt-get install ros-melodic-desktop-full

5.初始化ROSDEP

sudo rosdep init
rosdep update

初始化ROSDEP中可能会出现的错误的解决方法~

(1)sudo: rosdep: command not found
在运行sudo rosdep init时可能出现sudo: rosdep: command not found的错误,这是因为ROS的部分工具包没有被安装,在terminal执行下面的语句进行包的安装之后就可以啦~

sudo apt install rospack-tools

(2)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.

这个问题是由于github在国内的墙变高了,一种比较好的解决方式就是给github相关网站添加github访问代理。
https://ghproxy.com/是一个非常好的github的资源代理网站。我们要做的就是在所有需要用到github相关网站的前面添加github代理。
使用了github相关网站的py程序有如下几个:

  1. /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
  2. /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
  3. /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
  4. /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
  5. /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py

接下来我们要对这些程序中的github网站路径进行github代理的添加。

  1. /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py

第72行改为如下内容:

DEFAULT_SOURCES_LIST_URL = 'https://ghproxy.com/raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list'

更改完之后的效果如下:
在这里插入图片描述

  1. /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py

第68行改为如下内容:

DEFAULT_INDEX_URL = 'https://ghproxy.com/raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'

更改完之后的效果如下:
在这里插入图片描述

  1. /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py

第36、37行改为如下内容:

FUERTE_GBPDISTRO_URL = 'https://ghproxy.com/raw.githubusercontent.com/ros/rosdistro/' \
    'master/releases/fuerte.yaml'

更改完之后的效果如下:
在这里插入图片描述

  1. /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py

第39行改为如下内容:

REP3_TARGETS_URL = 'https://ghproxy.com/raw.githubusercontent.com/ros/rosdistro/master/releases/targets.yaml'

更改完之后的效果如下:
在这里插入图片描述

  1. /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py

第68行改为如下内容,要注意有缩进哈,不确定的可以对照一下下面的图~

    url = 'https://ghproxy.com/raw.githubusercontent.com/%s/%s/package.xml' % (path, release_tag)

更改完之后的效果如下:
在这里插入图片描述
第119、120行改为如下内容,要注意有缩进哈,不确定的可以对照一下下面的图~

        url = 'https://ghproxy.com/raw.githubusercontent.com/%s/%s/%s' % \
            (path, cache.ref(), package_xml_path + '/package.xml' if package_xml_path else 'package.xml')

更改完之后的效果如下:
在这里插入图片描述
这样都更改好之后,再运行

sudo rosdep init

若出现Wrote /etc/ros/rosdep/sources.list.d/20-default.list,并提示运行rosdep update,则说明已经初始化成功啦~

(3)ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml]:
<urlopen error [Errno 104] Connection reset by peer> …
ERROR: error loading sources list:
<urlopen error <urlopen error [Errno 104] Connection reset by peer> (https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml)>

若出现这一大坨错误,则运行下面语句。

sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list

将其中的raw.githubusercontent.com前面都加上/ghproxy.com/即可。
在这里插入图片描述

在添加好github代理之后,在运行rosdep update就可以实现rosdep信息的更新啦~
正确的更新后的信息如下,wooooooooooo~
在这里插入图片描述

6.添加到系统路径

echo source /opt/ros/melodic/setup.bash  ~/.bashrc
source ~/.bashrc

7.安装依赖包

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

走过以上步骤之后,ROS已经正确地被安装在Ubuntu上啦,开始ROS之旅吧~
有什么问题的话可以在留言区留言o~

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值