# 简介

本ROS教程整理自`ROS Wiki`，采用`ROS indigo`版本，并使用catkin编译。

书籍地址 <https://songapore.gitbook.io/ros-tutorials>

欢迎大家留言交流！

## 目录

* 1.安装并配置ROS环境

本教程详细描述了ROS的安装与环境配置。

* 2.ROS文件系统介绍

本教程介绍ROS文件系统概念，包括命令行工具roscd、rosls和rospack的使用。

* 3.创建ROS程序包

本教程介绍如何使用roscreate-pkg或catkin创建一个新程序包,并使用rospack查看程序包的依赖关系。

* 4.编译ROS程序包

本教程介绍ROS程序包的编译方法

* 5.理解 ROS节点

本教程主要介绍 ROS 图（graph）概念 并讨论roscore、rosnode和 rosrun 命令行工具的使用。

* 6.理解ROS话题

本教程介绍ROS话题（topics）以及如何使用rostopic 和 rxplot 命令行工具。

* 7.理解ROS服务和参数

本教程介绍了ROS 服务和参数的知识，以及命令行工具rosservice 和 rosparam的使用方法。

* 8.使用 rqt\_console 和 roslaunch

本教程介绍如何使用rqt\_console和rqt\_logger\_level进行调试，以及如何使用roslaunch同时运行多个节点。早期版本中的rqt工具并不完善，因此，如果你使用的是“ROS fuerte”或更早期的版本，请同时参考这个页面学习使用老版本的“rx”工具。

* 9.使用rosed编辑ROS中的文件

本教程将展示如何使用rosed来简化编辑过程。

* 10.创建ROS消息和ROS服务

本教程详细介绍如何创建并编译ROS消息和服务，以及rosmsg, rossrv和roscp命令行工具的使用。

* 11.编写简单的消息发布器和订阅器 (C++)

本教程将介绍如何用 C++ 编写发布器节点和订阅器节点。

* 12.写一个简单的消息发布器和订阅器 (Python)

本教程将通过Python编写一个发布器节点和订阅器节点。

* 13.测试消息发布器和订阅器

本教程将测试上一教程所写的消息发布器和订阅器。

* 14.编写简单的服务器和客户端 (C++)

本教程介绍如何用 C++ 编写服务器 Service 和客户端 Client 节点。

* 15.编写简单的Service和Client (Python)

本教程介绍如何用Python编写Service和Client节点。

* 16.测试简单的Service和Client

本教程将测试之前所写的Service和Client。

* 17.录制与回放数据

本教程将教你如何将ROS系统运行过程中的数据录制到一个.bag文件中，然后通过回放数据来重现相似的运行过程。

* 18.roswtf入门

本教程介绍了roswtf工具的基本使用方法。

* 19.探索ROS维基

本教程介绍了ROS维基(wiki.ros.org)的组织结构以及使用方法。同时讲解了如何才能从ROS维基中找到你需要的信息。

* 20.接下来做什么？

本教程将讨论获取更多知识的途径，以帮助你更好地使用ROS搭建真实或虚拟机器人。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://songapore.gitbook.io/ros-tutorials/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
