各份手册里用到的术语列在这里,每条给出中文、英文、一句话定义和详细说明的链接。
| 中文 |
English |
说明 |
详见 |
| Package |
uBot Package |
带有 uBot 声明的 UE 插件(.uplugin 里有顶层 "UBot" 对象),文档里也叫“插件” |
编写自己的 uBot Package |
| uBot Manager |
uBot Manager |
安装、更新、启用、禁用和卸载 Package 的 Windows 桌面程序,命令行是 ubot |
uBot Manager |
| 包索引 |
Package Index |
列出已知 Package、各版本、依赖和组合的 Index/index.json(格式 2),uBot Manager 和 UE 都读它 |
编写自己的 uBot Package |
| 组合 |
Recipe |
一组 Package 的预设搭配,uBot Manager 可以一次装好 |
选择组合 |
| 预编译包 |
Prebuilt package |
已按某个引擎版本编好的 Package 压缩包,安装时不需要再编译,目前是 UE 5.5 Win64 |
安装 uBot |
| 规划中 |
Planned |
已列入包索引、还没有发布的插件,目前只有占位页 |
简介 |
| 能力键 |
Provides |
Package 声明的能力,形如 Sensor.IMU |
编写自己的 uBot Package |
| 版本约束 |
Version constraint |
依赖的版本范围,比如 ^0.1.0 表示 >=0.1.0 <0.2.0 |
编写自己的 uBot Package |
| 引擎插件 |
Engine plugin |
UE 自带的插件,比如 ChaosVehiclesPlugin;uBot Manager 只在 .uproject 里启用它,不安装它 |
安装、更新、移除插件 |
| 扩展点 |
Extension point |
一个 Package 声明的挂接位置,别的 Package 不依赖它的模块就能注册扩展,比如 UBotROS.SensorPublisher |
为自定义传感器添加 ROS 发布器 |
| uBot 面板 |
uBot panel |
编辑器里「Window > uBot」打开的面板,显示已加载的 Package、运行时状态和问题 |
Package 查询与编辑器面板 |
| 运行时状态 |
Runtime status |
各 Package 在运行中报告的状态和问题,一次 PIE 或游戏运行结束时写入 Saved/uBot/status.json |
Package 查询与编辑器面板 |
| 命令行工具 |
Commandlet |
UE 的命令行工具,-run=UBotPackage 用来列出、校验、安装和启用 Package |
Package 查询与编辑器面板 |
| 重定向 |
CoreRedirects |
UE 的重定向机制,让用旧名字保存的资产加载成新名字 |
从旧插件迁移 |
| 中文 |
English |
说明 |
详见 |
| 仿真时间 |
Simulation time |
所有 uBot 时间戳共用的时间基准,即 World 的游戏时间,遵循暂停和时间膨胀 |
仿真时钟与采样调度 |
| 仿真时钟 |
Sim clock |
提供仿真时间、固定步长、暂停和单步的 World 子系统(UBot Clock Subsystem) |
仿真时钟 |
| world tick |
World tick |
世界推进一帧的一次更新;单步(Step Simulation)以它为单位计数 |
仿真时钟与采样调度 |
| 固定步长 |
Fixed time step |
引擎每帧使用固定时间增量(1 / Step Hz 秒)的模式 |
仿真时钟 |
| 单步 |
Frame step |
恢复运行恰好指定个数的 world tick 后再暂停(Step Simulation) |
仿真时钟 |
| 采样 |
Sample |
传感器取一次数据,得到一个样本 |
传感器通用用法 |
| 采样频率 |
Update rate |
传感器自动采样的频率(Update Rate Hz),范围 0.1 到 240 Hz |
仿真时钟与采样调度 |
| 采样调度器 |
Sample scheduler |
在仿真时间上按固定频率排采样时刻、每次轮询最多触发一次的调度器 |
仿真时钟与采样调度 |
| 跳过的采样 |
Dropped sample |
一帧跨过多个采样时刻时没有采的那些时刻,计入 Get Dropped Sample Count |
仿真时钟与采样调度 |
| 帧头 |
Frame header |
每个样本都带的公共信息:id、序号、时间戳、有效标志和状态码 |
帧头与采样状态 |
| 序号 |
Sequence |
帧头里的帧序号,每个传感器组件各算各的,每次采样加 1 |
帧头与采样状态 |
| 状态码 |
Sample status |
帧头里描述本次采样结果的枚举(EUBot Sample Status) |
帧头与采样状态 |
| 预热 |
Warming up |
靠差分算速度的传感器历史不够时的状态码 Warming Up |
帧头与采样状态 |
| 瞬移 |
Teleport |
两次采样之间位移或转角超过阈值,状态码是 Teleport Detected |
帧头与采样状态 |
| 中文 |
English |
说明 |
详见 |
| 左手系、右手系 |
Left-handed、right-handed |
UE 是左手系,ROS 是右手系 |
坐标系与单位 |
| REP-103 |
REP-103 |
ROS 的坐标和单位约定:右手系,X 前、Y 左、Z 上,单位米 |
坐标系与单位 |
| 机体系 |
Body frame |
固定在机体上的坐标系,速度指令在机体系下给出 |
插件之间怎么对接 |
| 光学系 |
Optical frame |
相机图像用的坐标系:z 前、x 右、y 下,frame id 带后缀 _optical |
坐标系与单位 |
| 极向量、轴向量 |
Polar vector、axial vector |
位置、速度是极向量,角速度、力矩是轴向量,镜像时变换规则不同 |
坐标系与单位 |
| 四元数 |
Quaternion |
表示旋转的四个分量 (x, y, z, w) |
坐标系与单位 |
| 比力 |
Specific force |
IMU 输出的线加速度,静止时约为 +9.8 m/s²(World 的重力加速度),方向是世界向上 |
IMU 传感器 |
| 协方差 |
Covariance |
描述测量误差的矩阵,里程计输出 6×6 的位姿协方差和速度协方差 |
里程计 |
| 传感器 id |
Sensor Id |
传感器的名字,留空时用组件名 |
标识与命名 |
| 坐标系 id |
Frame Id |
传感器所在的坐标系名,留空时等于 Sensor Id |
标识与命名 |
| 机器人 id |
Robot Id |
uBot Identity 组件里机器人的名字,留空时用 Actor 名 |
标识与命名 |
| 命名空间 |
Namespace |
ROS 话题的前缀,留空时由 Robot Id 净化得到 |
标识与命名 |
| 基坐标系 |
Base frame |
机体坐标系的名字,默认 base_link |
标识与命名 |
| 净化 |
Sanitize |
把名字改成合法的 ROS 名称,只保留字母、数字和下划线(Sanitize ROS Name) |
标识与命名 |
| 中文 |
English |
说明 |
详见 |
| 接口 |
Interface |
uBot 插件之间对接的约定:UBot Sensor、UBot Actuator、UBot Velocity Commandable、UBot Perception Medium |
插件之间怎么对接 |
| 执行器 |
Actuator |
驱动、机械臂、夹爪等会动的部件 |
插件之间怎么对接 |
| 速度指令 |
Velocity command |
机体系下的线速度和角速度请求(UBot Velocity Command) |
插件之间怎么对接 |
| 感知介质 |
Perception medium |
烟、雾等影响感知的介质,由若干球形单元组成 |
感知介质 |
| Identity 组件 |
uBot Identity |
给机器人命名的组件,所有字段可选 |
Identity 组件 |
| 物理后端 |
Physics backend |
为物体计算物理的引擎。默认是 UE 自带的 Chaos;规划中的 uBotMuJoCo 用 MuJoCo 计算一部分物体,再把位姿写回 UE |
uBotMuJoCo |
| 中文 |
English |
说明 |
详见 |
| 位姿传感器 |
Pose sensor |
输出传感器自身的位姿,可选速度 |
位姿传感器 |
| 里程计 |
Odometry |
输出相对起点的位姿和机体系下的速度 |
里程计 |
| IMU |
Inertial measurement unit |
惯性测量单元,输出姿态、角速度和线加速度 |
IMU 传感器 |
| 激光雷达 |
LiDAR |
用射线检测测距的传感器,有 2D 和 3D 两种 |
2D 激光雷达 |
| 点云 |
Point cloud |
3D 激光雷达每次扫描得到的命中点 |
3D 激光雷达 |
| 强度 |
Intensity |
激光雷达射线命中处的反射强度,范围 0 到 255 |
2D 激光雷达 |
| RGB 相机、深度相机 |
RGB camera、depth camera |
渲染场景得到彩色图像或以米为单位的深度图像 |
RGB 相机 |
| 相机内参 |
Camera intrinsics |
图像帧里的 Fx、Fy、Cx、Cy |
RGB 相机 |
| 像素读回 |
Pixel readback |
把渲染结果从 GPU 读回 CPU,开销高 |
RGB 相机 |
| 采集分组 |
Capture group |
让多个相机在同一时刻采集的分组 |
相机采集协调器 |
| 传感器模型 |
Sensor model |
传感器组件显示的网格,游戏中默认隐藏 |
传感器通用用法 |
| 中文 |
English |
说明 |
详见 |
| ROS 2 |
ROS 2 |
机器人操作系统的第二代,uBotROS 只在 Humble 上验证过 |
uBotROS 概述与架构 |
| 桥 |
ubot_ros_bridge |
随 uBotROS 附带的 ROS 2 节点,UE 经一条 TCP 连接(默认端口 8268)把消息交给它,它再发布到话题 |
uBotROS 概述与架构 |
| 话题 |
Topic |
ROS 2 里按名字发布和订阅消息的通道 |
发布传感器数据 |
| QoS |
Quality of Service |
ROS 2 的服务质量设置,uBotROS 的传感器数据默认 best_effort,状态默认 reliable |
发布传感器数据 |
| TF |
TF |
ROS 的坐标变换树 |
TF 与 /clock |
| 静态 TF、动态 TF |
Static TF、dynamic TF |
静态 TF 不随时间变化,比如机体到传感器,发布到 /tf_static;动态 TF 随时间变化,比如 odom → base_link,发布到 /tf |
TF 与 /clock |
/clock |
/clock |
发布仿真时间的话题,ROS 节点设 use_sim_time 为 true 才会使用它 |
TF 与 /clock |
cmd_vel |
cmd_vel |
接收速度指令的话题,类型是 geometry_msgs/msg/Twist |
接收 cmd_vel |
| CDR |
Common Data Representation |
ROS 2 消息的序列化字节格式,uBotROS 在 UE 里自己编码 |
协议说明 |
| WSL |
Windows Subsystem for Linux |
在 Windows 上运行 Linux 的子系统,可以用来运行 ROS 2 端 |
准备 ROS 2 端 |
- 简介:所有插件和它们的依赖关系。
- 版本记录:每个插件已发布的版本和变化。