ROS安装与配置

目前ROS已经推出了多种版本,为了提供稳定的开发环境,ROS的每个版本都有一个推荐的Ubuntu版本。

下表是ROS1个别版本及其首选Ubuntu版本:

ROS1版本推荐Ubuntu系统版本
Noetic NinjemysUbuntu 20.04
MelodicUbuntu 18.04
KineticUbuntu 17.04
JadeUbuntu 16.04
IndigoUbuntu 15.04

因为我香橙派板子上安装的Ubuntu版本是20.04版本,所以选择安装Noetic版本的ROS,安装步骤如下:

ROS的安装

1. 添加ROS的软件源

安装ROS前,我们需要往软件源列表里添加软件源

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

上面是添加ROS官方的软件源,当然我们也可以添加国内的软件源,下面这个是中国科技大学的软件源

1
sudo sh -c 'echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

2. 配置公网密钥

1
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

3. 安装ROS

添加完ROS软件源后,先更新一下软件源列表,然后进行安装,这里我选择的是安装桌面完整版

1
2
3
4
# 更新软件源列表
sudo apt update
# 安装Kinetic版本的ROS,桌面完整版
sudo apt install ros-noetic-desktop-full

软件包有点大,所以安装需要一段时间。当然也可以选择其他版本的进行安装

桌面版:仅包含ROS的基础功能、机器人通用函数库、rqt工具箱和rviz可视化工具。

1
sudo apt install ros-noetic-desktop

基础版:ROS需求的”最小系统“,仅保留没有GUI的基础功能(核心功能包、构建工具和通信机制)

1
sudo apt install ros-noetic-ros-base

单个软件包安装:上述安装方式都不可能将ROS社区内的所有功能包都进行安装,所以使用这个方法可以根据需求安装独立的功能包

1
sudo apt install ros-noetic-PACKAGE

例如需要安装SLAM地图建模gmapping功能包时,可使用下面这一命令

1
sudo apt install ros-noetic-slam-gmapping

4. 安装rosinstall工具以及构建ros的相关依赖包

rosinstall 是一个用于安装和管理 ROS(Robot Operating System)软件包的工具。

1
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

ROS的配置

安装完成后,还需要将ROS环境进行配置,配置完成后才能使用ros命令

1. 初始化和更新rosdep

1
2
3
sudo rosdep init
# 下面这条命令不能使用root权限,否则会更新不成功
rosdep update

2. 设置环境变量

1
2
# 设置环境变量
source /opt/ros/kinetic/setup.bash

将设置环境变量命令添加到~/.bashrc中,这样每次打开新终端就可以自动设置

1
2
3
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
# 刷新环境变量
source ~/.bashrc

验证ROS的安装

安装配置完成后,先验证一下ROS是否安装成功

  1. 首先,启动ROS系统先启动一个节点管理器
1
roscore

Screenshot_2023-05-22_20-27-18

  1. 接着,启动调出一只海龟,打开一个新终端,注意刚刚启动节点管理器的终端不要关闭,,输入下面指令就会出现一只海龟,海龟出现即ROS系统已安装成功。
1
rosrun turtlesim turtlesim_node
  1. 打开键盘控制海龟程序,打开一个新终端,输入执行下面指令,即可使用上下左右键进行控制海龟的运动。
1
rosrun turtlesim turtle_teleop_key

image-20230524154046434