Ubuntu 的 ROS 操作系统安装与测试
引言
-
机器人操作系统(ROS, Robot Operating System)是一个用于开发机器人应用的开源框架,它提供了一系列功能丰富的库和工具,能够帮助开发者构建和控制机器人。
-
当前,ROS1的最新版本为Noetic Ninjemys,专为Ubuntu 20.04设计,适合在Linux环境中实现机器人控制、感知和智能算法等功能。
-
本文将介绍ROS1 最新版本 Noetic的安装步骤及其基本测试方法,以帮助读者快速上手这一广泛应用于机器人领域的操作系统。
学习目标
-
本次学习的目标是通过在Ubuntu系统上安装和配置ROS Noetic Ninjemys操作系统,为后续的机器人开发和应用打下基础。
-
通过本次学习,读者将掌握ROS Noetic的安装流程、环境配置及基础操作,使其能够在Ubuntu上顺利使用ROS进行机器人控制、感知和算法开发。
-
此外,学习如何创建和管理ROS工作空间、安装必要的依赖包、配置环境变量等,以确保系统能够支持各种机器人开发任务,为后续的算法实现和仿真工作提供稳定的基础。
-
安装与自己Ubuntu版本对应的ROS版本,本文ROS Noetic Ninjemys 主要支持 Ubuntu 20.04 (Focal Fossa)。安装前请详细参考 Ubuntu版本、ROS版本与Python 版本之间的关系。
学习内容
1 配置ROS Noetic的安装源
ROS官方提供了Noetic版本的软件包,适用于多种Ubuntu平台,用户无需从源码构建,直接安装即可使用。以下是安装过程:
1.1 配置Ubuntu仓库
在安装ROS之前,需要将Ubuntu软件仓库设置为允许“restricted”、“universe”和“multiverse”。具体操作请参考 Ubuntu官方指南。
1.2 设置sources.list。
配置系统以接受ROS软件包:
# 设置ROS的软件源列表
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
1.3 设置密钥
安装curl(如果未安装),并添加ROS仓库的密钥:
# 安装curl工具
sudo apt install curl# 添加ROS仓库的密钥
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
2 安装ROS Noetic
2.1 确保包索引为最新
# 更新包索引
sudo apt update
2.2 根据需求选择安装的ROS版本
2.2.1 桌面完整版安装(推荐):包括桌面版所有内容,外加2D/3D仿真器和感知包。
# 安装完整版,包含核心工具和2D/3D仿真器(推荐)
sudo apt install ros-noetic-desktop-full
2.2.2 桌面版安装:包括ROS-Base所有内容,外加rqt和rviz等工具。
# 或者只安装桌面版,包含基础工具如rqt和rviz
sudo apt install ros-noetic-desktop
2.2.3 基础版安装(精简版):包含ROS打包、构建和通信库,不包含GUI工具。
# 安装ROS-Base版本,只包含最基础的ROS功能
sudo apt install ros-noetic-ros-base
2.3 如需安装特定包
# 如需安装特定包(例如slam-gmapping)
sudo apt install ros-noetic-slam-gmapping
3 环境设置
3.1 环境配置
每次在终端中使用ROS时,都需要source环境配置文件:
# source环境配置文件
source /opt/ros/noetic/setup.bash
3.2 简化操作
为了简化操作,可以将其添加到.bashrc文件中,使其在每次新终端启动时自动source:
# 在.bashrc中加入ROS的环境变量设置,使其每次启动终端时自动加载
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc# 更新.bashrc文件使其生效
source ~/.bashrc
4 安装构建包的依赖
4.1 安装工具
为了创建和管理自己的ROS工作空间,需要安装一些工具:
# 安装构建所需的工具
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
4.2 初始化rosdep
初始化rosdep以便安装系统依赖:
# 初始化rosdep并更新
sudo rosdep init
rosdep update
5 验证安装
安装完成后,验证安装的ROS系统是否可以正常使用。
5.1 检查ROS版本
# 检查ROS版本
rosversion -d
输出安装的ROS版本,本文安装为 noetic,如果输出正确版本说明ROS已经成功安装。
5.2 检查ROS环境
# 检查ROS环境
echo $ROS_PACKAGE_PATH
- 如果ROS环境配置正确,会显示相关路径。
- 如果没有输出,可能需要重新执行 source /opt/ros/noetic/setup.bash 或将其添加到 ~/.bashrc 文件中。
5.3 运行ROS核心
# 运行ROS核心
roscore
如果ROS核心启动成功,终端会显示类似以下的信息,表示ROS系统已启动。按 Ctrl+C 停止。
... logging to /home/jack/.ros/log/...
started roslaunch server http://172.0.0.1:11311/
ros_comm version 1.15.10
5.4 运行ROS示例节点(验证ROS通信机制)
ROS提供了一些示例节点,可以用来验证安装:
# 接收消息
rosrun rospy_tutorials listener.py
然后在另一个终端运行:
# 发布消息
rosrun rospy_tutorials talker.py
若两个节点能够正常通信并在终端显示传输的消息,则说明ROS 2已经正确安装并配置完毕。
小结
- 在本次学习中,我们详细介绍了如何在Ubuntu上安装ROS Noetic并进行环境配置,以便用户能够顺利搭建起支持机器人开发的工作环境。
- 主要步骤包括配置Ubuntu仓库、设置ROS软件源、安装所需密钥、选择合适的ROS版本(如desktop-full或ros-base)进行安装、环境变量配置以及安装构建包依赖。
- 最后通过验证安装确保ROS配置成功,为后续的机器人控制和算法开发奠定基础。
欢迎大家评论留言!!!
友情提示:
- 专栏:Turtlebot3 PC端ROS环境搭建与仿真
- 下一节:Ubuntu 的 ROS 2 操作系统安装与测试