ROS学习笔记#基础篇#(一)——搭建ROS开发环境

目录

  • 一、安装Ubuntu
    • 1、Ubuntu以及ROS版本的选择
    • 2、Ubuntu安装方法
    • 3、Ubuntu工具软件安装
  • 二、安装ROS
    • 1、配置Ubuntu
    • 2、添加sources.list
    • 3、添加keys
    • 4、系统更新
    • 5、安装ROS
    • 6、配置ROS
      • 6.1、初始化 rosdep
      • 6.2、环境配置
      • 6.3、构建库依赖
    • 7、 测试ROS
      • 7.1、启动ROS
      • 7.2、运行Turtle例程
  • 三、创建ROS工作空间

一、安装Ubuntu

1、Ubuntu以及ROS版本的选择

ROS原本只支持在Linux系统上安装部署,而近期开始推出Windows版本,但还不够完善,所以首选开发平台仍是Ubuntu,并且ROS的每个版本都有一个最佳适配的Ubuntu版本。如下表所示:

ROS版本 推荐Ubuntu版本
Melodic Ubuntu 18.04
Lunar Ubuntu 17.04
Kinetic Ubuntu 16.04
Jade Ubuntu 15.04
Indigo Ubuntu 14.04

更多详细信息见ROS官方网站。
目前来说,Kinetic版本是使用者最多的ROS版本,网上的参考资料更丰富,也就更适合新手入门,故Ubuntu版本选择16.04,见Ubuntu官网下载。

2、Ubuntu安装方法

安装方法常见为虚拟机安装和本地安装(包括双系统)。虚拟机方式方便快捷,但是如果你想进行ROS仿真(如Gazebo工具),这些仿真工具对显卡性能有一定的要求,而虚拟机无法发挥显卡应有的性能,所以仿真时容易卡顿。
对于新手而言,利用仿真工具进行ROS学习可以降低学习成本;对与老手而言,利用仿真工具可以快速验证算法。所以这里推荐本地安装,并推荐一个U盘启动盘制作工具——YUMI,你可以根据官方教程进行安装操作。
此外,安装Ubuntu时,建议不要联网,语言推荐选择英语,这是因为外文资料更丰富,报错信息更方便Google。

3、Ubuntu工具软件安装

以下工具并非必需,但可以提高开发效率。安装前请确保你已经正确安装Ubuntu,安装时需要使用自带的dpkg命令。

  • 中文输入法

上文虽然推荐你Ubuntu语言使用英语,但写代码时使用中文注释肯定更方便。这里推荐Linux版本的搜狗输入法,虽然Windows版本的搜狗输入法有很多广告,但是Linux版本是很简洁的,安装教程见Ubuntu系统安装搜狗输入法详细教程。

  • 文本编辑器

对于大佬而言,Linux环境下最佳文本编辑器也许是Vi/Vim,但对于新手而言,入门门槛过高,这里推荐微软的开源编辑器——VS Code,功能强大,插件丰富。推荐安装插件——语言包(Chinese)ROSC/C++PythonGitLens,其它插件根据需要进行安装。

  • 终端增强工具

虽然Ubuntu自带的终端工具(组合快捷键Ctrl + Alt + T启动)已经很强大,但是ROS开发过程中,往往需要多窗口同时显示,这里推荐Terminator,安装教程见terminator 安装与配置。
以下为我的配置:

[global_config]
  enabled_plugins = CustomCommandsMenu, TestPlugin, ActivityWatch, TerminalShot, MavenPluginURLHandler
  title_inactive_bg_color = "#820f49"
  title_hide_sizetext = True
[keybindings]
[layouts]
  [[default]]
    [[[child1]]]
      parent = window0
      profile = default
      type = Terminal
    [[[window0]]]
      parent = ""
      type = Window
[plugins]
[profiles]
  [[default]]
    background_color = "#2e2f31"
    background_darkness = 0.86
    background_type = image
    copy_on_selection = True
    cursor_color = "#eee8d5"
    font = Ubuntu Mono 13
    foreground_color = "#f3f0e7"
    scroll_on_output = False
    scrollback_lines = 50000
    use_system_font = False
  [[New Profile]]
    background_image = None

常用的快捷键包括:
Ctrl + Alt + T (启动终端)
Ctrl + Shift + O(水平开新窗口)
Ctrl + Shift + E(垂直开新窗口)
Ctrl + Shift + W(关闭当前窗口)
Alt + Up / Down / Right / Left (依据方向切换窗口)

  • PDF阅读器

很多参考资料以PDF文档的形式提供,而Ubuntu自带的PDF阅读器并不好用,这里推荐国产PDF阅读器——福昕PDF阅读器,下载时选择Linux版本

  • 视频播放器

Ubuntu自带的视频播放器缺乏一些解码器,虽然可以通过安装插件使其功能正常,但是这里推荐MPV播放器,这是一个免费、开源和跨平台的媒体播放器。该播放器大部分操作通过快捷键完成,可以参考官方手册。

二、安装ROS

