chassis
上游未提供说明。
Localization/EKF/LocEKF.hpp:250.1.0+825f1408280d34 / 67 个公开 API 符号没有说明。
上游未提供说明。
Localization/EKF/LocEKF.hpp:25上游未提供说明。
Localization/EKF/LocEKF.hpp:25上游未提供说明。
上游未提供说明。
可配置历史缓冲容量的 ESKF 定位系统实现类。 继承 IChassisLoc 接口,与底盘系统统一对接 封装 ESKF 算法,提供轮速 + 陀螺仪 + 外部位姿观测的融合能力 自动同步 ESKF 状态到 IChassisLoc 的 posture 和 velocity 历史状态缓冲容量可在工程接入时按回放需求和 RAM 预算做权衡 特性: update() updateLidar() 本类默认和使用的是同一时间基准 如果外部观测来自另一套时钟,必须先由接入工程完成对时或时间映射 本驱动库不负责上下位机对时 时间基准边界: StateBufferCapacity 保存多少个历史状态点,用于晚到观测回放 InputBufferCapacity 保存多少个尚未推进进 EKF 的输入样本,默认 4
Localization/EKF/LocEKF.hpp:46内部位置 EKF。 [x, y, yaw, yaw_offset] 状态向量是, 其中 yaw_offset 用来吸收陀螺仪与外部绝对观测之间可能存在的偏差。
Localization/EKF/LocEKF.hpp:61上游未提供说明。
Localization/EKF/LocEKF.hpp:227上游未提供说明。
Localization/EKF/LocEKF.hpp:72上游未提供说明。
Localization/EKF/LocEKF.hpp:235
chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::LocEKF (motion::IChassisMotion &motion, const Config &cfg, sensors::gyro::HWT101CT &gyro, const uint32_t delta_ticks=1)
motion 作为里程计输入来源的 Motion cfg 滤波配置 gyro 提供 yaw / wz 观测的陀螺仪 delta_ticks update() 两次调用之间预计相隔多少个 HAL tick 若初始状态依赖首次外部观测,推荐先让 Motion 独立运行,待拿到第一帧雷达位姿和 第一帧陀螺仪数据,并准备好 cfg.x_init 等初始条件后,再构造本对象。
Localization/EKF/LocEKF.hpp:408
chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::PositionEKF::PositionEKF (const Config &cfg)
上游未提供说明。
Localization/EKF/LocEKF.hpp:136
auto chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::PositionEKF::covariance () const
返回当前状态协方差。
Localization/EKF/LocEKF.hpp:145
void chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::PositionEKF::gyroUpdate (const float &yaw)
用陀螺仪 yaw 做一次量测更新。
Localization/EKF/LocEKF.hpp:180
void chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::PositionEKF::lidarUpdate (const Posture &pos)
用外部绝对位姿做一次量测更新。
Localization/EKF/LocEKF.hpp:188
void chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::PositionEKF::odomUpdate (const Velocity &vel, const float dt)
只用轮速里程计推进一次预测。
Localization/EKF/LocEKF.hpp:155
void chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::PositionEKF::reset (const VecS &state, const MatS &covariance)
用指定状态和协方差直接覆盖滤波器,供回溯重放使用。
Localization/EKF/LocEKF.hpp:148
auto chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::PositionEKF::state () const
返回当前 EKF 状态向量。
Localization/EKF/LocEKF.hpp:143
float chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::dt () const
约定 HAL tick 为 1ms,因此这里直接换算成秒。
Localization/EKF/LocEKF.hpp:252
bool chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::isGyroEnabled () const
上游未提供说明。
Localization/EKF/LocEKF.hpp:396
bool chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::isLidarEnabled () const
上游未提供说明。
Localization/EKF/LocEKF.hpp:397
uint32_t chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::next_idx () const
只有两个缓冲区,因此这里直接在 0 / 1 之间切换。
Localization/EKF/LocEKF.hpp:447
Posture chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::postureInWorld () const override
双缓冲读取,避免读到 update 中间态。
Localization/EKF/LocEKF.hpp:427
void chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::setGyroEnabled (const bool enabled)
上游未提供说明。
Localization/EKF/LocEKF.hpp:394
void chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::setLidarEnabled (const bool enabled)
上游未提供说明。
Localization/EKF/LocEKF.hpp:395
void chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::update ()
按固定 dt 采样底盘速度和陀螺仪,并推进一次滤波状态。 dt 由构造参数 delta_ticks 决定,默认假设 tick 时间基准为 1ms。
Localization/EKF/LocEKF.hpp:318
void chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::updateEKF ()
消费输入缓冲并推进 EKF,然后同步对外可读状态。
Localization/EKF/LocEKF.hpp:266
void chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::updateInput ()
把当前轮速和陀螺仪采样压入输入缓冲。
Localization/EKF/LocEKF.hpp:255
void chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::updateLidar (const Posture &pos, const uint32_t ticks)
注入一帧外部位姿观测。 pos 外部观测的世界系位姿,单位语义与 Posture 一致 ticks update() 该观测对应的时间戳,必须与内部采样使用的时间基准一致; 若观测来自另一套时钟,需先由接入工程换算到统一时基后再传入 StateBufferCapacity 如果观测晚到但仍在历史缓冲区范围内,当前实现会回溯状态并重放后续输入。 可回放窗口长度由模板参数决定。
Localization/EKF/LocEKF.hpp:339
void chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::updateLoc ()
根据当前 EKF 状态刷新对外暴露的 posture / velocity 缓冲。
Localization/EKF/LocEKF.hpp:287
Velocity chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::velocityInBody () const override
双缓冲读取,避免读到 update 中间态。
Localization/EKF/LocEKF.hpp:417
Velocity chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::velocityInWorld () const override
双缓冲读取,避免读到 update 中间态。
Localization/EKF/LocEKF.hpp:422
using chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::Config = typename PositionEKF::Config
上游未提供说明。
Localization/EKF/LocEKF.hpp:311
uint32_t chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::Input::ticks
输入对应的时间戳;默认来自本地 tick,若外部观测参与回放,工程侧需先把时间基准对齐
Localization/EKF/LocEKF.hpp:229
Velocity chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::Input::vel
该时刻的里程计预测输入
Localization/EKF/LocEKF.hpp:231
float chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::Input::yaw_gyro
该时刻的陀螺仪 yaw 观测
Localization/EKF/LocEKF.hpp:232
struct chassis::loc::LocEKF::PositionEKF::Config::@007103227310027305026102154020312164355357035052 chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::PositionEKF::Config::covP
上游未提供说明。
Localization/EKF/LocEKF.hpp:97
struct chassis::loc::LocEKF::PositionEKF::Config::@101333314345004074132312303221246003261163207252::@175340041104356104356371041244266301212256374154 chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::PositionEKF::Config::gyro
上游未提供说明。
Localization/EKF/LocEKF.hpp:122
struct chassis::loc::LocEKF::PositionEKF::Config::@101333314345004074132312303221246003261163207252::@014206313035024112145210232025306065301174046155 chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::PositionEKF::Config::lidar
上游未提供说明。
Localization/EKF/LocEKF.hpp:132
struct chassis::loc::LocEKF::PositionEKF::Config::@324300371120222061137354153047074105277163021363 chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::PositionEKF::Config::noiseQ
上游未提供说明。
Localization/EKF/LocEKF.hpp:110
struct chassis::loc::LocEKF::PositionEKF::Config::@101333314345004074132312303221246003261163207252 chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::PositionEKF::Config::noiseR
上游未提供说明。
Localization/EKF/LocEKF.hpp:133
float chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::PositionEKF::Config::x
上游未提供说明。
Localization/EKF/LocEKF.hpp:79
struct chassis::loc::LocEKF::PositionEKF::Config::@076150034055000002104272336301152127011334367235 chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::PositionEKF::Config::x_init
上游未提供说明。
Localization/EKF/LocEKF.hpp:84
float chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::PositionEKF::Config::xy
外部位姿观测中的平移噪声
Localization/EKF/LocEKF.hpp:89
float chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::PositionEKF::Config::y
上游未提供说明。
Localization/EKF/LocEKF.hpp:79
float chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::PositionEKF::Config::yaw
陀螺仪 yaw 观测噪声 外部位姿观测中的航向噪声
Localization/EKF/LocEKF.hpp:80
float chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::PositionEKF::Config::yaw_offset
上游未提供说明。
Localization/EKF/LocEKF.hpp:81
math::Mat<float, 1, 1> chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::PositionEKF::R_gyro_
上游未提供说明。
Localization/EKF/LocEKF.hpp:218
math::Mat<float, 3, 3> chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::PositionEKF::R_lidar_
上游未提供说明。
Localization/EKF/LocEKF.hpp:219
PositionEKF::MatS chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::StatePoint::P
上游未提供说明。
Localization/EKF/LocEKF.hpp:239
Input chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::StatePoint::input
推导出该状态时所使用的输入样本
Localization/EKF/LocEKF.hpp:241
PositionEKF::VecS chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::StatePoint::x
上游未提供说明。
Localization/EKF/LocEKF.hpp:238
uint32_t chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::dticks_
相邻 update 之间的 tick 间隔
Localization/EKF/LocEKF.hpp:247
sensors::gyro::HWT101CT& chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::gyro_
提供 yaw / wz 观测的陀螺仪
Localization/EKF/LocEKF.hpp:52
bool chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::gyro_enabled_
上游未提供说明。
Localization/EKF/LocEKF.hpp:223
std::atomic<size_t> chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::idx_
当前对外可见缓冲区下标
Localization/EKF/LocEKF.hpp:444
Velocity chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::in_body
上游未提供说明。
Localization/EKF/LocEKF.hpp:440
Posture chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::in_world
上游未提供说明。
Localization/EKF/LocEKF.hpp:435
Velocity chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::in_world
上游未提供说明。
Localization/EKF/LocEKF.hpp:441
Deque<Input, InputBufferCapacity> chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::input_buffer_
尚未推进进 EKF 的输入样本队列
Localization/EKF/LocEKF.hpp:245
bool chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::lidar_enabled_
上游未提供说明。
Localization/EKF/LocEKF.hpp:224
AtomicFlagLock chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::lock_
雷达回放时用于阻止并发 updateEKF()
Localization/EKF/LocEKF.hpp:249
PositionEKF chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::pos_ekf_
真正执行滤波计算的内部对象
Localization/EKF/LocEKF.hpp:221
struct chassis::loc::LocEKF::@145332172176301216031344167226201262207172340035 chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::posture_[2] [2]
上游未提供说明。
Localization/EKF/LocEKF.hpp:436
Deque<StatePoint, StateBufferCapacity> chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::state_buffer_
历史状态,用于处理晚到观测回放
Localization/EKF/LocEKF.hpp:244
struct chassis::loc::LocEKF::@173032060166225015142253032031131170225127244036 chassis::loc::LocEKF< StateBufferCapacity, InputBufferCapacity >::velocity_[2] [2]
上游未提供说明。
Localization/EKF/LocEKF.hpp:442上游未提供说明。
Localization/EKF/LocEKF.hpp:22基于扩展卡尔曼滤波的底盘定位后端。 syhanjin 2026-03-11 使用 fastlio2(10Hz) + encoder(1kHz) + HWT101CT(yaw, 1kHz) 融合定位
Localization/EKF/LocEKF.hpp