每日壁纸

ROS 2 英文术语手册:全称、读法与含义

Published on
/23 mins read/---

写 ROS 2 代码的时候,中文教程通常会把概念讲清楚,但术语的英文读法很少系统整理。结果就是:文档看得懂,一开口就卡住——QoS 读成「Q-OS」,CAN 一个字母一个字母念,colcon 念成「扣尔康」,开会时对方愣一下才反应过来。

这篇文章想解决三个问题:

  1. 这个词的全称是什么;
  2. 英语里怎么读(IPA + 中文近似,仅辅助);
  3. 在 ROS 2 里它指什么、用在哪。

读音说明:IPA 以美式发音为主;中文谐音只帮助建立第一印象,不追求精确。技术缩写没有「官方音标」,社区里存在多种读法,文中会标出常见变体。


一、先搞清缩写的三种读法

英语技术缩写大致分三类,读错往往是因为把类型搞混了。

类型规则例子
逐字母读把每个字母念出来ROS = R-O-S,DDS = D-D-S,QoS = Q-O-S
按单词读当成一个普通英文词node、topic、LiDAR、SLAM、Gazebo
混合读字母 + 单词,或字母 + 数字ROS 2 = ROS two,Nav2 = Nav two,RViz = R-viz

几个最容易踩的坑:

  • ROS 读 /ˌɑːr oʊ ˈes/(字母 R-O-S),不是「roz」。
  • ROS 2 读「ROS two」,不是「ROS squared」。
  • CAN(控制器局域网)在工程语境读 /kæn/(近似「坎」),不是 C-A-N。
  • QoS 读字母 Q-O-S /ˌkjuː oʊ ˈes/,不是「Q-OS」。
  • I2C 常见两种读法:/ˌaɪ skweəd ˈsiː/(I-squared-C)或 /ˌaɪ tuː ˈsiː/(I-two-C)。
  • SQLite 读 /ˌes kjuː ˈlaɪt/(S-Q-lite),不是「sequel-lite」。
  • CMake 读 /ˈsiː meɪk/(C-make),不是「C-M-A-K-E」。

ROS 2 发行版代号

ROS 2 的每个版本都有一个英文代号,读法比缩写更冷门。

代号读法说明
Foxy Fitzroy/ˈfɑːksi fɪtsˈrɔɪ/,福克西-菲茨罗伊2020
Galactic Geochelone/ɡəˈlæktɪk ˌdʒiːoʊkəˈloʊni/2021
Humble Hawksbill/ˈhʌmbl ˈhɔːksbɪl/,汉博-霍克斯比尔2022,LTS
Iron Irwini/ˈaɪərn ɜːrˈwiːni/,艾恩-厄维尼2023,MCAP 成为默认 bag 格式
Jazzy Jalisco/ˈdʒæzi hɑːˈliːskoʊ/,贾齐-哈利斯科2024,LTS
Kilted Kaiju/ˈkɪltɪd ˈkaɪdʒuː/,基尔提德-凯朱2025
Rolling/ˈroʊlɪŋ/,罗灵滚动开发版,不是固定代号

LTS = Long Term Support,长期支持版;面试里说 "Humble" 时读「汉博」,不要逐字母念。

重音容易放错的词

词重音位置读法
topic第一音节/ˈtɑːpɪk/
parameter第二音节/pəˈræmɪtər/
executor第二音节/ɪɡˈzekjətər/
callback第一音节/ˈkɔːlbæk/
namespace第一音节/ˈneɪmspeɪs/
quaternion第二音节/kwəˈtɜːrniən/
odometry第二音节/oʊˈdɑːmətri/
calibration第三音节/ˌkælɪˈbreɪʃn/
trajectory第二音节/trəˈdʒektəri/

二、ROS 2 核心概念

这一组是日常写代码、看文档出现频率最高的词。

