跳转到内容

UBot ROSBridge Subsystem

C++
UUBotROSBridgeSubsystem
父类
UTickableWorldSubsystem
类型
子系统
模块
UBotROS · UBotROS 0.1.2
头文件
Source/UBotROS/Public/UBotROSBridgeSubsystem.h

每个 Game 或 PIE 世界一个,管理这个世界到 ubot_ros_bridge 的 TCP 连接:声明发布者和订阅者,发布 /tf、/tf_static 和 /clock,断线重连并重新注册。套接字读写在后台线程,游戏线程不会阻塞。

函数 · UUBotROSBridgeSubsystem.Connect

按项目设置里的 Bridge Host 和 Bridge Port 连接;对同一个地址重复调用什么也不做。

函数 · UUBotROSBridgeSubsystem.ConnectTo

连到指定的主机和端口,只对当前世界生效,不改项目设置。

引脚方向类型默认值
Host输入String
Port输入Integer0

函数 · UUBotROSBridgeSubsystem.Disconnect

关闭连接并停止重连,丢弃还没发出的数据。

纯函数 · UUBotROSBridgeSubsystem.GetBridgeEndpoint

正在连接(或最后连过)的 host:port,从没连过时为空。ConnectTo 拒绝了无效地址时,返回被拒绝的那个,主机为空显示 (no host)。

引脚方向类型
Return Value输出String

纯函数 · UUBotROSBridgeSubsystem.GetBridgeStatus

连接状态。Disabled:没有在连接;Connecting:正在尝试第一次连接;Connected:握手完成;Error:最近一次尝试失败或连接断开,每隔 Reconnect Interval Seconds 重试。

引脚方向类型
Return Value输出EUBot ROSBridge Status枚举

纯函数 · UUBotROSBridgeSubsystem.GetLastBridgeError

最近一次连接失败、连接丢失或协议错误的原因,没有时为空。

引脚方向类型
Return Value输出String

纯函数 · UUBotROSBridgeSubsystem.IsBridgeConnected

桥用兼容的 HELLO_ACK 回复了 HELLO(握手完成)之后为 true。

引脚方向类型
Return Value输出Boolean

在 Components 面板选中组件,在 Details 面板底部 Events 区点事件旁的 + 即可生成事件节点。

事件 · UUBotROSBridgeSubsystem.OnBridgeConnected

与桥的握手完成时触发,每次重连之后都会触发。

事件 · UUBotROSBridgeSubsystem.OnBridgeDisconnected

已建立的连接结束时触发(连接丢失、协议错误或调用 Disconnect),Reason 是原因。

引脚方向类型
Reason输出String