术语表

Glossary of terms used throughout this documentation:

API

An API, or Application Programming Interface, is an interface that is provided by an “application”, which in this case is usually a shared library or other language appropriate shared resource. APIs are made up of files that define a contract between the software using the interface and the software providing the interface. These files typically manifest as header files in C and C++ and as Python files in Python. In either case it is important that APIs are grouped and described in documentation and that they are declared as either public or private. Public interfaces are subject to change rules and changes to the public interfaces prompt a new version number of the software that provides them.

client_library

A client library is an API that provides access to the ROS graph using primitive middleware concepts like Topics, Services, and Actions.

package

A single unit of software, including source code, build system files, documentation, tests, and other associated resources.

REP

ROS Enhancement Proposal. A document that describes an enhancement, standardization, or convention for the ROS community. The associated REP approval process allows the community to iterate on a proposal until some consensus has been made, at which point it can be ratified and implemented, which then becomes documentation. All REPs are viewable from the REP index.

VCS

Version Control System, such as CVS, SVN, git, mercurial, etc…

rclcpp

The C++ specific Client Library for ROS. This includes any middleware related APIs as well as the related message generation of C++ data structures based on interface definitions like Messages, Services, and Actions.

repository

A collection of packages usually managed using a VCS like git or mercurial and usually hosted on a site like GitHub or BitBucket. In the context of this document, repositories usually contain one or more packages of one type or another.

翻译对照表

broadcaster

广播,广播器。

build

构建, 在 ROS 2 中,构建是指将源代码转换为可执行文件的过程。构建过程通常包括编译、链接和安装等。由于一些计算机学科的历史发展原因,或者在其他领域已经被广泛使用的用法的影响下,在交流中我们也有可能直接将这个过程称为编译。

bus

总线。

call

调用。当表达 call a service 时,意为调用一个服务。

callback group

回调函数组,回调组。

command-line

命令行。

concepts

概念。

deadlock

死锁。

entry point

入口点。在 ROS 2 中,指的是一个程序的入口,通常是一个 Python 程序的主函数。

event handler

事件处理器。

example

示例,样例,例子。

executor

执行器。

field

字段。

frame

当表述有关坐标变换时,frame 通常指的是坐标系。一般会出现在和 tf2 有关的文档中。

include

包含,引用。

launch file

启动文件。 在 ROS 2 中特指那些可以用来启动多个节点的文件,这些文件可以用 Python、XML 或 YAML 编写。

listener

监听器。

node

节点。

remap

重映射。在 ROS 2 多数语境中,重映射是指将一个节点的某个话题或服务的名称映射到另一个节点的话题或服务的名称。这样可以在不修改源代码的情况下改变节点之间的通信方式。

request

请求。

response

响应,回复。

reuse

复用。把一个东西用在多个地方、场景。

service

服务。

setup file

配置文件。当表述为 source setup file 时,特指需要被 source 的那些诸如 setup.bash、setup.sh、setup.bat 之类的用来配置 ROS 2 环境的文件。

source

执行、运行,这是一个Linux指令,意味着运行一个文件。在 ROS2 中,这个指令通常用于运行配置工作空间的脚本。

spin

运行。这个单词本身有旋转的意思。在 ROS 2 中,或者类似的系统中,spin 是指让某个类似 executor 的东西轮流执行其中的任务,这个过程通常是一个无限循环,像是转动起一个填满任务的轮一样,所以叫 spin。

strong-typed

类型严格。也叫强类型。

subscription

订阅。

substitution

替换,可被替换的变量,可替换变量。

terminal

终端。

timer

定时器。

workspace

工作空间, ROS 2 中的工作空间是一个包含需要使用的 ROS 2 包的目录。工作空间中的包可以被构建、安装和运行。它的存在是为了方便用户组织和管理 ROS 2 包,尤其是在一台设备上拥有多个ROS版本的包或者多个不用依赖的项目时。