国内开始学习ROS 的第一天 使用ubunut 18.04 安装ROS Melodic
版本名称: ROS Melodic Morenia
发布日期: 2018年5月23日
版本生命周期:2023年5月
系统平台:Ubuntu 17.10, Ubuntu 18.04, Debian 9, Windows 10
查看ubunut系统信息
- cat /proc/version
- uname -a
- lsb_release -a
通过对应的ubuntu版本安装对应的ROS版本,因为我的电脑为18.04,所以安装ROS melodic
ubuntu系统安装完后,即可安装ROS啦
0.安装前准备
首先拷贝一份/etc/apt/sources.list文件
sudo cp -v /etc/apt/sources.list /etc/apt/sources.list.backup
vim编辑sources.list,注释里面所有内容,或者删掉也行
sudo vim /etc/apt/sources.list
清华镜像
注意:需要对应的CPU指令集,比如TX1应该找ubuntu-ports的镜像源,intel或amd 的找ubuntu镜像源
从对应的镜像中找到对应的ubunut版本的信息,复制到sources.list
##华为云:
deb http://mirrors.huaweicloud.com/ubuntu-ports/ bionic main multiverse restricted universe
deb http://mirrors.huaweicloud.com/ubuntu-ports/ bionic-backports main multiverse restricted universe
deb http://mirrors.huaweicloud.com/ubuntu-ports/ bionic-proposed main multiverse restricted universe
deb http://mirrors.huaweicloud.com/ubuntu-ports/ bionic-security main multiverse restricted universe
deb http://mirrors.huaweicloud.com/ubuntu-ports/ bionic-updates main multiverse restricted universe
deb-src http://mirrors.huaweicloud.com/ubuntu-ports/ bionic main multiverse restricted universe
deb-src http://mirrors.huaweicloud.com/ubuntu-ports/ bionic-backports main multiverse restricted universe
deb-src http://mirrors.huaweicloud.com/ubuntu-ports/ bionic-proposed main multiverse restricted universe
deb-src http://mirrors.huaweicloud.com/ubuntu-ports/ bionic-security main multiverse restricted universe
deb-src http://mirrors.huaweicloud.com/ubuntu-ports/ bionic-updates main multiverse restricted universe
## 中科大:
```bash
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-proposed main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-proposed main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe
重新执行
sudo apt-get update
sudo apt-get upgrade
1.设置安装源
官方安装源
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'
2.设置KEY
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
3.安装
sudo apt-get install ros-melodic-desktop-full
如果出现安装失败或者连接超时,多试几次该指令
如果出现以下情况:
重新执行
sudo apt-get update
sudo apt-get upgrade
4.安装构建依赖
sudo apt-get install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
5. 初始化rosdep
rosdep 是ROS中自带的工具,主要功能是为某些功能安装包安装系统依赖,同时也是某些ROS核心功能包必须用到的工具。(下面会出现问题哟!)
sudo rosdep init
rosdep update
6.配置环境变量
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
理想情况下执行完上述步骤未出现问题,那就ROS就安装成功啦,测试一下
roscore
问题
第五步 初始化rosdep 执行 sudo rosdep init会出现错误
原因是境外资源被屏蔽
解决办法是将资源备份到gitee,修改rosdep源码,重新定位资源
方法:
1.先打开资源备份路径:https://gitee.com/ssonic/rosdistro,打开 rosdistro/rosdep/sources.list.d/20-default.list文件留作备用(主要是复用URL的部分内容:gitee.com/ssonic/rosdistro/raw/master)。
2.进入"/usr/lib/python3/dist-packages/" 查找rosdep中和raw.githubusercontent.com相关的内容,调用命令:
find . -type f | xargs grep "raw.githubusercontent"
3.修改相关文件,主要有:
./rosdistro/__init__.py
./rosdep2/gbpdistro_support.py
./rosdep2/sources_list.py
./rosdep2/rep3.py
可以使用sudo gedit命令修改文件:
sudo vim ./rosdistro/__init__.py
DEFAULT_INDEX_URL = 'https://gitee.com/ssonic/rosdistro/raw/master/index-
v4.yaml'
sudo vim ./rosdep2/gbpdistro_support.py
FUERTE_GBPDISTRO_URL = 'https://gitee.com/ssonic/rosdistro/' \
'raw/master/releases/fuerte.yaml'
sudo vim ./rosdep2/sources_list.py
DEFAULT_SOURCES_LIST_URL = 'https://gitee.com/ssonic/rosdistro/raw/master/rosdep/sources.list.d/20-default.list'
sudo vim ./rosdep2/rep3.py
REP3_TARGETS_URL = 'https://gitee.com/ssonic/rosdistro/raw/master/releases/targets.yaml'
文件中涉及的 URL 内容,如果是:raw.githubusercontent.com/ros/rosdistro/master都替换成步骤1中准备的gitee.com/ssonic/rosdistro/raw/master即可。
修改完毕,再重新执行命令:
sudo rosdep init
rosdep update
就可以正常实现 rosdep 的初始化与更新了。