术语全称 / 展开读法含义与场景
ROS 2Robot Operating System 2/ˌɑːr oʊ ˈes tuː/,R-O-S two机器人中间件与工具集合;不是操作系统内核
node—/noʊd/,诺德最小计算单元;一个进程里可以有多个 node
topic—/ˈtɑːpɪk/,塔皮克异步发布/订阅通道,适合连续数据流(图像、里程计)
service—/ˈsɜːrvɪs/,瑟维斯同步请求—响应,适合短查询(读参数、触发一次标定)
action—/ˈækʃn/,阿克申长任务接口,带 goal / feedback / result / cancel
message—/ˈmesɪdʒ/,梅西吉话题上传输的数据结构,.msg 定义
interface—/ˈɪntərfeɪs/,因特菲斯msg / srv / action 三类接口的统称
parameter—/pəˈræmɪtər/,帕拉米特节点运行期可读写的配置项,常来自 YAML
launch—/lɔːntʃ/,朗奇启动文件,负责起节点、传参、编排
package—/ˈpækɪdʒ/,帕基吉ROS 功能包,构建与分发的基本单位
workspace—/ˈwɜːrkspeɪs/,沃克斯佩斯工作空间,通常含 src/ build/ install/ log/
namespace—/ˈneɪmspeɪs/,内姆斯佩斯命名空间,用来隔离同名话题/节点
remapremapping/ˌriːˈmæp/,瑞迈普运行时把话题/服务名换掉,常用于多机、复用驱动
executor—/ɪɡˈzekjətər/,伊格泽丘特回调调度器,决定哪些回调何时执行
callback—/ˈkɔːlbæk/,考尔拜克回调函数;订阅、服务、定时器都靠它触发
callback group—/ˈkɔːlbæk ɡruːp/回调分组,控制回调之间能否并发
spin—/spɪn/,斯平让 executor 持续处理回调;rclcpp::spin、rclpy.spin
timer—/ˈtaɪmər/,泰默定时器,按周期触发回调
lifecyclemanaged node/ˈlaɪfsaɪkl/,莱夫赛克生命周期节点,按状态机有序启动/关闭
component—/kəmˈpoʊnənt/,康波嫩特可被加载进容器的节点形式,用于同进程组合
container—/kənˈteɪnər/,康泰纳承载多个 component 的进程
composition—/ˌkɑːmpəˈzɪʃn/,康波齐申把多个节点组合进同一进程的机制
intra-processintra-process communication/ˌɪntrəˈprɑːses/,因特拉-普罗塞斯同进程内发布/订阅,减少序列化与拷贝
zero-copy—/ˈzɪroʊ ˈkɑːpi/,零拷贝通过共享内存/loan 机制避免数据复制
rclcppROS Client Library for C++/ˌɑːr siː ˈel siː piː piː/,R-C-L-C-P-PC++ 客户端库
rclpyROS Client Library for Python/ˌɑːr siː ˈel piː waɪ/,R-C-L-P-YPython 客户端库
rclROS Client Library/ˌɑːr siː ˈel/,R-C-Lrclcpp/rclpy 之下的公共 C 层
rmwROS Middleware/ˌɑːr em ˈdʌbəljuː/,R-M-W中间件抽象层,向下对接 DDS
middleware—/ˈmɪdlwer/,米德尔韦尔中间件;ROS 2 里通常指 DDS 实现

三、DDS、通信与 QoS

ROS 2 的通信底座是 DDS,QoS 是面试和排障的高频区。

