写在前面:
笔者从大二就开始接触ROS操作系统,期间经历过多次ROS的安装与重装,每一次都痛苦不堪。每一次的安装都会重复踩很多坑,也会踩一些新坑,因此借此机会打算把安装ROS Melodic版本完整步骤整理出来。
sudo rosdep init和rosdep update出错的可以直接跳到第4步!
目录
1. 添加ROS软件源
2. 添加密钥
3. 安装ROS
4. 初始化rosdep
5. 设置环境变量
6. 安装rosinstall
7. 验证是否安装成功
1. 添加ROS软件源
打开终端,复制以下命令:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
2. 添加密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
成功后的界面如下:
3. 安装ROS
将Ubuntu软件源更换成中科大的源,选择后再勾选Source code。具体如下图所示:
更换好国内的源后,执行官方给出的两条安装步骤:
sudo apt update
成功后的界面如下:
sudo apt install ros-melodic-desktop-full
这一步是在完整安装ROS系统,时间略长,大约在10-20分钟。成功后的界面如下:
如果没有完全安装成功,可以执行以下命令来修复安装(基本不会用到这条命令):
sudo apt-get -f install ros-melodic-desktop-full
4. 初始化rosdep
这一步是最容易失败的!
首先给出官方安装步骤:
sudo rosdep init
报错:
解决方案:安装python-rosdep
sudo apt install python-rosdep
重新执行sudo rosdep init后,报了另外的错:
就在这两步,笔者卡了整整一天。笔者曾经通过修改hosts文件,添加IP地址成功解决了这个问题。但是在近期重装ROS时发现这一方法已经不再可行。目前国内可用的IP越来越少,笔者把所有的IP都尝试过了,依然无法解决。解决rosdep update超时问题的方法已经不太好用。
这一步主要是对rosdep初始化。在初始化的过程中需要访问GitHub,而国内访问GitHub着实困难。为了解决这个问题,可以考虑使用https://ghproxy.com/来代理GitHub的资源。具体步骤如下:
① 在/usr/lib/python2.7/dist-packages/rosdep2下打开终端
执行命令:
sudo gedit ./sources_list.py
在311行添加如下代码:
url="https://ghproxy.com/"+url
将72行代码修改成如下代码(添加https://ghproxy.com/前缀):
DEFAULT_SOURCES_LIST_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list'
点击Save保存并退出。
② 同样在/usr/lib/python2.7/dist-packages/rosdep2文件夹下,执行命令:
sudo gedit ./gbpdistro_support.py
将36行代码修改成如下代码(添加https://ghproxy.com/前缀):
FUERTE_GBPDISTRO_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/' \
在204行添加如下代码:
gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url
点击Save保存并退出。
③ 同样在/usr/lib/python2.7/dist-packages/rosdep2文件夹下,执行命令:
sudo gedit ./rep3.py
将39行代码修改成如下代码(添加https://ghproxy.com/前缀):
REP3_TARGETS_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/releases/targets.yaml'
点击Save保存并退出。
④ 在/usr/lib/python2.7/dist-packages/rosdistro/manifest_provider(注意,这一步需要更改当前目录)下,执行命令:
sudo gedit ./github.py
将119行代码修改成如下代码(添加https://ghproxy.com/前缀):
url = 'https://ghproxy.com/https://raw.githubusercontent.com/%s/%s/%s' % \
点击Save保存并退出。
⑤ 在/usr/lib/python2.7/dist-packages/rosdistro(注意,这一步需要更改当前目录)下,执行命令:
sudo gedit ./__init__.py
将68行代码修改成如下代码(添加https://ghproxy.com/前缀):
DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'
点击Save保存并退出。
接下来执行:
sudo rosdep init
成功提示如下信息:
然后执行:
rosdep update
成功提示如下信息:
5. 设置环境变量
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
6. 安装rosinstall
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
至此完成ROS-Melodic版本的安装。接下来的步骤用来验证ROS是否安装成功。
7. 验证是否安装成功
打开一个终端,输入:
roscore
不要关闭前面的终端,另外打开一个终端,输入:
rosrun turtlesim turtlesim_node
不要关闭前面两个终端,另外再打开一个终端,输入:
rosrun turtlesim turtle_teleop_key
如果出现以下窗口,并且可以使用键盘控制小乌龟的运动,则证明安装成功。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)