跳转到内容

uBot ROS Attitude Command

C++
UUBotROSAttitudeCommandComponent
父类
uBot ROS Command Receiver UUBotROSCommandReceiverComponent
类型
组件 · 可在 Components 面板添加
模块
UBotROS · UBotROS 0.1.2
头文件
Source/UBotROS/Public/UBotROSAttitudeCommandComponent.h

接收 ROS 2 的 mavros_msgs/msg/AttitudeTarget,换算后交给实现了 UBot Attitude Commandable 的目标(飞行器,如带 uBot Multirotor Dynamics 的无人机)。话题是 /<namespace>/cmd_attitude。type_mask 不含 IGNORE_ATTITUDE(128)时是姿态指令,姿态从 ROS 世界系换成 UE,不用 body_rate;含 IGNORE_ATTITUDE 时是机体角速度指令,取 body_rate(FLU 换成 UE 机体系),带 IGNORE_ROLL_RATE(1)、IGNORE_PITCH_RATE(2)、IGNORE_YAW_RATE(4)的轴为 0。thrust(0 到 1,占最大推力的比例)除非设了 IGNORE_THRUST(64)否则使用,设了则飞行器保持高度。需要 mavros_msgs 包(ros-humble-mavros-msgs)。

纯函数 · UUBotROSAttitudeCommandComponent.GetLastAttitudeCommand

最近一条有效的姿态指令;收到第一条之前姿态为单位四元数。

引脚方向类型
Return Value输出UBot Attitude Command结构体

纯函数 · UUBotROSAttitudeCommandComponent.GetLastBodyRateCommand

最近一条有效的机体角速度指令;收到第一条之前全为 0。

引脚方向类型
Return Value输出UBot Body Rate Command结构体

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

事件 · UUBotROSAttitudeCommandComponent.OnAttitudeCommand

每条有效姿态指令换算之后触发,有没有目标都触发。

引脚方向类型
Command输出UBot Attitude Command结构体

事件 · UUBotROSAttitudeCommandComponent.OnBodyRateCommand

每条有效机体角速度指令换算之后触发,有没有目标都触发。

引脚方向类型
Command输出UBot Body Rate Command结构体

来自 uBot ROS Command Receiver

节点
属性