术语全称 / 展开读法含义与场景
DDSData Distribution Service/ˌdiː diː ˈes/,D-D-SOMG 的发布/订阅中间件标准,ROS 2 的通信底座
RTPSReal-Time Publish-Subscribe/ˌɑːr tiː piː ˈes/,R-T-P-SDDS 的线协议,负责发现与数据传输
QoSQuality of Service/ˌkjuː oʊ ˈes/,Q-O-S一组通信策略:可靠性、持久性、历史深度等
reliability—/rɪˌlaɪəˈbɪləti/,瑞莱阿比利提可靠性策略:RELIABLE 或 BEST_EFFORT
best effort—/ˌbest ˈefərt/,贝斯特-埃弗特尽力而为,允许丢包;传感器流常用
reliable—/rɪˈlaɪəbl/,瑞莱阿波可靠传输,必要时重传;控制指令常用
durability—/ˌdʊrəˈbɪləti/,杜拉比利提持久性:VOLATILE / TRANSIENT_LOCAL
volatile—/ˈvɑːlətl/,沃拉泰尔不补发历史,订阅者只收上线后的数据(默认)
transient local—/ˈtrænʃnt ˈloʊkl/,传申特-楼口为后来者保留最近若干条,类似「latching」
history—/ˈhɪstri/,黑斯特里历史策略:KEEP_LAST 或 KEEP_ALL
depth—/depθ/,德普斯KEEP_LAST 保留的样本数
deadline—/ˈdedlaɪn/,戴德莱恩期望的更新周期,超时可用于告警
lifespan—/ˈlaɪfspæn/,莱夫斯潘消息有效期,过期数据可被丢弃
liveliness—/ˈlaɪvlinəs/,莱夫利奈斯存活探测策略
lease duration—/liːs dʊˈreɪʃn/,利斯-杜瑞申租约时长,配合 liveliness 使用
partition—/pɑːrˈtɪʃn/,帕提申DDS 分区,逻辑隔离通信
domain ID—/dəˈmeɪn aɪˈdiː/,多美恩-艾迪ROS_DOMAIN_ID,同域才互相发现,取值 0–101
discovery—/dɪˈskʌvəri/,迪斯卡沃瑞节点自动发现机制
multicast—/ˈmʌltikæst/,马尔提凯斯特组播,DDS 默认发现方式
shared memory—/ʃerd ˈmeməri/,谢尔德-梅莫瑞共享内存传输,减少大消息拷贝
Fast DDSeProsima Fast DDS/fæst diː diː ˈes/常用 DDS 实现之一,Humble/Jazzy 默认常见
Cyclone DDSEclipse Cyclone DDS/ˈsaɪkloʊn diː diː ˈes/,赛克龙另一个常用 DDS 实现
ros2 daemon—/ˈdiːmən/,迪蒙命令行工具的缓存守护进程,不是通信中心

面试常问:发布端 RELIABLE、订阅端 BEST_EFFORT 兼容吗?答案见后文「口头表达」里的例子。


四、TF2、坐标与 URDF

机器人调试绕不开坐标变换,这一组词几乎每天都会遇到。

术语全称 / 展开读法含义与场景
TF2Transform Library 2/ˌtiː ˈef tuː/,T-F-two坐标变换库;维护带时间戳的变换树
transform—/trænsˈfɔːrm/,传斯佛姆两个坐标系之间的位姿变换
framecoordinate frame/freɪm/,弗雷姆坐标系,如 base_link、camera_link
static transform—/ˈstætɪk trænsˈfɔːrm/固定不变的变换,发到 /tf_static
quaternion—/kwəˈtɜːrniən/,夸特尼恩四元数,表示旋转,避免万向锁
Euler angles—/ˈɔɪlər ˈæŋɡlz/,欧拉-安格斯欧拉角(roll / pitch / yaw)
roll / pitch / yaw—/roʊl/、/pɪtʃ/、/jɔː/横滚 / 俯仰 / 偏航
gimbal lock—/ˈɡɪmbl lɑːk/,金博尔-洛克万向锁,欧拉角的奇异问题
odometry—/oʊˈdɑːmətri/,欧多梅特里里程计,局部连续但会漂移
map—/mæp/,迈普全局地图坐标系
odomodometry frame/ˈoʊdɑːm/,欧多姆里程计坐标系
base_link—/beɪs lɪŋk/,贝斯-林克机器人本体基准坐标系
base_footprint—/beɪs ˈfʊtprɪnt/,贝斯-富特普林特地面投影坐标系
optical frame—/ˈɑːptɪkl freɪm/相机光轴坐标系:z 朝前、x 右、y 下(REP-103)
URDFUnified Robot Description Format/ˌjuː ɑːr diː ˈef/,U-R-D-FXML 机器人描述格式
xacroXML macro/ˈzækroʊ/,扎克柔(社区读音有差异)URDF 的宏语言,用于参数化
link—/lɪŋk/,林克刚体连杆
joint—/dʒɔɪnt/,乔因特关节,连接两个 link
revolute—/ˈrevəluːt/,瑞沃卢特旋转关节(有角度限位)
prismatic—/prɪzˈmætɪk/,普里兹马提克移动关节
continuous—/kənˈtɪnjuəs/,康提纽厄斯无限旋转关节
fixed—/fɪkst/,菲克斯特固定关节
robot_state_publisher—/ˈroʊbɑːt steɪt ˈpʌblɪʃər/读取 URDF 并发布 TF 的节点
joint_state_publisher—/dʒɔɪnt steɪt ˈpʌblɪʃər/发布关节状态的工具/节点

