# ROS2基础教程 - 2 环境安装

下面以 ROS2 的 humble 版本为例,介绍 ROS2 的安装。

ROS1 只能在 ubuntu 系统上安装,ROS2全面支持三种平台:Ubuntu、MAC OS X、Windows10,下面在 Ubuntu22.04 上进行安装,如果要在 Ubuntu20.04 上安装,只能通过源码安装,比较麻烦,推荐 Ubuntu22.04。

# 2.1 安装ROS2

# 1 设置语言环境

先检查并设置UTF-8编码,防止出现编码问题:

locale    # 检查是否支持UTF-8
sudo apt update && sudo apt install locales
sudo update-locale LC_ALL=en.US.UTF-8 Lang=en_US.UTF-8 export LANG=en_US.UTF-8
locale    # 验证是否设置成功
1
2
3
4

# 2 添加源

sudo apt update && sudo apt install curl gnupg2 lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key  -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
1
2
3

执行第二个语句的时候可能会报错(没报错就跳过,进入步骤3):

解决方法如下:

访问 https://site.ip138.com/ ,填写 raw.githubusercontent.com 进行搜索,查看域名对应的 IP 地址信息:

或者,访问 https://www.ipaddress.com/ ,在顶部搜索栏输入 raw.githubusercontent.com 进行查询:

在搜索页面找到查询结果:

然后将查询到的 IP和域名 配置到系统的 hosts 文件中:

# 编辑hosts文件
sudo vim /etc/hosts
1
2

配置域名和IP的映射:

保存退出后,就可以正常使用了。

# 3 安装ROS2

sudo apt update
sudo apt upgrade
sudo apt install ros-humble-desktop
1
2
3

# 4 设置环境变量

source /opt/ros/humble/setup.bash
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
1
2

通过设置环境变量,每次打开终端,都可以让终端知道 ROS2 安装在哪里,就可以运行 ros2命令了。

此时 ROS2 已经安装完成,下面验证一下。

# 2.2 测试ROS安装

下面通过 ROS 中的内置经典示例,小海龟来测试一下 ROS2 是否能正常运行。

重新打开一个终端,执行:

ros2 run turtlesim turtlesim_node
1

上面的命令是启动的小海龟窗口节点。ROS2 中运行节点,使用 ros2 run 命令。


重新打开另一个终端,执行:

ros2 run turtlesim turtle_teleop_key
1

上面的命令是启动键盘控制节点,可以在该终端(焦点在终端,不是小海龟窗口),通过上下左右键,控制小海龟运动了。

至此,ROS2 已经安装成功!

# 2.3 开发工具

# 1 安装Visual Studio Code

开发 ROS 使用的编辑器一般为 Visual Studio Code,其中也提供了 ROS 开发的插件。

首先安装 VSCode,这个就不用过多介绍了,直接搜索 Visual Studio Code ,进入官网,找到对应自己系统和内核架构的安装包,安装即可。

Ubuntu系统,可以 右键 -> 安装,如果右键没有 安装,可以 右键 -> 选择其他程序打开,选择软件安装即可。

或者使用命令行安装:

sudo dpkg -i 安装包.deb
1

# 2 安装ROS插件

在VSCode插件中搜索插件,可以安装如下插件,帮助我们更好的开发。

VSCode默认是英文的,如果觉得使用不方便,可以安装中文语言插件。

搜索 chinese ,安装一下 VSCode 的汉化包:

安装完成,重启。


开发 ROS 主要使用 Python 和 C++ 语言,所以安装一下 Python 和 C++ 的语言插件。

搜索 Python ,并安装插件:

搜索 C++ ,并安装插件:


搜索 ROS,安装一下 ROS 插件:

搜索 cmake ,用于后面编译 C++代码:


搜索 msg ,找到 Msg Language Support,我们后期会编写 msg 类型的文件,这个可以进行高亮提示等。

搜索 urdf ,安装 URDF 插件,后面编写机器人模型文件,可以进行格式高亮提示等:

搜索 intellicode ,这个是人工智能代码提示的工具,可以帮助我们进行代码提示和补全,方便开发:

# 3 安装colcon构建工具

ROS1的编译命令为 catkin_make ,ROS2的编译命令为 colcon build,所以要安装 colcon 构建工具,用于在后面进行项目的编译构建。

sudo apt install python3-colcon-ros
1

# 4 安装pip工具

pip 工具是用来下载 Python 依赖的工具,使用如下命令安装 pip

sudo apt install python3-pip
1

安装完成,就可以使用 pip3 install 命令来安装 Python 的依赖了。

# 5 安装 rosdepc

rosdepc 是用来自动安装 ROS 功能包的依赖的,官方提供了 rosdep,但是国内很难访问,经常安装失败。所以国内的开发者基于 rosdep 做了一个 rosdepc,解决了网络访问的问题。

使用如下命令安装 rosdepc

sudo pip3 install rosdepc
1

安装完成,使用如下命令初始化和更新 rosdepc

sudo rosdepc init
sudo rosdepc update
1
2

如果我们已经有功能包了(后面再讲解),需要安装依赖,那么可以进入到工作空间目录下,执行如下命令,会自动下载功能包需要的依赖:

rosdepc install -i --from-path src --rosdistro humble -y
1

humble 表示当前的 ROS 版本。这种方式对于从网上获取到的功能包,安装所需的依赖,特别方便。