舵轮底盘与功率控制
算法与嵌入式开发 · 独立完成并开源
开发底盘功率建模、约束与能量控制算法,分别实现麦轮/全向轮、舵轮及轮腿方案,并整理开源报告与代码。
- 个人工作
- 功率算法与三类底盘适配
- 模型输入
- 电机反馈 + 系统总功率测量
- 公开资料
- 代码、模型说明与演示视频
背景
底盘在功率受限时仍需响应运动指令。单纯按转速误差分配功率,在小误差和坡上停驻等工况下也需要处理。
我完成了开源项目中的功率算法及三类底盘适配,复用团队已有的底盘解算、矩阵等基础代码。开发发生于 2024 赛季,开源资料于同年 9 月整理发布。
个人贡献
- 建立电机功率模型,并在麦轮/全向轮实现有条件的 RLS 参数更新、功率分配和能量控制。
- 完成舵轮转向/驱动两组电机的功率约束,以及轮腿底盘的运动分量解析约束。
- 实现测量失效时的模型更新与输出处理,整理模型推导、源码和演示材料。
- 技术环境
- STM32 · FreeRTOS · RLS · Power / Energy Control · Swerve Kinematics
系统实现
麦轮/全向轮
用速度和力矩构造模型特征,依据可信总功率更新 RLS;混合转速误差权重与预测功率比例,再反解允许力矩。
舵轮
转向与驱动电机组分别使用功率模型,先分配两组预算,再限制电机输出。开源适配使用传入的模型系数。
轮腿
保留与姿态平衡相关的力矩项,对速度和偏航相关分量求解衰减,结合电容能量控制可用功率。
模型与假设
P = Σ(τᵢωᵢ) + k₁Σ|ωᵢ| + k₂Στᵢ² + k₃
P 为功率(W),τ 为力矩(N·m),ω 为实际角速度(rad/s),且力矩与转速必须对应同一轴端。k₁、k₂ 表示速度及力矩平方相关的损耗系数,k₃ 为常量损耗项;麦轮/全向轮实现在线估计 k₁、k₂。
- 实现按 ω = rpm × π / 30 转换转速,并用电机力矩常数、减速比及电流/协议量程将输出命令换算为力矩;轴端约定需与接入的电机接口一致。
- 报告假设电机力矩响应相对快,且单个控制周期内实际转速变化较小。
- 麦轮/全向轮任务设置 1 ms 延时;RLS 更新还取决于使能状态、有效测量、死区及回馈功率条件。
- 优先使用超级电容反馈的底盘总功率作为标签;电容仍在充放电时,裁判系统侧的功率不等于底盘侧功率,只有满足相应条件才切换标签。
电机速度 + 力矩构造回归特征
实测底盘总功率超级电容;满足条件时使用裁判数据
RLS任务设置 1 ms 延时;按有效条件更新
各电机预测功率需求权重与总预算分配
允许力矩裁判 / 电容能量路径约束总上限
异常输入下的处理
| 输入状态 | 模型与假设 | 功率 / 能量上限 | 输出行为 |
|---|---|---|---|
| 裁判、超级电容与电机反馈有效 | 电机速度 / 力矩构造特征;超级电容底盘总功率作为标签,满足死区时更新 RLS | 裁判功率上限与超级电容能量环共同约束 | 按需求与预测功率分配各电机预算 |
| 裁判失联,超级电容与电机有效 | 超级电容仍提供总功率标签,RLS 可继续满足条件的更新 | 使用本地估算的保守裁判上限,并保留电容能量反馈 | 在计算后的保守总上限内继续分配 |
| 超级电容失联,裁判与电机有效 | 仅当电容被判断为能量耗尽且裁判总功率有效时采用裁判标签;否则停用更新 | 回退到裁判功率 / 缓冲能量路径 | 按较保守上限分配并等待电容恢复 |
| 单电机反馈失联 | 最近反馈保留最多 1000 个任务迭代用于功率估计,随后排除 | 总上限仍由当前裁判 / 电容状态决定 | 失联电机不继续正常驱动,其余电机在现有预算内工作 |
| 裁判与超级电容均失联 | 没有可信总功率标签,停止在线更新并使用模型估计 | 关闭能量环,按最近等级计算保守上限 | 限制总输出,等待任一测量链路恢复 |
技术决策
小转速误差时改变分配权重
- 背景
- 只按转速误差分配,在小误差或坡上停驻时可能过于敏感。
- 选择
- 根据总误差在误差权重和原始预测功率比例之间过渡。
轮腿底盘优先保留平衡项
- 背景
- 统一缩放全部力矩会同时改变姿态平衡所需的输出。
- 选择
- 按报告将力矩分解,保留姿态相关项,对速度与偏航相关项求解功率约束。
分开处理测量失效与输出失效
- 背景
- 电机、超级电容与裁判系统提供不同输入,失联后不能用同一个状态替代所有判断。
- 选择
- 依据仍有效的测量选择模型标签与能量反馈;对断联电机停止正常输出,并短暂保留最近反馈用于估算。
功率预算低于模型可达范围时
- 背景
- 允许力矩通过二次方程求解;预算不足时,判别式可能为负。
- 选择
- 麦轮/全向轮实现此时取二次函数顶点对应的力矩,再按电机输出限幅。若模型最小功率仍高于预算,该分支不能满足给定上限。轮腿方案保留姿态相关项,对运动分量的约束也受预算可行性限制。
验证与现场记录
- 开源 RLS 演示保留了调试器参数和功率曲线,舵轮视频展示了底盘运动。
- 充电与补电视频来自比赛画面,对应报告中的能量使用示例。
- 开源报告记录:2024 赛季战队机器人未因底盘超功率被裁判系统扣血。