五、构建系统与工程链

从 ros2 pkg create 到 colcon build,这一组是工程化面试的常客。

术语全称 / 展开读法含义与场景
CMake—/ˈsiː meɪk/,C-make跨平台构建工具
CMakeLists.txt—「C-make lists」CMake 的构建脚本
package.xml—「package X-M-L」包元信息与依赖声明
ament—/ˈeɪmənt/,埃门特(也见 /ˈæmənt/)ROS 2 的构建/测试基础设施
ament_cmake—/ˈeɪmənt ˈsiː meɪk/C++ 包的构建类型
ament_python—/ˈeɪmənt ˈpaɪθɑːn/Python 包的构建类型
colconcollective construction/ˈkɑːlkɑːn/,卡尔康(col-con)ROS 2 工作空间构建工具
build / install / log—/bɪld/、/ɪnˈstɔːl/、/lɔːɡ/colcon 生成的三个目录
overlay—/ˈoʊvərleɪ/,欧弗莱叠加工作空间,覆盖下层同名包
underlay—/ˈʌndərleɪ/,安德莱被叠加的基础环境
source—/sɔːrs/,索尔斯source install/setup.bash 把环境变量加载进 shell
symlink-install—/ˈsɪmlɪŋk ɪnˈstɔːl/符号链接安装,改 Python 文件不用重编
rosdepROS dependency/ˈrɑːs dep/,罗斯-戴普按 package.xml 自动装系统依赖
vcsversion control system/ˌviː siː ˈes/,V-C-S批量拉取多个仓库的工具(vcs import)
dependency—/dɪˈpendənsi/,迪彭登西依赖;package.xml 里声明
workspace—/ˈwɜːrkspeɪs/工作空间根目录

六、执行模型、并发与实时性

节点里为什么卡、为什么死锁,往往就出在这一组词上。

术语全称 / 展开读法含义与场景
single-threaded executor—/ˈsɪŋɡl ˈθredɪd/单线程执行器,回调串行
multi-threaded executor—/ˈmʌlti ˈθredɪd/多线程执行器,回调可并发
mutually exclusive—/ˈmjuːtʃuəli ɪkˈskluːsɪv/,缪丘厄利-伊克斯克鲁西夫互斥组:同组回调同一时刻只跑一个
reentrant—/riːˈentrənt/,瑞恩特兰特可重入组:同组回调可并发
priority—/praɪˈɔːrəti/,普莱奥瑞提线程/任务优先级
real-time—/ˌriːəl ˈtaɪm/实时;关注最坏延迟而非平均值
PREEMPT_RT—/ˌpriːˈempt ˌɑːr ˈtiː/,普瑞恩普特-R-TLinux 实时补丁
jitter—/ˈdʒɪtər/,吉特抖动,延迟的波动
latency—/ˈleɪtənsi/,雷腾西延迟
WCETWorst-Case Execution Time/ˌdʌbəljuː siː iː ˈtiː/最坏执行时间

七、导航、控制、仿真与工具链

