UBot ROSBridge Subsystem
每个 Game 或 PIE 世界一个,管理这个世界到 ubot_ros_bridge 的 TCP 连接:声明发布者和订阅者,发布 /tf、/tf_static 和 /clock,断线重连并重新注册。套接字读写在后台线程,游戏线程不会阻塞。
Connect
Section titled “Connect”ConnectTarget is UBot ROSBridge SubsystemTarget
按项目设置里的 Bridge Host 和 Bridge Port 连接;对同一个地址重复调用什么也不做。
Connect To
Section titled “Connect To”Connect ToTarget is UBot ROSBridge SubsystemTargetHostPort0
连到指定的主机和端口,只对当前世界生效,不改项目设置。
| 引脚 | 方向 | 类型 | 默认值 |
|---|---|---|---|
| Host | 输入 | String | |
| Port | 输入 | Integer | 0 |
Disconnect
Section titled “Disconnect”DisconnectTarget is UBot ROSBridge SubsystemTarget
关闭连接并停止重连,丢弃还没发出的数据。
Get Bridge Endpoint
Section titled “Get Bridge Endpoint”Get Bridge EndpointTarget is UBot ROSBridge SubsystemTargetReturn Value
正在连接(或最后连过)的 host:port,从没连过时为空。ConnectTo 拒绝了无效地址时,返回被拒绝的那个,主机为空显示 (no host)。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Return Value | 输出 | String |
Get Bridge Status
Section titled “Get Bridge Status”Get Bridge StatusTarget is UBot ROSBridge SubsystemTargetReturn Value
连接状态。Disabled:没有在连接;Connecting:正在尝试第一次连接;Connected:握手完成;Error:最近一次尝试失败或连接断开,每隔 Reconnect Interval Seconds 重试。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Return Value | 输出 | EUBot ROSBridge Status枚举 |
Get Last Bridge Error
Section titled “Get Last Bridge Error”Get Last Bridge ErrorTarget is UBot ROSBridge SubsystemTargetReturn Value
最近一次连接失败、连接丢失或协议错误的原因,没有时为空。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Return Value | 输出 | String |
Is Bridge Connected
Section titled “Is Bridge Connected”Is Bridge ConnectedTarget is UBot ROSBridge SubsystemTargetReturn Value
桥用兼容的 HELLO_ACK 回复了 HELLO(握手完成)之后为 true。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Return Value | 输出 | Boolean |
在 Components 面板选中组件,在 Details 面板底部 Events 区点事件旁的 + 即可生成事件节点。
On Bridge Connected
Section titled “On Bridge Connected”On Bridge Connected
与桥的握手完成时触发,每次重连之后都会触发。
On Bridge Disconnected
Section titled “On Bridge Disconnected”On Bridge DisconnectedReason
已建立的连接结束时触发(连接丢失、协议错误或调用 Disconnect),Reason 是原因。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Reason | 输出 | String |