uBot ROS Velocity Command
接收 ROS 2 的 geometry_msgs/msg/Twist 速度指令,换算后交给实现了 UBot Velocity Commandable 的目标。不含控制逻辑,只做解码、换算、限速、分发和超时。话题是 /<namespace>/cmd_vel(best_effort / volatile / 10)。
Get Command Error
Section titled “Get Command Error”Get Command ErrorTarget is uBot ROS Velocity CommandTargetReturn Value
最近一条错误的文字;自上次启动以来没有错误时为空。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Return Value | 输出 | String |
Get Command Target
Section titled “Get Command Target”Get Command TargetTarget is uBot ROS Velocity CommandTargetReturn Value
指令交给的对象;没有目标(只触发事件)时为空。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Return Value | 输出 | Object对象引用 |
Get Last Command
Section titled “Get Last Command”Get Last CommandTarget is uBot ROS Velocity CommandTargetReturn Value
最近一条有效指令(限速之后),收到第一条之前全为 0。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Return Value | 输出 | UBot Velocity Command结构体 |
Get Resolved Command Topic
Section titled “Get Resolved Command Topic”Get Resolved Command TopicTarget is uBot ROS Velocity CommandTargetReturn Value
正在订阅的话题;没有订阅时,是下一次启动会用的话题。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Return Value | 输出 | String |
Is Command Active
Section titled “Is Command Active”Is Command ActiveTarget is uBot ROS Velocity CommandTargetReturn Value
从收到有效指令到超时为 true;超时关闭时,收到过指令后一直为 true。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Return Value | 输出 | Boolean |
Is Command Receiver Ready
Section titled “Is Command Receiver Ready”Is Command Receiver ReadyTarget is uBot ROS Velocity CommandTargetReturn Value
已订阅时为 true,与桥是否连上无关。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Return Value | 输出 | Boolean |
Restart Command Receiver
Section titled “Restart Command Receiver”Restart Command ReceiverTarget is uBot ROS Velocity CommandTargetReturn Value
取消订阅后用当前设置重新订阅,超时计时继续。成功返回 true。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Return Value | 输出 | Boolean |
Set Target Component
Section titled “Set Target Component”Set Target ComponentTarget is uBot ROS Velocity CommandTargetNew Target
用一个组件直接替换 Target Component;传空则恢复在所属 Actor 上自动查找。
| 引脚 | 方向 | 类型 |
|---|---|---|
| New Target | 输入 | Actor Component对象引用 |
Stop Command Receiver
Section titled “Stop Command Receiver”Stop Command ReceiverTarget is uBot ROS Velocity CommandTarget
取消订阅;已经生效的指令仍然按时超时。
在 Components 面板选中组件,在 Details 面板底部 Events 区点事件旁的 + 即可生成事件节点。
On Command Error
Section titled “On Command Error”On Command ErrorError Message
订阅失败、消息畸形或含非有限值、目标不可用或拒绝了指令时触发,Error Message 是原因。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Error Message | 输出 | String |
On Command Timeout
Section titled “On Command Timeout”On Command Timeout
每次超时触发一次,在目标收到 Stop Motion 之后。
On Velocity Command
Section titled “On Velocity Command”On Velocity CommandCommand
每条有效指令换算、限速之后触发,有没有目标都触发,Command 是结果。
| 引脚 | 方向 | 类型 |
|---|---|---|
| Command | 输出 | UBot Velocity Command结构体 |
未特别标注的属性:蓝图里只读,Details 面板里可以编辑。
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
Auto Start ReceiverbAutoStartReceiver · uBot|ROS|Velocity Command | Boolean | true | Begin Play 时订阅;关闭后调用 Restart Command Receiver 开始接收。 |
Robot Namespace OverrideRobotNamespaceOverride · uBot|ROS|Velocity Command|Identity | String | "" | 留空时用 uBot Identity 解析出的命名空间。前后的 / 被忽略,每一段都会被净化;只含 / 表示根命名空间(话题 /cmd_vel)。 |
Max Angular Speed Radians Per SecondMaxAngularSpeedRadiansPerSecond · uBot|ROS|Velocity Command|Limits | Float | 0.0 | 角速度的上限,单位 rad/s,按向量模长限制并保持轴向;0 表示不限制。最小 0.0 |
Max Linear Speed Meters Per SecondMaxLinearSpeedMetersPerSecond · uBot|ROS|Velocity Command|Limits | Float | 0.0 | 线速度的上限,单位 m/s,按向量模长限制并保持方向;0 表示不限制。最小 0.0 |
Command Timeout SecondsCommandTimeoutSeconds · uBot|ROS|Velocity Command|Safety | Float | 0.5 | 超过这么多仿真秒没有新指令,就让目标停车;0 关闭超时。最小 0.0;单位 s |
Target ComponentTargetComponent · uBot|ROS|Velocity Command|Target | Component Reference结构体 | () | 接收指令的组件,必须实现 UBot Velocity Commandable。留空时用所属 Actor,或它第一个实现该接口的组件;只设了 Referenced Actor 时,在那个 Actor 上同样查找。 |
Command Topic OverrideCommandTopicOverride · uBot|ROS|Velocity Command|Topic | String | "" | 非空时替代 /<namespace>/cmd_vel,缺少前导 / 会补上。 |