UBot Conventions Library
在蓝图里使用 UE 与 ROS(REP-103)的坐标和时间约定,对应 C++ 的 UBot::Ros。
Camera Link To Optical Rotation
Section titled “Camera Link To Optical Rotation”相机光学系(z 向前、x 向右、y 向下)相对相机 link 系的旋转,ROS 约定。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Return Value | 输出 | Quat结构体 |
Get Optical Frame Suffix
Section titled “Get Optical Frame Suffix”接在相机 frame id 后面、组成光学系 frame id 的后缀 _optical。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Return Value | 输出 | String |
ROS Time To Seconds
Section titled “ROS Time To Seconds”把 builtin_interfaces/Time 的 sec 和 nanosec 换成秒。nanosec 为负数时按 0 处理。
| 引脚 | 方向 | 类型 | 默认值 |
|---|---|---|---|
| Sec | 输入 | Integer | 0 |
| Nanosec | 输入 | Integer | 0 |
| Return Value | 输出 | Float (double) |
ROS To UE Angular Velocity
Section titled “ROS To UE Angular Velocity”角速度、力矩等轴向量(单位 rad/s),ROS 转 UE:(-x, y, -z)。
| 引脚 | 方向 | 类型 |
|---|---|---|
| ROSRadians Per Second | 输入 | Vector |
| Return Value | 输出 | Vector |
ROS To UE Position
Section titled “ROS To UE Position”位置,ROS 的米转 UE 的厘米:(x, -y, z) × 100。
| 引脚 | 方向 | 类型 |
|---|---|---|
| ROSMeters | 输入 | Vector |
| Return Value | 输出 | Vector |
ROS To UE Rotation
Section titled “ROS To UE Rotation”旋转四元数,ROS 转 UE:(x, y, z, w) 变为归一化的 (-x, y, -z, w)。
| 引脚 | 方向 | 类型 |
|---|---|---|
| ROSRotation | 输入 | Quat结构体 |
| Return Value | 输出 | Quat结构体 |
ROS To UE Transform
Section titled “ROS To UE Transform”刚体变换,ROS 转 UE:旋转镜像,平移从米换成厘米,缩放丢弃。
| 引脚 | 方向 | 类型 |
|---|---|---|
| ROSTransform | 输入 | Transform |
| Return Value | 输出 | Transform |
ROS To UE Vector
Section titled “ROS To UE Vector”已是 SI 单位的线性量,ROS 转 UE:(x, -y, z),不换算单位。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Value | 输入 | Vector |
| Return Value | 输出 | Vector |
ROS To UE Yaw
Section titled “ROS To UE Yaw”平面航向角、扫描角或偏航角速度(弧度),ROS 转 UE:UE = -ROS。
| 引脚 | 方向 | 类型 | 默认值 |
|---|---|---|---|
| ROSRadians | 输入 | Float (double) | 0.0 |
| Return Value | 输出 | Float (double) |
Sanitize ROS Name
Section titled “Sanitize ROS Name”生成合法的 ROS 名字片段:只保留 A-Z、a-z、0-9 和下划线,连续下划线合并,首字符是数字时加前缀下划线,结果不会为空。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Name | 输入 | String |
| Return Value | 输出 | String |
Seconds To ROS Time
Section titled “Seconds To ROS Time”把秒换成 builtin_interfaces/Time 的 sec 和 nanosec。负数或非有限值得到 (0, 0)。
| 引脚 | 方向 | 类型 | 默认值 |
|---|---|---|---|
| Seconds | 输入 | Float (double) | 0.0 |
| Sec | 输出 | Integer | |
| Nanosec | 输出 | Integer |
UE To ROS Angular Velocity
Section titled “UE To ROS Angular Velocity”角速度、力矩等轴向量(单位 rad/s),UE 转 ROS:(-x, y, -z)。
| 引脚 | 方向 | 类型 |
|---|---|---|
| UERadians Per Second | 输入 | Vector |
| Return Value | 输出 | Vector |
UE To ROS Position
Section titled “UE To ROS Position”位置,UE 的厘米转 ROS 的米:(x, -y, z) / 100。
| 引脚 | 方向 | 类型 |
|---|---|---|
| UECentimeters | 输入 | Vector |
| Return Value | 输出 | Vector |
UE To ROS Rotation
Section titled “UE To ROS Rotation”旋转四元数,UE 转 ROS:(x, y, z, w) 变为归一化的 (-x, y, -z, w)。
| 引脚 | 方向 | 类型 |
|---|---|---|
| UERotation | 输入 | Quat结构体 |
| Return Value | 输出 | Quat结构体 |
UE To ROS Transform
Section titled “UE To ROS Transform”刚体变换,UE 转 ROS:旋转镜像,平移从厘米换成米,缩放丢弃。
| 引脚 | 方向 | 类型 |
|---|---|---|
| UETransform | 输入 | Transform |
| Return Value | 输出 | Transform |
UE To ROS Vector
Section titled “UE To ROS Vector”线速度、加速度、以米为单位的点等线性量,UE 转 ROS:(x, -y, z),不换算单位。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Value | 输入 | Vector |
| Return Value | 输出 | Vector |
UE To ROS Yaw
Section titled “UE To ROS Yaw”平面航向角、扫描角或偏航角速度(弧度),UE 转 ROS:ROS = -UE。
| 引脚 | 方向 | 类型 | 默认值 |
|---|---|---|---|
| UERadians | 输入 | Float (double) | 0.0 |
| Return Value | 输出 | Float (double) |