uBot ROS Sensor Bridge
把所属 Actor 上的每个 uBot 传感器发布到 ROS 2,并发布传感器 TF。为每个传感器建一个发布器,只搜索 Actor 本身和它的组件,不搜索子 Actor。发布器建好后进入 Ready,不等桥连接成功。
Get Active Publisher Topics
Section titled “Get Active Publisher Topics”Get Active Publisher TopicsTarget is uBot ROS Sensor BridgeTargetReturn Value
已声明的全部话题,已排序。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Return Value | 输出 | String数组 |
Get Discovered Sensor Count
Section titled “Get Discovered Sensor Count”Get Discovered Sensor CountTarget is uBot ROS Sensor BridgeTargetReturn Value
有发布器的传感器个数。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Return Value | 输出 | Integer |
Get ROSBridge Error
Section titled “Get ROSBridge Error”Get ROSBridge ErrorTarget is uBot ROS Sensor BridgeTargetReturn Value
最近一次配置错误的文字,没有时为空。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Return Value | 输出 | String |
Get ROSBridge Status
Section titled “Get ROSBridge Status”Get ROSBridge StatusTarget is uBot ROS Sensor BridgeTargetReturn Value
组件的生命周期状态。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Return Value | 输出 | EUBot ROSSensor Bridge Status枚举 |
Get Resolved Base Frame Id
Section titled “Get Resolved Base Frame Id”Get Resolved Base Frame IdTarget is uBot ROS Sensor BridgeTargetReturn Value
实际发布的基坐标系;开启 Prefix Frames with Namespace 时带命名空间前缀。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Return Value | 输出 | String |
Get Resolved Namespace
Section titled “Get Resolved Namespace”Get Resolved NamespaceTarget is uBot ROS Sensor BridgeTargetReturn Value
默认话题用的命名空间,已净化,没有前导 /;根命名空间时为空。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Return Value | 输出 | String |
Is ROSBridge Ready
Section titled “Is ROSBridge Ready”Is ROSBridge ReadyTarget is uBot ROS Sensor BridgeTargetReturn Value
状态为 Ready 时为 true。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Return Value | 输出 | Boolean |
Refresh Sensor Publishers
Section titled “Refresh Sensor Publishers”Refresh Sensor PublishersTarget is uBot ROS Sensor BridgeTargetReturn Value
重新发现所属 Actor 的传感器并重建全部发布器,组件没在运行时先初始化。成功返回 true。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Return Value | 输出 | Boolean |
Restart ROSBridge
Section titled “Restart ROSBridge”Restart ROSBridgeTarget is uBot ROS Sensor BridgeTargetReturn Value
拆掉发布器后重新初始化,成功返回 true。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Return Value | 输出 | Boolean |
Stop ROSBridge
Section titled “Stop ROSBridge”Stop ROSBridgeTarget is uBot ROS Sensor BridgeTarget
拆掉全部发布器和静态 TF,状态变为 Stopped。
在 Components 面板选中组件,在 Details 面板底部 Events 区点事件旁的 + 即可生成事件节点。
On ROSBridge Error
Section titled “On ROSBridge Error”On ROSBridge ErrorError Message
配置有问题、组件进入 Error 时触发,Error Message 是原因。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Error Message | 输出 | String |
On ROSBridge Ready
Section titled “On ROSBridge Ready”On ROSBridge Ready
发布器建好、组件进入 Ready 时触发。
On ROSPublishers Refreshed
Section titled “On ROSPublishers Refreshed”On ROSPublishers RefreshedPublisher Count
Refresh Sensor Publishers 成功后触发,Publisher Count 是现在声明的话题数。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Publisher Count | 输出 | Integer |
未特别标注的属性:蓝图里只读,Details 面板里可以编辑。
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
Base Frame OverrideBaseFrameOverride · uBot ROS|Identity | String | "" | 基坐标系名。留空时用 uBot Identity 的 Base Frame Id(默认 base_link)。 |
Base Link ComponentBaseLinkComponent · uBot ROS|Identity | Component Reference结构体 | () | 基组件,静态 TF 以它为参考。留空或无法解析时,用 uBot Identity 的 Base Component(默认是根组件)。 |
Prefix Frames with NamespacebPrefixFramesWithNamespace · uBot ROS|Identity | Boolean | false | 所有发布的 frame id 变成 <namespace>/<frame>,用于多机器人的 TF 树。 |
Robot Namespace OverrideRobotNamespaceOverride · uBot ROS|Identity | String | "" | 机器人的命名空间。留空时用 uBot Identity 的命名空间;只填 / 表示根命名空间(话题形如 /imu/data)。用 / 分隔多级,每一段都会被净化。 |
Auto InitializebAutoInitialize · uBot ROS|Lifecycle | Boolean | true | Begin Play 时自动初始化;关闭后调用 Restart ROSBridge 或 Refresh Sensor Publishers。 |
Publish Invalid SamplesbPublishInvalidSamples · uBot ROS|Publishing | Boolean | false | 是否也发布无效样本,比如 Warming Up。 |
Skip when No SubscribersbSkipWhenNoSubscribers · uBot ROS|Publishing | Boolean | true | 桥报告某个话题没有订阅者时,跳过这个话题的编码;相机还跳过 GPU 读回。 |
Sensor Data Qos OverrideSensorDataQosOverride · uBot ROS|QoS | UBot ROSQos Override结构体 | (Qos=(Depth=5)) | 覆盖传感器数据(IMU、激光雷达、图像)的 QoS,默认是 Best Effort / Volatile / 5。 |
State Qos OverrideStateQosOverride · uBot ROS|QoS | UBot ROSQos Override结构体 | (Qos=(Depth=5)) | 覆盖位姿和里程计的 QoS,默认是 Reliable / Volatile / 10。 |
Odometry FrameOdometryFrame · uBot ROS|TF | String | odom | 里程计坐标系名,默认 odom,是动态 TF 的父坐标系。 |
Publish Dynamic TFbPublishDynamicTF · uBot ROS|TF | Boolean | true | 是否发布动态的 odom → base TF。 |
Publish Static Sensor TFbPublishStaticSensorTF · uBot ROS|TF | Boolean | true | 是否发布静态的 base → 传感器 TF。 |
Topic OverridesTopicOverrides · uBot ROS|Topics | String → UBot ROSTopic Override映射 | "" | 按逻辑键替换默认话题:pose、odom、imu、scan、lidar、rgb_camera、rgb_camera.camera_info、depth_camera、depth_camera.camera_info。同类型有多个传感器时,键是净化后的 SensorId 和 <SensorId>.camera_info。 |