如何在VMware上快速安装ROS

环境

虚拟机:VMware® Workstation 16 Pro
操作系统:Ubuntu 18.04.6 LTS
ROS版本:ROS Melodic Morenia

工具下载

VMware® Workstation 16 Pro:
百度盘下载链接:点击下载
提取码:yixm

Ubuntu 18.04.6 LTS官方下载链接: 点击下载

ROS安装的官方教程:点击打开


一、更换Ubuntu的镜像源

我们在安装好Ubuntu虚拟机后,一般会将Ubuntu的官方软件源换成国内的。这样做是为了我们在安装软件的时候能直接从国内快速下载,而不用慢吞吞地访问国外网站。本文使用了中国科技大学提供的镜像源,更换方法如下:

如何在VMware上快速安装ROS_第1张图片

选择中国科学技术大学的镜像源:

如何在VMware上快速安装ROS_第2张图片
如何在VMware上快速安装ROS_第3张图片
如何在VMware上快速安装ROS_第4张图片
选择“reload”,让修改的镜像源生效:
如何在VMware上快速安装ROS_第5张图片

检查并更新软件:

终端依次输入以下两个命令:

sudo apt-get update
sudo apt-get upgrade

二、下载安装ROS

设置ROS软件源

下图为官方教程命令,该命令指定了我们从ROS官网下载ROS的软件包(下载很慢)
如何在VMware上快速安装ROS_第6张图片
为了快速下载,我们使用中科大(USTC)的ROS软件源,ctrl + t打开一个终端,直接在终端输入以下命令:

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'

这两个命令的不同在于下载的网址:
一个是:http://packages.ros.org
另一个是:http://mirrors.ustc.edu.cn

配置ROS的密钥

直接使用教程提供的命令即可。

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

检查并更新软件

注意:此处必须update一下,否则会显示找不到ros包!

sudo apt update

安装ROS

如何在VMware上快速安装ROS_第7张图片
由于本文是在PC的虚拟机上安装,完全不用担心存储空间不够,所以选择安装完整版.

sudo apt install ros-melodic-desktop-full

下图提示我们要安装版大约2251M,输入“y”开始下载,使用中科大的ros软件源下载很快。
如何在VMware上快速安装ROS_第8张图片

安装ROS工具包

下载安装完ROS后,输入以下命令,安装后期需要用到的ros工具。

sudo apt-get install rospack-tools

之后,开始初始化rosdep,但根据ros官网执行以下操作,会出现命令执行失败的情况:
如何在VMware上快速安装ROS_第9张图片

rosdep初始化

主要还是因为国内访问ROS官网速度慢,会出现rosdep初始化失败的现象,以下为解决方法:

声明: 以下解决方案来自博主:super_sean

原文链接:安装ROS, 初始化时rosdep update出错解决办法


以下为本人参照super_sean博主原文的操作过程:

解决sudo rosdep init失败问题

sudo rosdept init的作用是:从github下载一个名为20-default.list的文件到Ubuntu的/etc/ros/rosdep/sources.list.d/目录下。我们手动执行该过程:
手动创建目录:

sudo mkdir -p /etc/ros/rosdep/sources.list.d/

在刚创建好的目录下,手动创建空文件:

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

此后,执行命令sudo apt-get init依然会失败,但这只是说我们无法从网络下载20-default.list文件而已。但文件我们已经手动创建了,所以,此时就算该命令报错,其实也已经不再影响我们后面的下载了。

解决sudo rosdep update失败问题

打开文件:

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

写入以下内容,保存,退出:
# os-specific listings first
yaml file:///etc/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx
yaml file:///etc/ros/rosdistro/master/rosdep/base.yaml
yaml file:///etc/ros/rosdistro/master/rosdep/python.yaml
yaml file:///etc/ros/rosdistro/master/rosdep/ruby.yaml
gbpdistro file:///etc/ros/rosdistro/master/releases/fuerte.yaml fuerte
下载rosdistro文件包(百度盘):

下载链接:点击下载
提取码:4fti

将下载得到的安装包解压,放到ubuntu的指定目录:
unzip rosdistro.zip 

sudo mv rosdistro /etc/ros/
修改执行脚本:

打开以下python脚本:

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

找到文本中以下语句,用#号将其注释:

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

在刚注释内容下方另起一行,新增语句如下:

DEFAULT_INDEX_URL = 'file:///etc/ros/rosdistro/master/index-v4.yaml'

保存修改,退出文本。

修改Ubuntu网络的DNS

打开网络设置
如何在VMware上快速安装ROS_第10张图片
如何在VMware上快速安装ROS_第11张图片
按下图顺序,找到当前网络的DNS修改处,修改网络DNS,最后点击“Apply”应用修改。
如何在VMware上快速安装ROS_第12张图片
重启网络:
如何在VMware上快速安装ROS_第13张图片

重新执行updater
sudo rosdep update

update成功,如下:
如何在VMware上快速安装ROS_第14张图片
若失败,应与网速有关,多执行update几次,基本能成功。

添加ROS的环境变量
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
安装ROS依赖软件包
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
试运行roscore

修改权限:

sudo chmod 777  -R ~/.ros

运行roscore

roscore

成功运行roscore,如下:
如何在VMware上快速安装ROS_第15张图片


三、运行小海龟

在“roscore”已经在运行的前提下,使用ctrl + shift + t新开一个终端,输入:

rosrun turtlesim turtlesim_node

会看到ROS生产了一个小海龟,如下:
如何在VMware上快速安装ROS_第16张图片
使用ctrl + shift + t再新开一个终端,输入:

rosrun turtlesim turtle_teleop_key

并在当前终端,使用键盘的方向键输入,可以控制小海龟运动。

你可能感兴趣的:(ROS,ubuntu,ROS)