2024.05 — 2024.08RoboMaster 赛场部署 · 开源项目

舵轮底盘与功率控制

算法与嵌入式开发 · 独立完成并开源

开发底盘功率建模、约束与能量控制算法,分别实现麦轮/全向轮、舵轮及轮腿方案,并整理开源报告与代码。

个人工作
功率算法与三类底盘适配
模型输入
电机反馈 + 系统总功率测量
公开资料
代码、模型说明与演示视频
RLS 演示:调试器中的参数与功率曲线随运动变化。

背景

底盘在功率受限时仍需响应运动指令。单纯按转速误差分配功率,在小误差和坡上停驻等工况下也需要处理。

我完成了开源项目中的功率算法及三类底盘适配,复用团队已有的底盘解算、矩阵等基础代码。开发发生于 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 个任务迭代用于功率估计,随后排除总上限仍由当前裁判 / 电容状态决定失联电机不继续正常驱动,其余电机在现有预算内工作
裁判与超级电容均失联没有可信总功率标签,停止在线更新并使用模型估计关闭能量环,按最近等级计算保守上限限制总输出,等待任一测量链路恢复

技术决策

小转速误差时改变分配权重

背景
只按转速误差分配,在小误差或坡上停驻时可能过于敏感。
选择
根据总误差在误差权重和原始预测功率比例之间过渡。

轮腿底盘优先保留平衡项

背景
统一缩放全部力矩会同时改变姿态平衡所需的输出。
选择
按报告将力矩分解,保留姿态相关项,对速度与偏航相关项求解功率约束。

分开处理测量失效与输出失效

背景
电机、超级电容与裁判系统提供不同输入,失联后不能用同一个状态替代所有判断。
选择
依据仍有效的测量选择模型标签与能量反馈;对断联电机停止正常输出,并短暂保留最近反馈用于估算。

功率预算低于模型可达范围时

背景
允许力矩通过二次方程求解;预算不足时,判别式可能为负。
选择
麦轮/全向轮实现此时取二次函数顶点对应的力矩,再按电机输出限幅。若模型最小功率仍高于预算,该分支不能满足给定上限。轮腿方案保留姿态相关项,对运动分量的约束也受预算可行性限制。

验证与现场记录

  1. 开源 RLS 演示保留了调试器参数和功率曲线,舵轮视频展示了底盘运动。
  2. 充电与补电视频来自比赛画面,对应报告中的能量使用示例。
  3. 开源报告记录:2024 赛季战队机器人未因底盘超功率被裁判系统扣血。

公开资料