虚拟机: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的官方软件源换成国内的。这样做是为了我们在安装软件的时候能直接从国内快速下载,而不用慢吞吞地访问国外网站。本文使用了中国科技大学提供的镜像源,更换方法如下:
终端依次输入以下两个命令:
sudo apt-get update
sudo apt-get upgrade
下图为官方教程命令,该命令指定了我们从ROS官网下载ROS的软件包(下载很慢)
为了快速下载,我们使用中科大(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
直接使用教程提供的命令即可。
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
注意:此处必须update一下,否则会显示找不到ros包!
sudo apt update
由于本文是在PC的虚拟机上安装,完全不用担心存储空间不够,所以选择安装完整版.
sudo apt install ros-melodic-desktop-full
下图提示我们要安装版大约2251M,输入“y”开始下载,使用中科大的ros软件源下载很快。
下载安装完ROS后,输入以下命令,安装后期需要用到的ros工具。
sudo apt-get install rospack-tools
之后,开始初始化rosdep,但根据ros官网执行以下操作,会出现命令执行失败的情况:
主要还是因为国内访问ROS官网速度慢,会出现rosdep初始化失败的现象,以下为解决方法:
声明: 以下解决方案来自博主:super_sean
原文链接:安装ROS, 初始化时rosdep update出错解决办法
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
下载链接:点击下载
提取码:4fti
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'
保存修改,退出文本。
打开网络设置
按下图顺序,找到当前网络的DNS修改处,修改网络DNS,最后点击“Apply”应用修改。
重启网络:
sudo rosdep update
update成功,如下:
若失败,应与网速有关,多执行update几次,基本能成功。
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
修改权限:
sudo chmod 777 -R ~/.ros
运行roscore
roscore
在“roscore”已经在运行的前提下,使用ctrl + shift + t
新开一个终端,输入:
rosrun turtlesim turtlesim_node
会看到ROS生产了一个小海龟,如下:
使用ctrl + shift + t
再新开一个终端,输入:
rosrun turtlesim turtle_teleop_key
并在当前终端,使用键盘的方向键
输入,可以控制小海龟运动。