术语全称 / 展开读法含义与场景
Nav2Navigation 2/næv tuː/,纳夫-twoROS 2 导航栈
AMCLAdaptive Monte Carlo Localization/ˌeɪ em siː ˈel/,A-M-C-L自适应蒙特卡洛定位
costmapcost map/ˈkɔːstmæp/,考斯特迈普代价地图,规划/控制用
planner—/ˈplænər/,普兰纳规划器(全局/局部)
controller—/kənˈtroʊlər/,康绰勒控制器,跟踪路径输出速度指令
behavior tree—/bɪˈheɪvjər triː/,比黑维耶-特里行为树,Nav2 任务编排
lifecycle manager—/ˈlaɪfsaɪkl ˈmænɪdʒər/生命周期管理器,按序激活 Nav2 节点
SLAMSimultaneous Localization and Mapping/slæm/,斯兰姆同时定位与建图
localization—/ˌloʊkələˈzeɪʃn/,楼卡莱泽申定位
mapping—/ˈmæpɪŋ/,迈平建图
loop closure—/luːp ˈkloʊʒər/,卢普-克楼热回环检测,修正累积漂移
MoveIt 2—/ˈmuːv ɪt tuː/,木夫-伊特-two机械臂运动规划框架
OMPLOpen Motion Planning Library/ˈɑːmpəl/,奥姆普尔(O-M-P-L 也可)采样规划库,MoveIt 默认后端
IK / FKInverse / Forward Kinematics/ˌaɪ ˈkeɪ/、/ˌef ˈkeɪ/逆/正运动学
ros2_control—/ˈrɑːs tuː kənˈtroʊl/硬件抽象与控制框架
hardware interface—/ˈhɑːrdwer ˈɪntərfeɪs/硬件接口,read/write 与控制器交互
controller_manager—/kənˈtroʊlər ˈmænɪdʒər/控制器管理器,按周期调 update
JTCJoint Trajectory Controller/ˌdʒeɪ tiː ˈsiː/关节轨迹控制器,常见于机械臂
Gazebo—/ɡəˈziːboʊ/,格贼博机器人仿真器(经典版)
gzGazebo(新一代)/ˌdʒiː ˈziː/,G-ZGazebo 新版本命令/平台
Isaac SimNVIDIA Isaac Sim/ˈaɪzək sɪm/,艾萨克-西姆NVIDIA 机器人仿真平台
RVizROS Visualization/ˌɑːr ˈvɪz/,R-viz3D 可视化工具
rqtROS Qt/ˌɑːr kjuː ˈtiː/,R-Q-TQt 图形化工具集合
rosbag2ROS bag 2/ˈrɑːsbæɡ tuː/,罗斯拜格-two录包/回放工具
MCAP—/ˈem kæp/,M-cap一种 bag 存储格式,Iron 起默认(Humble 仍为 SQLite)
SQLite—/ˌes kjuː ˈlaɪt/,S-Q-lite传统 bag 存储格式(Humble 默认)

八、感知与硬件相关

做整机、嵌入式、视觉的同学会频繁碰到。

术语全称 / 展开读法含义与场景
LiDARLight Detection and Ranging/ˈlaɪdɑːr/,莱达激光雷达
IMUInertial Measurement Unit/ˌaɪ em ˈjuː/,I-M-U惯性测量单元
encoder—/ɪnˈkoʊdər/,因扣德编码器,测电机位置/速度
point cloud—/pɔɪnt klaʊd/,波因特-克劳德点云
PCLPoint Cloud Library/ˌpiː siː ˈel/,P-C-L点云库
OpenCVOpen Computer Vision/ˈoʊpən siː ˈviː/,欧盆-C-V计算机视觉库
intrinsic—/ɪnˈtrɪnzɪk/,因川齐克内参(焦距、主点、畸变)
extrinsic—/ekˈstrɪnzɪk/,埃克川齐克外参(相机相对其他坐标系的位姿)
hand-eye calibration—/hænd aɪ ˌkælɪˈbreɪʃn/手眼标定
CANController Area Network/kæn/,坎控制器局域网总线
CANopen—/kæn ˈoʊpən/,坎-欧盆基于 CAN 的应用层协议
Modbus—/ˈmoʊdbʌs/,莫德巴斯工业串行/以太网协议
EtherCATEthernet for Control Automation Technology/ˈiːθərkæt/,伊瑟凯特实时工业以太网
UARTUniversal Asynchronous Receiver-Transmitter/ˈjuː ɑːrt/,尤-阿特通用异步串口
SPISerial Peripheral Interface/ˌes piː ˈaɪ/,S-P-I串行外设接口
I2CInter-Integrated Circuit/ˌaɪ skweəd ˈsiː/ 或 /ˌaɪ tuː ˈsiː/两线制总线
PWMPulse Width Modulation/ˌpiː dʌbəljuː ˈem/脉宽调制,常用于电机/舵机
servo—/ˈsɜːrvoʊ/,瑟沃伺服
actuator—/ˈæktʃueɪtər/,阿克丘埃特执行器
teleopteleoperation/ˈtelɪɑːp/,泰利奥普遥操作
sim2realsimulation to reality/sɪm tə riːl/,西姆-图-瑞尔仿真到真机迁移
domain randomization—/dəˈmeɪn ˌrændəməˈzeɪʃn/域随机化

