从零开始搭建ROS1开发环境:Ubuntu22.04到代码编写
发布时间: 2025-07-08 02:15:18 阅读量: 23 订阅数: 34 


box_bot-ubuntu22.04安装ros教程

# 1. ROS1开发环境概览与安装准备
在探讨如何在Ubuntu 22.04系统上安装ROS1之前,让我们先对ROS1开发环境有一个全面的了解。ROS(Robot Operating System)是专为机器人应用开发设计的一套开源元操作系统框架,它提供了一系列工具、库以及约定俗成的代码,用以帮助软件开发者构建复杂的应用程序。ROS1是该系列的第一代产品,广泛应用于研究、教育和产品开发。
本章的主要目标是为安装ROS1做好充分准备。我们会先对ROS1开发环境做一个概览,并且梳理出安装准备工作和步骤。
## 1.1 ROS1开发环境概览
首先,我们需要了解ROS1的基本架构,它主要分为三个层级:文件系统级(Filesystem Level)、计算图级(Computation Graph Level)和社区级(Community Level)。ROS1的文件系统提供了一系列约定的包结构和构建工具,计算图是通过节点、话题、服务和参数服务器等构建的实时通信系统,而社区级则是为ROS1用户提供各种资源和服务,比如ROS Answers、ROS Wiki等。
## 1.2 安装准备
为了顺利完成ROS1的安装,我们需要确保系统中安装了支持ROS1运行所需的依赖包和软件环境。这包括更新系统软件源列表以及安装特定的系统依赖包,比如`python-rosdep`和`python-catkin-tools`等。在后续的章节中,我们会详细地说明这些步骤,现在只需了解它们是安装过程中的关键部分。
通过阅读本章内容,你将为安装ROS1建立坚实的基础,并为深入理解后续章节打下良好基础。接下来,我们将详细探讨Ubuntu 22.04系统的ROS1安装过程。
# 2. Ubuntu22.04系统的ROS1安装
## 2.1 ROS1安装前的准备工作
### 2.1.1 更新系统软件源列表
在开始安装ROS1之前,确保你的Ubuntu系统软件源列表是最新的,这样可以确保安装过程中下载的都是最新的软件包。可以通过以下指令完成更新:
```bash
sudo apt-get update
```
这个命令将下载Ubuntu的软件包列表,这一步是必须的,因为你的系统会根据这个列表来检查哪些软件包有更新。对于ROS1来说,选择正确的软件源是非常关键的,因为某些软件包可能需要从特定的源中安装。
### 2.1.2 安装必要的系统依赖包
在安装ROS1之前,需要先安装一些系统依赖包。这些依赖包是运行ROS1和相关软件包的必要条件。可以通过下面的指令来安装这些依赖:
```bash
sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool build-essential
```
这里安装了几个关键的依赖:`rosdep` 用于系统依赖包的安装和管理;`rosinstall_generator` 和 `wstool` 用于创建和管理ROS工作空间;`build-essential` 则是编译C++和Python包的基础依赖。
## 2.2 安装ROS1版本的选择与配置
### 2.2.1 ROS1版本概述
ROS1有多个版本,每一个版本都针对不同版本的Ubuntu进行了优化。在Ubuntu22.04上,你应该选择ROS Noetic,它是ROS1的最后一个主要版本,专门针对Ubuntu 20.04 LTS设计,但同样兼容Ubuntu 22.04。
选择合适的ROS版本能够确保最佳的兼容性和稳定性。可以通过查看ROS官网获取不同版本的兼容性信息。
### 2.2.2 安装ROS1及其环境设置
安装ROS Noetic版本的过程涉及几个步骤。首先,需要添加ROS仓库到你的系统源列表中:
```bash
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
```
然后,添加ROS的密钥,以确保软件包的安全性:
```bash
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
```
更新软件包索引,并安装ROS:
```bash
sudo apt-get update
sudo apt-get install ros-noetic-desktop-full
```
安装完成后,需要初始化rosdep,以便能够安装系统依赖包:
```bash
sudo rosdep init
rosdep update
```
最后,添加环境变量到你的bash shell,这样ROS命令就可以在任何终端中使用了:
```bash
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
```
## 2.3 验证ROS1安装的有效性
### 2.3.1 ROS1环境变量验证
验证ROS环境变量已经被正确添加到你的shell配置中,可以通过以下命令来检查:
```bash
printenv | grep ROS
```
如果一切正常,你应该能够看到像 `ROS_ROOT` 和 `ROS_MASTER_URI` 这样的环境变量。
### 2.3.2 运行ROS1小示例程序
为了进一步验证ROS1已经正确安装,可以运行一个简单的roscore和一个发布者节点。首先打开一个新的终端,输入以下命令启动roscore:
```bash
roscore
```
这将启动ROS的核心部分,包括参数服务器、消息管理器和命名服务。然后,在另一个终端中运行一个简单的话题发布者:
```bash
rosrun turtlesim turtlesim_node
```
当你运行了`turtlesim_node`,你应该会看到一个简单的模拟界面,这表示ROS1环境已经正确安装并且运行良好。
通过本章节的介绍,读者应该已经对如何在Ubuntu 22.04上安装ROS Noetic有了基本的了解。从安装前的准备工作到ROS1安装流程,以及如何验证安装的成功,这些步骤构成了ROS开发环境的基础。随着您继续学习ROS,这些基础知识将成为您深入探索和掌握ROS能力的坚实基石。
# 3. ROS1工作空间的创建与配置
## 3.1 ROS1工作空间的概念和结构
### 3.1.1 理解ROS1工作空间的重要性
在ROS1(Robot Operating System 1)中,工作空间是存放项目源代码、编译生成的目标文件及安装生成的文件的顶层目录结构。通过理解和掌握ROS1工作空间的结构与构建方法,可以帮助开发者高效地组织和管理多个软件包(packages)及其依赖关系。
ROS1工作空间由三个主要部分组成:
- **src**: 此目录包含ROS1软件包的源代码。
- **devel**: 这个目录用于存放生成的目标文件,如可执行文件和库文件。
- **install**: 安装目录,用于存放最终编译安装后的软件包。
理解这些结构有助于我们更好地控制编译过程,以及后续的代码部署与分发。工作空间的创建和配置是任何ROS1项目的基础步骤。
### 3.1.2 创建和构建ROS1工作空间
创建一个新的ROS1工作空间可以通过使用`catkin`工具链来完成。以下是详细步骤:
1. 创建工作空间的顶级目录并进入该目录:
```bash
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
```
2. 使用`catkin_make`初始化工作空间,这会生成`devel`和`build`目录:
```bash
catkin_make
```
3. 设置环境变量,使得ROS1能够识别我们的工作空间:
```bash
source devel/setup.bash
```
4. 如果需要将工作空间永久添加到环境变量中,可以在`.bashrc`文件中添加以下命令:
```bash
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
```
完成以上步骤之后,就创建并配置好了ROS1工作空间。你可以
0
0
相关推荐








