跳转到内容

uBot Odometry Sensor

C++
UUBotOdometrySensorComponent
父类
UBot Sensor Component UUBotSensorComponent
类型
组件 · 可在 Components 面板添加 · 可作为蓝图父类
模块
UBotSensor · UBotSensor 0.1.1
头文件
Source/UBotSensor/Public/UBotOdometrySensorComponent.h

模拟里程计。跟踪一个组件,输出它相对起点的位置(m)和姿态,以及本地坐标系下的线速度和角速度;可选噪声和漂移,并给出对角协方差。

纯函数 · UUBotOdometrySensorComponent.GetLatestOdometryData

返回最近一次采样的里程计数据副本,不会触发新的采样。

引脚方向类型
Return Value输出UBot Odometry Sensor Data结构体

纯函数 · UUBotOdometrySensorComponent.GetTrackedComponent

返回正在跟踪的组件:Custom Tracked Component,没有设置时是 Actor 的根组件。

引脚方向类型
Return Value输出Scene Component对象引用

函数 · UUBotOdometrySensorComponent.ResetOdometry

把起点设为被跟踪组件现在的位姿,清零漂移并重置随机序列。下一个样本是 Warming Up。

函数 · UUBotOdometrySensorComponent.SampleOdometry

立即采样一次里程计,本次样本为 Valid 时返回 true。

引脚方向类型
Return Value输出Boolean

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

事件 · UUBotOdometrySensorComponent.OnOdometryDataUpdated

每次里程计采样后触发,包括无效样本。Data 是本次的完整数据。

引脚方向类型
Data输出UBot Odometry Sensor Data结构体

未特别标注的属性:蓝图里只读,Details 面板里可以编辑。

属性类型默认值说明
Orientation Random Walk Std Dev Degrees Per Sqrt SecondOrientationRandomWalkStdDevDegreesPerSqrtSecond · Odometry|DriftFloat0.0朝向漂移的随机游走强度,单位度/√s。需先勾选 Noise Enabled。最小 0.0
Position Random Walk Std Dev Meters Per Sqrt SecondPositionRandomWalkStdDevMetersPerSqrtSecond · Odometry|DriftFloat0.0位置漂移的随机游走强度,单位 m/√s。需先勾选 Noise Enabled。最小 0.0
Child Frame IdChildFrameId · Odometry|FramesStringbase_link写入输出数据的被跟踪坐标系名,默认 base_link。
Odometry Frame IdOdometryFrameId · Odometry|FramesStringodom写入输出数据的里程计坐标系名,默认 odom。
Maximum Valid Delta SecondsMaximumValidDeltaSeconds · Odometry|HistoryFloat0.5相邻样本的间隔超过它,样本为 Invalid Delta Time,起点重设。单位 s。最小 0.01
Minimum Valid Delta SecondsMinimumValidDeltaSeconds · Odometry|HistoryFloat0.0001相邻样本的间隔小于它,样本为 Invalid Delta Time,起点重设。单位 s。最小 0.0001
Teleport Angle DegreesTeleportAngleDegrees · Odometry|HistoryFloat120.0相邻样本间转角超过它,样本为 Teleport Detected,起点重设。单位度。范围 1.0 – 180.0
Teleport Distance MetersTeleportDistanceMeters · Odometry|HistoryFloat5.0相邻样本间位移超过它,样本为 Teleport Detected,起点重设。单位 m。最小 0.01
Angular Velocity Noise Std Dev Rad Per SecondAngularVelocityNoiseStdDevRadPerSecond · Odometry|NoiseFloat0.0角速度白噪声强度,单位 rad/s。需先勾选 Noise Enabled。最小 0.0
Linear Velocity Noise Std Dev Meters Per SecondLinearVelocityNoiseStdDevMetersPerSecond · Odometry|NoiseFloat0.0线速度白噪声强度,单位 m/s。需先勾选 Noise Enabled。最小 0.0
Orientation Noise Std Dev DegreesOrientationNoiseStdDevDegrees · Odometry|NoiseFloat0.0朝向白噪声强度,单位度。需先勾选 Noise Enabled。最小 0.0
Position Noise Std Dev MetersPositionNoiseStdDevMeters · Odometry|NoiseFloat0.0位置白噪声强度,单位 m。需先勾选 Noise Enabled。最小 0.0
Custom Tracked ComponentCustomTrackedComponent · Odometry|TrackingComponent Reference结构体()要跟踪的组件。为空时跟踪 Actor 的根组件。
Frame Id继承FrameId · uBot SensorStringodom父类默认 ""写入帧头的坐标系名,默认 odom。
Sensor Id继承SensorId · uBot SensorStringodometry_sensor父类默认 ""写入帧头的传感器标识,默认 odometry_sensor。
Update Rate Hz继承UpdateRateHz · uBot SensorFloat30.0父类默认 10.0自动采样频率,默认 30 Hz。运行中修改请用 Set Update Rate Hz。范围 0.1 – 240.0

来自 UBot Sensor Component

节点
属性