九、最容易读错的 15 个词

词错误读法推荐读法
ROS「roz」R-O-S /ˌɑːr oʊ ˈes/
ROS 2「ROS squared」ROS two
QoS「Q-OS」Q-O-S /ˌkjuː oʊ ˈes/
CANC-A-N/kæn/(坎)
colcon「扣尔康」/ˈkɑːlkɑːn/(col-con)
ament「阿门特」/ˈeɪmənt/(埃门特),社区也有 /ˈæmənt/
Euler「优拉」/ˈɔɪlər/(欧伊勒)
quaternion重音放错/kwəˈtɜːrniən/,重音在第二音节
Gazebo「盖泽博」/ɡəˈziːboʊ/(格贼博)
Isaac「伊萨克」/ˈaɪzək/(艾泽克)
MoveIt「莫维特」/ˈmuːv ɪt/(move-it,两个词)
RVizR-V-I-Z 逐字母/ˌɑːr ˈvɪz/(R-viz)
OMPLO-M-P-L 逐字母/ˈɑːmpəl/(奥姆普尔)更常见
xacro「叉克罗」/ˈzækroʊ/(扎克柔),社区有差异
SQLite「sequel-lite」/ˌes kjuː ˈlaɪt/(S-Q-lite)

十、把这些词用进句子里

术语会读只是第一步,能自然地说出来才算掌握。下面是一些可以直接套用的表达。

介绍项目

讲通信与 QoS

  • "The camera publishes on /image_raw with a BEST_EFFORT reliability profile, because dropping a frame is better than blocking."
  • "The subscriber requests RELIABLE, but the publisher only offers BEST_EFFORT, so they are incompatible."
  • "A RELIABLE publisher and a BEST_EFFORT subscriber are compatible — the subscriber is asking for less."

讲 TF 与坐标

  • "The transform from base_link to camera_optical_frame is published as a static transform."
  • "The odometry frame drifts over time; the map frame is corrected by SLAM."

讲排障

讲部署

  • "We set use_sim_time to true and play the bag with --clock, so the timestamps line up."
  • "The package is built with colcon and installed into install/; the launch file loads parameters from a YAML file."

十一、怎么继续查读音

  • ROS 官方文档:docs.ros.org,术语表与教程里常有英文原句;
  • ROS 设计文档:design.ros2.org,QoS、executor、lifecycle 的权威解释;
  • REP-103 / REP-105:坐标轴约定与坐标系命名;
  • DDS 规范:OMG DDS / RTPS 文档;
  • Nav2 / MoveIt 2 / ros2_control 文档:导航、机械臂、硬件接口的术语来源;
  • YouGlish / Forvo:查真实语境里的发音;
  • 官方会议录像(ROSCon):听维护者怎么读这些词,比音标更可靠。

结语

ROS 2 的术语并不难,难的是第一次见时没人告诉你它怎么读、指什么。把这份表当成查词工具,遇到不确定的词回来核对一遍;等你能在会议里自然地说出 "the QoS profile is incompatible" 而不是「那个 Q-O-S 不匹配」,这关就算过了。

如果这篇对你有帮助,欢迎在评论区补充你遇到过的「读错/理解错」的术语,我会持续更新这份手册。

评论区未配置

在 .env 中填入NEXT_PUBLIC_GISCUS_REPO/NEXT_PUBLIC_GISCUS_REPOSITORY_ID/NEXT_PUBLIC_GISCUS_CATEGORY/NEXT_PUBLIC_GISCUS_CATEGORY_ID 后重新构建站点即可启用评论。