引言

先来一张ROS的美照:

ROS_Lunar_Loggerhead

ROS系列文章
【ROS入门-1】手把手教你在Ubuntu18.04安装ROS Melodic

【ROS入门-2】带你看ROS文件系统及其工具

【ROS入门-3】嘴对嘴讲解ROS的核心概念——节点与节点管理器

【ROS入门-4】嘴对嘴讲解ROS的核心概念——ROS话题通信机制

参考官方wiki安装:
http://wiki.ros.org/melodic/Installation/Ubuntu

在Ubuntu的【软件和更新】配置如下:


ros001

添加软件源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

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

更新软件源
sudo apt update

安装一些依赖
sudo apt-get install python-rosdep2

安装
ROS中有许多不同的库和工具,官方提供了四种默认:

桌面完整版(推荐)
其实也是不完整的,只是包含了绝大部分成常用的软件包跟开发工具,后续开发的一些工具还是要手动安装,但相对于官方的其他版本,这已经是最全功能的版本了。

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

桌面版本(非完整)
sudo apt install -y ros-melodic-desktop

基础版本,只有一些基础的内容。
sudo apt install -y ros-melodic-ros-base

独立版本
sudo apt install ros-melodic-PACKAGE


你还可以安装一个特定的ROS包:
比如:

sudo apt install ros-melodic-slam-gmapping

我们只选择 桌面完整版 进行安装,大约半小时左右就安装好了,时间取决于你的网速。

初始化rosdep
sudo rosdep init

如果出现rosdep命令找不到的错误提示,则运行:

sudo apt install rospack-tools

然后他会提示我们更新软件源的依赖:

Recommended: please run

    rosdep update

更新软件源的依赖
rosdep update

当出现以下log时表示更新成功:

ros002

如果出错请参考文末的 【错误排查】

设置环境变量

为了能每次在终端打开时,都能将ROS环境变量自动设置好,我们可以这样做:

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

构建软件包的依赖关系

到目前为止,我们已经安装了运行核心ROS软件包所需的软件。为了创建和管理自己的ROS工作区,有各种工具和要求分别分发,我们可以通过一个 rosinstall 命令轻松下载ROS软件包的许多源代码树。

安装此工具和其他依赖项以构建ROS软件包,运行:

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

支持,ROS的核心组件以及一些工具都已经安装完成。

ros003

验证ROS是否安装成功

roscore

出现以下内容表示安装成功:

ros004

如果没有出现这个命令,则表示安装不太完全,再次运行安装ROS命令:

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

接着再运行一个ROS的指令(需要打开新的终端),启动小海龟的仿真器:

rosrun turtlesim turtlesim_node

然后打开新的终端运行以下命令:然后通过键盘的上下左右键去控制小海龟的运动:

rosrun turtlesim turtle_teleop_key

效果如下:

ros005

错误排查参考
出现的错误可以参考以下博文,感谢各位博主的解决方案:

ubuntu安装ROS进行到rosdep update时出现错误,如ERROR: unable to process source …

ROS:sudo rosdep init出错常规方法都无效后解决办法记录