Ubuntu18.04 + ROS Melodic 环境配置笔记
文章目录
- 前言
- 软件获取
- 安装Ubuntu 18版
- 配置ROS系统
- 配置ROS Melodic版本
- 初始化系统环境变量
- 添加必要的依赖组件
- 配置rosdep工具链
- 设置项目开发环境
- 具体操作流程
-
更换软件资源库(软件源)
-
添加专门来源地址信息
-
获取并解压官方发行包
-
安装相关组件依赖项
-
初始化rosdep构建工具链组
-
总结
-
前言
近期的小柯为了学习相关知识而需要用到ROS系统。他在网站及官方渠道浏览了多个教程资料,在按照教程指导进行操作时遇到了各种问题让我感到困惑。经过一天的冥思苦想后终于找到了解决办法。为了后续参考小柯将配置方法进行了系统的整理并制作成笔记形式与大家分享希望能对大家有所帮助
1. 软件下载
为了启动一个基于Ubuntu 18.04的操作系统并运行ROS Melodic平台的应用程序,在虚拟化环境中构建一个完整的开发环境是必要的步骤。具体操作步骤如下:首先,在VirtualBox工作台及Ubuntu官方渠道获取相应的软件包与镜像文件;其次,在VirtualBox环境中配置好操作系统并启动其服务;接着,在虚拟化环境中安装ROS Melodic系统;最后,在安装完成后配置相应的参数以完成系统的集成与调试工作
基于我的Windows 10系统上运行的环境下


在下载完成后配置 VM Ware Workstation Pro。因为我是初次体验该软件,决定进行30天的免费试用期。
2. 安装Ubuntu18
打开 VM Ware Workstation,新建一个虚拟机。

用经典模式创建虚拟机:

选择刚刚下载的系统镜像。

输入用户名和密码。

设置虚拟机的存储名称

后面,在VM Ware环境中会要求为虚拟机设置存储空间大小。按照官方指导方针(官网),至少需要25GB的空间。考虑到小柯可能会使用这个虚拟机执行其他任务,并且希望有足够的存储容量以避免潜在问题(比如数据丢失或性能瓶颈),因此我选择了更大的存储容量作为配置方案

最后如果有特殊需求 可以对使用的内存空间大小和占用系统核心数量进行配置 这些参数可在后续步骤中设置 所以小柯目前选择保持默认状态
点击'Finish'后 系统将开始启动内核初始化流程 启动内核初始化可能需要较长时间 小柯暂时离开电脑去放松一下吧

3. 安装配置ROS
接下来,在 Ubuntu18 上我们就开始安装并配置 ROS 环境。Ubuntu 官方网站提供了相关的教程。然而,在小柯按照官网教程操作的过程中遇到了困难。经过一番努力尝试后,终于解决了问题,并打算将解决方法记录下来。
3.1 更换软件源
进入虚拟机后,系统通常会提示是否进行软件升级。切勿点击进行软件升级操作,因为Melodic版本仅兼容Ubuntu 18.04版本的安装环境。如果您的系统已经升级至最新版本,则必须选择相应的 ROS 版本进行配置。但在此之前,请确保您的软件源已设置为最新的官方版本。

右键单击任务栏中的 ’Ubuntu Software’ 标签,并且选择 ‘Software & Updates’

确保弹窗中的前四个选项框均已经勾选。

在右侧功能栏中找到‘Download from’选项。目前下载服务由海外服务器提供。由于数据跨越大洋传输至海外服务器会导致大量时间消耗与延迟。为了提高访问速度建议从国内知名云计算服务提供商(例如阿里云、中科 clouds等)接入服务。在右侧功能栏中找到并点击‘Other’选项随后根据提示完成配置操作:依次在弹出的下拉菜单中选择‘阿里云服务’或直接点击右侧‘最优服务器配置’按钮即可完成设置

随后单击「Choose Server」以设置服务器配置参数。随后启动「Ctrl+Alt+T」以打开终端,并按照官方指南进行操作。
3.2 添加专用源地址
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
3.3 添加密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
这时,系统打印如下内容,表示添加成功:
gpg: Total number processed: 1
gpg: imported: 1
3.4 安装ROS Melodic
首先,我们需要更新软件列表
sudo apt-get update
为了方便起见,我们直接安装 ROS Melodic 完整版。
sudo apt install ros-melodic-desktop-full
然而,在实际使用中,即便完整版已安装,仍然可能会出现缺少某些组件的情况;只需按照以下方式分别安装即可。
sudo apt install ros-melodic-xxxxx # xxxxx 替替换成组件名称
举个例子:
sudo apt install ros-melodic-slam-gmapping
同样,我们也可以用如下指令搜索可用的组件:
sudo apt search ros-melodic
这时候又需要等待很久很久。小柯又可以出去玩了,好开心o( ̄▽ ̄)ブ
3.5 初始化环境变量
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
3.6 安装相关依赖环境
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
3.7 初始化rosdep
rosdep是基于python环境的。首先我们需要安装python-rosdep
sudo apt install python-rosdep
根据官网的介绍,我们需要用以下方式初始化rosdep
sudo rosdep init
rosdep update
不过,多数情况下,它会报一个错误。

这一现象源于系统未能识别图中标注的 http://raw.githubusercontent.com 这一URL。有博主指出,在电脑连接手机热点后通常能解决问题。然而,在尝试解决问题的过程中小柯仍未能成功。最终 workaround的方法是先下载文件到本地存储空间上,在随后的操作中修改这些文件的基础代码,并将引用地址更改为本地路径。
参考材料:基于ROS的rosdep初始化及更新操作常见错误及解决方案
具体操作如下:
- 下载库文件
sudo apt install git
sudo git clone https://github.com/ros/rosdistro.git
- 按照以下步骤将以下四个文件中的' https://raw.githubusercontent.com/ros/rosdistro/master/' 替换为' file:///home/kirk/rosdistro/'。
- 由于我的用户名是kirk,请在此处使用kirk。
- 请根据需要替换为各自的路径名称。
RosDistro/RosDep/sources list d 二十大列表
RosDistro/RosDep²导入模块用于GBP分布支持
RosDistro/RosDep²导入模块用于生成rep3文件
RosDistro导入模块初始化配置
请将第一个文件通过拷贝的方式移动至/etc/ros/rosdep/sources.list.d指定位置,并确保该目录之前已创建好以便后续软件引用
sudo mkdir -p /etc/ros/rosdep/sources.list.d
sudo cp rosdistro/rosdep/sources.list.d/20-default.list /etc/ros/rosdep/sources.list.d/
- 最后执行官网中的命令更新软件源
rosdep update
3.8 配置 catkin
通常情况下,在编译代码时我们都会依赖于catkin工作环境。
mkdir -p catkin_ws/src # -p 用来允许创建子目录
然后在 catkin_ws 目录中初始化 catkin
cd catkin_ws/src
catkin_init_workspace
这时,我们就可以在 catkin_ws 目录下编译代码。
cd ..
catkin_make
当下(或这时),系统将自动创建 build 和 develop 目录。最终步骤是指导用户配置好必要的环境变量以确保操作顺利完成。
source devel/setup.bash
总结
至此完成Ubuntu18.04 ROS Melodic环境搭建与工作空间搭建。随后我可以将代码文件放置至catkin_ws/src目录内进行导入与编译操作以启动个人项目开发流程