下文参考ROS官方Wiki与《机器人操作系统入门》课程讲义,并以Ubuntu 16.04安装ROS Kinetic为例。

1、配置Ubuntu

打开 System Setting => Software & Updates => Ubuntu Software ,配置Ubuntu允许 “restricted”、“universe” 和 "multiverse"这三种安装模式。ROS官方推荐软件源设置为中国科技大学(USTC)或清华大学(Tsinghua),这里将软件源切换成中科大的源,如图所示:
ROS学习笔记#基础篇#(一)——搭建ROS开发环境_第1张图片

2、添加sources.list

$ sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

这一步配置将镜像添加到Ubuntu系统源列表中,建议使用国内的镜像源,这样能够保证下载速度。本例使用的是中国科技大学的源。

3、添加keys

$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

公钥是Ubuntu系统的一种安全机制,也是ROS安装中不可缺的一部分。

4、系统更新

$ sudo apt-get update && sudo apt-get upgrade

更新系统,确保自己的Ubuntu软件包和索引是最新的。

5、安装ROS

在ROS中,有很多不同的库和工具,官方提供了四种默认的安装方式,这里使用桌面完整版安装方式。

  • 桌面完整版(推荐):包含ROS、rqt、rviz、机器人通用库、2D/3D 模拟器、导航以及2D/3D感知等。
$ sudo apt-get install ros-kinetic-desktop-full
  • 桌面版安装: 包含ROS、rqt、rviz以及通用机器人函数库。
$ sudo apt-get install ros-kinetic-desktop
  • 基础版安装:包含ROS核心软件包、构建工具以及通信相关的程序库,无GUI工具。
$ sudo apt-get install ros-kinetic-ros-base
  • 单个软件包安装: 你也可以安装某个指定的ROS软件包(使用软件包名称替换掉下面的PACKAGE):
$ sudo apt-get install ros-kinetic-PACKAGE

6、配置ROS

6.1、初始化 rosdep

rosdep可以方便在你需要编译某些源码的时候为其安装一些系统依赖,同时也是某些ROS核心功能组件所必需用到的工具。

$ sudo rosdep init
$ rosdep update

6.2、环境配置

每次打开一个新的终端时都需要重新配置ROS环境变量:

$ source ~/.bashrc

如果每次打开新的终端ROS环境变量都能够自动配置好(即添加到~/.bashrc文件中),那将会方便很多:

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

或者直接使用Vi/Vim编辑~/.bashrc文件,在文件末尾增加source /opt/ros/kinetic/setup.bash

$ vi ~/.bashrc

6.3、构建库依赖

rosinstall是一个经常使用的命令行工具,它使你能够轻松地从一个命令下载许多ROS包的源码树。

$ sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

7、 测试ROS

7.1、启动ROS

$ roscore

如果出现下图,那么说明ROS已经正常启动。
ROS学习笔记#基础篇#(一)——搭建ROS开发环境_第2张图片

7.2、运行Turtle例程

启动roscore后,重新打开一个终端窗口,输入:

$ rosrun turtlesim turtlesim_node

屏幕上会出现一只小海龟(每次运行显示的海龟形状是不一样的),那么该怎么样来操纵这只小海龟呢?重新打开新的一个终端,输入:

$ rosrun turtlesim turtle_teleop_key

将鼠标聚焦在运行turtle_teleop_key的终端窗口上,然后通过键盘上的方向键,进行操作小海龟,如下图。
ROS学习笔记#基础篇#(一)——搭建ROS开发环境_第3张图片
至此,ROS已经能够正常启动运行。若要停止运行,依次在各个终端中按Ctrl + C即可。

三、创建ROS工作空间

下面我们开始在用户空间下创建一个catkin工作空间:

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src

即使这个工作空间是空的(在src目录中没有任何软件包,只有一个CMakeLists.txt链接文件),你依然可以编译它:

$ cd ~/catkin_ws/
$ catkin_make

catkin_make命令在catkin工作空间中是一个非常方便的工具。如果你查看一下当前目录应该能看到builddevel这两个文件夹。在devel文件夹里面你可以看到几个setup.*sh文件。source这些文件中的任何一个都可以将当前工作空间设置在ROS工作环境的最顶层,想了解更多请参考catkin文档。
编译完成后必须刷新一下工作空间的环境,否则可能找不到工作空间。

  • 方法一:通过source命令:
$ cd ~/catkin_ws/
$ source devel/setup.bash
  • 方法二:通过rospack命令:
$ cd ~/catkin_ws/
$ rospack profile

同上文,如果每次打开新的终端可以自动进行刷新配置,那是非常方便的,可以把 source ~/catkin_ws/devel/setup.bash 命令追加到 ~/.bashrc 文件中:

$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc

到此你的工作环境已经搭建完成。


ROS学习资源推荐:
[1] ROS Wiki
[2] 古月居博客 推荐阅读ROS探索总结专栏
[3] 机器人操作系统入门(MOOC课程)


记录学习所得,如有错误,欢迎指正。
如有侵权,联系删除。

你可能感兴趣的:(ROS学习笔记)