🤖 整机调试实战:步态调参与故障排查

面向已经做好关节模组(如本项目 Hdrive)、想把它们组装成「会站、会走、摔不坏」整机的读者。本页把「上电安全 → 单关节 → 多关节 → 站立 → 平衡 → 行走」的整机调试路线拆成可执行的步骤,并给出关节整定、通信同步、步态调参、故障排查的实操方法与参数清单。
整机调试 步态调参 关节整定 FOC 三环 故障排查 验收测试
🎯 本页学习目标
1. 能按「硬件上电安全 → 单关节运动 → 多关节协调 → 站立 → 平衡 → 行走」六阶段推进整机调试,并说出每一阶段的验收标准
2. 能说出 FOC 电流环/速度环/位置环的整定顺序与参数判断(比例过大→抖动、积分→稳态误差/饱和),并掌握振荡的判定方法
3. 能讲清机械谐振的测量方法与陷波滤波器的作用,以及库仑/粘滞摩擦的辨识与补偿方法
4. 能解释 CAN/EtherCAT 总线的帧率、控制周期与抖动,并记住「先通信后使能」的上电时序
5. 能列出「站立 → 行走」的调参清单(步幅、步频、抬脚高度、支撑期占比、躯干前倾角、重心高度),并用倒立摆/ZMP 直觉解释常见步态问题的成因
6. 能按排查决策树定位电机不转、抖动啸叫、关节过热、位置漂移、通信中断、掉电坠落等故障
建议用时:约 90~120 分钟(建议边看边对着你的 Hdrive 整机操作)

1 整机调试总流程:六阶段路线图

整机调试最大的坑是「一步到位」:刚把 12 个关节拧上腿就急着让它走路,结果一旦抖动、发热、摔倒,你分不清是哪个关节、哪一环的问题。正确做法是把调试分层递进,每一阶段只验证一件事,通过了再进入下一阶段。

1硬件上电安全
限流上电、测电源、验 MOS 与采样,不接电机先跑「点灯+空 PWM」
2单关节运动
单个关节标定编码器、整定电流/速度/位置环,做到「指哪打哪」
3多关节协调
一条腿上的髋/膝/踝联合运动,验证总线同步、力矩限幅、抱闸时序
4站立
双腿锁髋锁膝站立,质心投影落在支撑多边形内,能抗轻微推搡
5平衡
原地重心前后/左右转移、单腿支撑,验证踝策略与迈步策略
6行走
小步慢走起步,逐步加步幅/步频,最终抗扰动行走与停止

每阶段的验收标准要「可测量、可复现」,不要用「感觉还行」这种主观判断。下表给出每个阶段常用的量化门槛:

阶段验收标准(量化)常用工具不通过时的典型原因
1 上电安全 空载电流 < 阈值(约几十 mA 级)、3.3V/5V/母线电压正确、无元件发烫、nFAULT 为高 限流电源、万用表、示波器 短路/虚焊/去耦不足/驱动保护触发
2 单关节 位置阶跃无超调或超调 < 约 10~20%,速度阶跃快速收敛,电流环无啸叫 串口绘图、编码器读数 增益过大/过小、谐振、编码器零位错误
3 多关节 多关节同步误差 < 约 1~2 个控制周期,丢帧率接近 0,抱闸时序正确 总线分析仪、逻辑分析仪 终端电阻、ID 冲突、抖动过大
4 站立 静立 30s 不倒,质心投影稳定在支撑多边形内,轻微推搡(< 约 5N)不倾倒 IMU、ZMP 在线估计 踝刚度不足、质心估计误差
5 平衡 原地重心转移幅度达标、单腿支撑约 2~3s 不倾倒 IMU、脚底力传感器 侧向刚度不足、捕获点(CP)越界未迈步
6 行走 连续步行约 10~20 步不摔、平均速度约 0.1~0.3m/s、落地冲击在限幅内 录像、里程计、加速度计 步态参数不当(见第 4 节)
⚠️ 安全铁律:整机调试全程要有「急停」能力——物理急停开关、软件限幅(电流限幅、速度限幅、位置软限位)、抱闸自动刹车三层都要在第一次带电机上电前配好。人在旁边随时准备断电,机器人固定或悬吊,避免第一脚就撞墙/夹手。

2 关节级整定实战:FOC 三环、谐振与摩擦

整机走得好不好,先看每个关节「听不听话」。关节级整定的核心是由内向外:先把电流环(力矩环)调好,再包速度环,最后包位置环。内环是外环的「执行机构」,内环不稳,外环永远调不稳。

2.1 FOC 电流环整定

电流环是力矩的直接来源,它决定了关节的「硬度」和响应速度。整定目标是:阶跃电流响应快、无振荡、跟踪误差小,即带宽相位裕度达标。对关节模组,电流环带宽约 300Hz~1kHz 是常见目标,高性能场合可到约 2kHz 以上;相位裕度目标约 45°~60°,增益裕度约 6~10dB(小于此值易振荡)。

整定步骤(以本项目 SimpleFOC 生态为例):

  1. 先标定采样零点:电机不转时读三相电流,校掉 INA240 偏置(1.65V 参考偏置),否则低速时电流环会「乱抖」。
  2. 开环验证:给一个低频小电压/小电流开环驱动,确认相电流正弦、电机平稳旋转、方向正确。
  3. 阶跃激励:施加一个电流阶跃指令(如 0 → 1A,约为额定电流的 10%~20%),观察实测电流响应。
  4. 加比例 Kp:从 0 逐步加大 Kp,直到阶跃响应「接近一条直角边」但不出现明显振荡;继续加若出现等幅/发散振荡或可闻啸叫,说明增益过高,回退到约 70%~80%。
  5. 加积分 Ki:Ki 用来消除稳态电流误差,但过大导致超调与低频振荡。Ki 的合理量级约为「Kp ÷ 电机电气时间常数(约 L/R)」。
  6. 验证带宽:用小幅正弦扫频(或阶跃上升时间)复核带宽与相位裕度,确认无振荡后再交给速度环。
# SimpleFOC 电流环整定示意(伪代码,数值为示例)
motor.voltage_power_supply = 24;      # 母线电压
driver.voltage_limit = 12;            # 调试期先限幅,防止过冲
motor.PID_current_q.P = 8.0;          # 电流环比例(示例,按电机电感调整)
motor.PID_current_q.I = 400.0;        # 电流环积分(约 = P / (L/R))
motor.PID_current_d.P = 8.0;          # d 轴同理
motor.PID_current_d.I = 400.0;
motor.current_limit = 25.0;           # 电流限幅(堵转保护)
# 调试:从 P=0 起步,逐步加大;出现啸叫即回退
💡 振荡判定三招:① 听——电流环增益过高常伴随高频「吱吱」啸叫;② 看——阶跃响应在稳态附近反复上下来回即为欠阻尼/振荡;③ 摸——电机轴出现不随指令的高频抖动。三者出现其一,先降 Kp 再谈带宽。

2.2 速度环 / 位置环 PID 整定步骤与参数判断

速度环与位置环通常用串级 PI/PID,整定顺序仍是先内后外。工程上常用齐格勒-尼科尔斯(Ziegler-Nichols)临界比例法起步:先只加比例,逐步增大直到系统出现持续等幅振荡,记下此时的临界增益 Ku 与振荡周期 Tu,再按经验公式取整——PID 时约 Kp = 0.6Ku、Ti = 0.5Tu、Td = 0.125Tu,PI 时约 Kp = 0.45Ku、Ti = 0.83Tu。这个方法给出的是「能跑」的初值,之后还要微调。

参数作用过大的症状过小的症状
速度环比例 Kp 决定速度响应快慢与刚度 速度抖动、噪声放大、高频啸叫 响应慢、跟随滞后、发软
速度环积分 Ki 消除稳态速度误差、抵抗恒定负载 超调、低频振荡、积分饱和 存在稳态速度误差、抗负载差
位置环比例 Kp 决定位置刚度(弹簧感) 定位振荡、来回摆动、噪声抖动 定位软、有静差、受外力易偏
位置环积分(若用) 消除定位静差 超调、积分饱和、归零过冲 残余位置静差
位置环微分 Kd(若用) 增加阻尼、抑制超调 放大编码器噪声、抖动 超调大、收敛慢

判断口诀:「比例管快慢、积分管误差、微分管阻尼」。位置环典型带宽约 20~100Hz,速度环约 50~200Hz(约为电流环的 1/10~1/5),带宽由内向外逐层递减——外环快不过内环,否则会「催着内环跑」导致振荡。整定完成标准:位置阶跃「快、稳、准」——上升时间尽量短、超调 < 约 10~20%、无振荡、静差接近 0。

2.3 机械谐振与陷波滤波器

关节不是刚体:电机惯量通过减速器/谐波、联轴器连到负载,构成双惯量系统,传动链的柔顺性会在几百 Hz~几 kHz 处产生一个机械谐振峰。当速度环/位置环带宽接近这个频率时,系统会剧烈振动、啸叫甚至损坏减速器——这就是「增益一加就抖」的常见根源。

如何测谐振频率:开环扫频:不闭环,给电机施加幅值很小的正弦速度/电流激励,从低频扫到高频,记录速度幅值响应,找到幅值显著放大的峰值频率(反谐振点附近也一并记录);② 白噪声激励 + FFT:注入宽带小信号,对速度/电流做 FFT 找谱峰;③ 自整定辨识:很多伺服驱动器自带在线辨识(基于 FFT 的谐振特征辨识)。测得谐振频率 f_r 后,在速度环输出(或电流指令前)串入一个陷波滤波器(notch filter):

陷波器(双二次型):中心频率 f0 = f_r,深度由参数 ξ1/ξ2(阻尼比)决定
本质:在 f_r 处制造一个「陷下去的坑」,衰减该频率的增益,让环路增益不越过 0dB 临界

工程要点:陷波中心频率会随负载和姿态漂移(负载越大、等效惯量越大,谐振频率越低),所以固定陷波只适合负载基本不变的关节;负载变化大时优先用自适应陷波(在线辨识 f_r 并实时跟踪)。陷波深度不是越深越好——太深会吃掉相位裕度,一般先「浅陷波 + 降增益」组合处理。

2.4 前馈与摩擦补偿(库仑/粘滞摩擦辨识)

关节运动时,摩擦会吃掉一部分力矩,表现为:低速时「顿挫」(爬行)、换向时位置「死区」、速度环跟随滞后。摩擦最常用的模型是库仑 + 粘滞:

τ_f(ω) = F_c · sign(ω) + B · ω  (F_c 为库仑摩擦系数,B 为粘滞摩擦系数,ω 为角速度)

辨识方法(恒速法):让关节以多个恒定速度 ω₁…ωₙ 正转和反转(电流环闭环、速度开环给恒定电压/电流),每点记录平均力矩(电流 × 扭矩系数);以 ω 为横轴、平均 τ 为纵轴做线性拟合,截距≈库仑摩擦 F_c,斜率≈粘滞摩擦 B(正反转符号相反,取绝对值)。

# 摩擦辨识伪代码(恒速法)
for w in [0.5, 1, 2, 4, 8]:          # 多个恒定速度点(rad/s)
    for sign in [+1, -1]:            # 正反转各测一次
        drive_openloop(w * sign)     # 开环给到该速度,等稳定
        tau_avg = mean(iq) * Kt      # 平均力矩 = 平均电流 × 扭矩系数
        record(w, sign, tau_avg)     # 记录 (速度, 方向, 平均力矩)
# 拟合 tau_avg = Fc + B*|w| ,得到 Fc、B

得到 F̂c、B̂ 后,把它们作为前馈加到速度环输出上:

τ_ff = F̂c · sign(ω_ref) + B̂ · ω_ref + Ĵ · α_ref + τ_gravity(θ)
其中 Ĵ·α_ref 为惯量前馈,τ_gravity(θ) 为重力前馈(随关节角变化)

有了前馈,反馈环只需「修小误差」,带宽要求下降、跟踪更跟手。注意两点:① sign() 在零速附近会来回跳变,工程上常用 tanh() 平滑或加死区;② 摩擦系数会随温度、润滑老化变化,定期重辨识。

3 通信与同步调试:帧率、抖动、丢帧与上电时序

整机有十几个到几十个关节,「单关节调好」不等于「整机协调」——关节之间靠总线串起来,总线延迟与抖动会直接变成整机的不稳定。本节讲关节模组联网时最容易踩的坑。

3.1 CAN / EtherCAT 总线帧率与控制周期

总线速率典型控制周期适用关节数备注
CAN(CAN 2.0) 最高约 1Mbps(标准帧每帧 8 字节数据) 约 1ms~10ms(多节点时受带宽限制) 少~中(10~20 关节) 需算带宽:30 关节 × 1kHz × 8 字节会超 1Mbps,要降频或分组
CAN-FD 数据段可到约 5~8Mbps 约 0.5ms~2ms 帧数据更长,缓解 CAN 2.0 带宽瓶颈
EtherCAT 100Mbps 全双工 约 125μs~1ms(常见) 多(几十~上百关节) 分布式时钟(DC)同步,抖动亚微秒级

控制周期怎么选:位置/速度指令下发周期要和内环匹配——位置环周期通常取约 1ms(EtherCAT 的 1kHz 或 CAN 的 1ms),电流环则永远在关节 MCU 内部以更高频(约 10~40kHz)独立跑。外层指令周期太长会「一顿一顿」,太短又浪费总线带宽。

3.2 控制周期抖动与多关节同步

抖动(jitter)指控制周期实际执行时刻的波动。抖动大时,即使平均周期正确,位置环的「采样时刻忽快忽慢」也会带来抖动噪声甚至振荡。降低抖动的手段:① 用硬件定时器中断而不是软件 delay() 生成控制节拍;② 总线用主站硬件时间戳/分布式时钟(EtherCAT DC)对齐;③ 把通信接收放进中断/DMA,避免主循环耗时导致丢节拍。

多关节同步的要求:所有关节在同一个控制周期里采样、执行,指令带时间戳,过期指令丢弃。EtherCAT 靠 DC 把各从站时钟对齐到亚微秒级;CAN 无硬件同步,多关节高频同步更难,通常靠「广播帧 + 各节点本地定时」近似同步。

3.3 丢帧处理

3.4 上电时序:先通信后使能

整机上电顺序必须遵守「先通信、后使能、再运动」,断电反序:

1上电
主站和各关节 MCU 上电,跑自检(电压/温度/编码器)
2通信握手
主站枚举各关节,确认 ID、版本、状态字无故障
3建力矩→开抱闸
电机先建立保持力矩,再打开抱闸(顺序反了会坠落)
4使能+运动
关节使能后,再下发位置/力矩/步态指令
⚠️ 断电时序(抱闸安全):下电时先关抱闸刹住、再断电机驱动;上电时先让电机建立力矩、再打开抱闸。顺序一错,负载腿会自由落体。本项目 Hdrive 用 AO3400 + 抱闸线圈控制,软件上必须把这条时序写进状态机,并做上电默认「抱闸抱死」的失效安全设计。

4 步态调参实战:参数清单、顺序与倒立摆直觉

关节都听话了,整机还不会走路——因为「走路」是全身动力学问题:迈步时质心会周期性跑出支撑多边形,机器人靠重力前倒,再用下一步的落点接住自己。步态调参就是调整一组高层参数,让这条「受控的不稳定」链条稳定运转。本节先给参数清单,再讲调参顺序,最后用倒立摆/ZMP 直觉解释「为什么调这个参数」。

4.1 从站立到行走的参数清单

参数含义起步参考值(小机)逐步调整方向
步幅(步长) 单步质心前进的水平距离 约 3~8cm(小步) 站稳后逐步加大,一次加约 1~2cm
步频(步态频率) 单位时间步数(或步态周期倒数) 约 0.4~0.8Hz(慢走) 走稳后逐步提高,同时注意落地冲击
抬脚高度(足底离地净空) 摆动腿脚尖离地最大高度 约 1~3cm 够用即可,过高反而冲击大、单支撑期变长
支撑期占比(duty factor) 单腿支撑时间占步态周期比例 约 0.6~0.7(偏静态) 走快时降到约 0.5 左右,跑动 < 0.5
躯干前倾角 躯干相对竖直的前倾角度 约 1°~3° 加速/起步加大,减速/停止回正甚至后仰
重心高度(CoM 高度) 质心离地高度(由屈膝程度决定) 腿伸直略高、屈膝略低 降低更稳但屈膝力矩大、能耗高
💡 一句话原则:起步永远是「小步幅、低步频、高支撑占比、小前倾、略屈膝」——先求稳,再求快。所有参数一次只调一个,记录每一步变化带来的现象,才能建立「参数 ↔ 现象」的对应关系。

4.2 调参顺序与判断标准

1先站稳
双腿站立,质心投影落在双脚支撑多边形内,踝关节能跟踪小扰动
2原地重心转移
前后、左右缓慢转移重心,体会支撑多边形的边界
3单腿支撑
抬起一条腿维持约 2~3s,验证另一腿的踝/髋能独自支撑
4小步慢走
小步幅+低步频+高支撑占比起步,先走 2~3 步就停
5逐步加快
一次只加一个参数:先加步频、再加步幅、最后降支撑占比

每一步的判断标准:站稳 → 站立 30s 不抖;原地转移 → 质心轨迹平滑无突跳;单腿支撑 → 不倾倒、支撑踝无明显高频抖;小步慢走 → 连续 5 步不拖地不后仰;逐步加快 → 每一步都先「能走稳」再「走更快」,出现任何异常立即回退上一组参数。

4.3 常见问题对应参数(排查表)

现象最可能相关的参数调整方向倒立摆/ZMP 直觉
迈不开步(原地踏步/步幅极小) 前倾角不足、步幅过小、踝力矩/地面摩擦不足 加大前倾角、加大步幅、提高踝增益或换地面 前倾让质心获得向前偏移,产生向前的重力分量「推」身体前倒;ZMP 前移到支撑区前缘,才有前进动力
拖地(脚尖擦地) 抬脚高度不足、摆动轨迹过低、重心未提前转移 加抬脚高度、抬高摆动轨迹、提前把重心移到支撑腿 摆动腿离地净空不够,脚还没摆到落点就蹭地,被摩擦力绊住
身体后仰 前倾不足/过早回正、步频过快、质心没跟上 维持前倾、降步频、让质心先于摆腿移动 后仰时质心投影落到支撑区后缘,前进分量消失,机器被自己「拉住」
横向晃动(左右摆) 侧向质心转移幅度过冲、髋内收外展刚度不足、步宽过窄 减小侧移过冲、加髋侧向增益、适当加步宽 单腿支撑期质心必须在支撑脚正上方附近;侧向转移过头,ZMP 越出脚掌内侧就侧倾
落地冲击大(咚咚响) 抬脚过高、落地速度大、踝/膝缺乏柔顺缓冲、支撑期切换太急 降抬脚高度、控制落地速度、加柔顺(阻抗/力矩环)、延长双支撑相 摆动腿落地动能瞬间转化为地面反力冲击;柔顺踝把冲击「泄」掉,而不是硬撞

4.4 倒立摆 / ZMP 直觉:参数为什么这样影响

把机器人简化成线性倒立摆(LIPM):一根等长腿顶着一个质点(质心),质心高度恒定为 h,绕支撑点摆动。它的水平动力学极简:

ẍ = (g / h) · x  (x 为质心相对支撑点的水平偏移,g 为重力加速度)
p_ZMP = x − (h / g) · ẍ  (ZMP = 质心投影 减去 惯性力修正)

从这两个式子能推出上面所有参数的作用:

💡 记法:「前倾给动力、步幅定步长、步频定节奏、占比定稳度、抬脚定净空、重心定摆速」。调参时脑子里始终有一条 LIPM:质心是那个「想倒的摆」,落点是那个「接住它的支撑点」,ZMP 必须在支撑多边形内留裕度。

5 故障排查流程:六类故障决策树

调试中出问题,最忌「东试一下西试一下」。正确做法是按决策树从「最常见、最易测」的原因开始逐层排查。下表把六类高频故障的排查顺序压缩成树:

整机异常 六类高频故障 电机不转 测母线电压/欠压 查使能·抱闸·指令与反馈 供电/抱闸/编码器 抖动·啸叫 先降电流环 Kp 扫频查谐振与编码器噪声 增益/谐振/噪声 关节过热 测持续电流是否超限 查堵转卡死与散热 超限/堵转/散热不足 位置漂移 查编码器磁环/连接 查传动打滑与背隙 松动/打滑/背隙/零位 通信中断 查 120Ω 终端电阻 查拓扑·ID·波特率 电阻/断线/ID 冲突 掉电坠落 查抱闸时序 查电容维持与保持力矩 时序/电容/力矩不足 排查步骤(从最常见、最易测开始) 高频根因
图 1:六类高频故障排查决策树——每类从「最常见、最易测」的第 1 步开始,两三步内收敛到右侧高频根因;完整三步排查详表见下
故障现象排查第 1 步排查第 2 步排查第 3 步常见根因
电机不转 测母线电压是否正常、有无欠压 查使能位/抱闸是否已打开、状态字是否故障 查通信指令是否到达、编码器是否有反馈 供电断、抱闸未开、使能未置、指令没发、编码器断线
电机抖动/啸叫 先降电流环 Kp 看是否消失 扫频找谐振峰,判断是否机械谐振 查编码器信号噪声/接地/屏蔽 增益过高、机械谐振、编码器噪声、采样偏置
关节过热 测持续电流是否长期接近/超过额定 查是否堵转、机械卡死、负载异常 查散热(风扇/导热/铜皮)是否到位 持续扭矩超限、堵转保护缺失、散热不足、环境温度高
位置漂移 查编码器磁环/连接是否松动 查传动是否打滑(联轴器/键槽) 查减速器背隙(回差) 编码器松动、打滑、背隙、零位漂移
通信中断 查两端 120Ω 终端电阻是否只加两端 查线缆/接插件接触、是否手拉手拓扑 查节点 ID 是否重复、波特率是否一致 终端电阻缺失/重复、线断、ID 冲突、波特率不匹配
掉电坠落 查抱闸时序(是否先断驱动后抱闸) 查掉电瞬间母线电压维持时间(电容) 查重力矩是否超过抱闸/保持力矩 抱闸时序错、电容保持不足、保持力矩不够

几个关键故障的深入排查

🔍 抖动/啸叫深挖:先「降增益」区分是控制失稳(降增益就好)还是机械谐振(降增益仍抖,扫频有明确峰)。谐振要加陷波,控制失稳要降增益/加阻尼。两者混在一起时,先处理谐振再调增益,否则永远在「一加就抖、一降就软」之间打转。
🔍 通信中断深挖:CAN 总线只在物理两端各加一个 120Ω 终端电阻,加多会拉低差分信号、加少会反射;分支线(星型)会破坏阻抗匹配,必须改手拉手。多个节点 ID 重复会导致总线错误帧暴涨、仲裁混乱。先「单节点通、再逐个加节点」是最快的定位法。
🔍 掉电坠落深挖:抱闸是「断电抱死」型(断电才刹车),所以正常上电运行时要先「通电松开」;突然掉电时靠母线电容保持让 MCU 再跑几百毫秒,完成「先抱闸、再停驱动」。如果电容不够大或时序错,重力矩会让腿瞬间砸下。必要时加大母线电容或加独立超级电容给控制侧续命。

6 整机测试与验收:标定、温升、耐久与稳定性

调好之后还要「验收」,证明整机真的合格,而不是「今天碰巧能走」。下面给出四项最基础的验收测试。

测试项方法合格判据(参考)
扭矩标定 测力臂 + 砝码/扭矩传感器,给多个电流值测输出扭矩,拟合电流→扭矩系数 Kt Kt 线性度好、与标称值偏差 < 约 ±10%;额定/峰值扭矩达标
温升测试 以额定扭矩/额定转速持续运行约 30~60min,测电机绕组与 MOS/驱动板温度 绕组与 MOS 温升在允许范围(参考值:MOS 表面 < 约 80°C,具体看器件结温降额)
耐久测试 规定工况循环运行(如步态循环 8h 或 N 万步),统计故障与磨损 无功能性故障,紧固件不松、编码器不漂、温升稳定
行走稳定性评估 连续步行记录步数/时长、质心侧向摆幅、跌倒次数、落地冲击峰值加速度 连续步行约 10~20 步不摔、质心摆幅小、落地冲击在限幅内、能平稳启动和停止

行走稳定性的简单指标(没有专业动作捕捉时也能测):① 连续步数/时长——能连续走多少步不倒;② 直线偏差——走 1m 后横向偏移多少;③ 落地冲击——用足底或躯干加速度计测落地瞬间峰值 g 值;④ ZMP 裕度——若有关节力矩与足底力,可实时算 ZMP 距支撑多边形边界的最近距离,裕度越大越稳。这些指标不需要昂贵设备,却能量化「走得好不好」。

7 与 Hdrive 结合:调试记录模板与常见问题清单

把上面的流程落到你的 Hdrive 关节模组上,关键是「记录」——参数一多,不记录就等于白调。下面给一个可直接复制的调试记录模板,以及结合本项目硬件的常见问题清单。

7.1 关节调试记录模板

============================================================
关节调试记录
------------------------------------------------------------
关节ID:__________    位置:髋/膝/踝(L/R)    固件版本:__________
电机型号:__________  减速比:__________      编码器:__________
日期:__________      调试人:__________
------------------------------------------------------------
[电流环]  Kp=____  Ki=____  带宽约____Hz  振荡判定:有/无
[速度环]  Kp=____  Ki=____  上升时间____ms 超调____%
[位置环]  Kp=____  Ki=____  Kd=____ 静差____ 振荡:有/无
[谐振]    谐振频率 f_r=____Hz  陷波中心=____ 深度=____
[摩擦]    Fc=____  B=____  辨识速度点:________
[限幅]    电流限幅=____A  速度限幅=____  软限位=____
[温升]    环境____°C  绕组____°C  MOS____°C  @额定运行____min
[抱闸]    上电时序验证:通过/失败  掉电抱闸:通过/失败
[备注]    ________________________________________________
============================================================

7.2 Hdrive 常见问题清单

现象结合本项目硬件的可能原因处理建议
上电就报 nFAULT DRV8323 过流/欠压/过温保护,或母线电容未紧贴、去耦不足 查母线电容位置、栅极电阻、限流上电,读 nFAULT 拉低原因
电流采样噪声大/乱抖 INA240 未做 Kelvin 连接、REF 1.65V 偏置不准、采样线没屏蔽 查 Kelvin 走线、校零点、加 RC 滤波、模拟区远离开关节点
低速顿挫/换向死区 摩擦补偿缺失、编码器零位不准、采样偏置 做摩擦辨识加前馈、重校编码器零位与采样零点
通信时通时断 TJA1042 终端电阻、CANH/CANL 接线、ID 冲突 两端各 120Ω、手拉手拓扑、逐个节点加、查 ID/波特率
掉电腿坠落 抱闸续流二极管方向、抱闸时序、母线电容保持不足 查 SS34 方向、校验上电/断电时序、加大母线电容
MOS 过热 2oz 铜厚/散热过孔不足、持续电流超限 补散热过孔阵列、加散热片、核对额定扭矩下的电流

8 小结与思考

📌 本节小结:整机调试按「上电安全 → 单关节 → 多关节 → 站立 → 平衡 → 行走」六阶段逐层推进,每阶段用可量化标准验收;关节级整定由内向外——电流环先稳(目标带宽约 300Hz~1kHz、相位裕度约 45°~60°),再速度环、位置环(带宽逐层递减),比例管快慢、积分管误差、微分管阻尼;机械谐振用扫频测 f_r 后加陷波,摩擦用恒速法辨识库仑/粘滞系数做前馈;通信上 CAN/EtherCAT 各有其帧率与周期,抖动与丢帧要专门处理,上电必须「先通信后使能」;步态调参从「小步幅、低步频、高支撑占比、小前倾、略屈膝」起步,用 LIPM/ZMP 直觉理解每个参数的作用;故障排查按决策树从易到难,不盲试。
🤔 思考题: 1. 你的整机走到第 4 阶段「站立」就频繁抖腿,但单关节测试时位置环很正常。可能的原因有哪些?你会按什么顺序排查?(提示:多关节耦合、总线抖动、地面反力、支撑相负载突变)
2. 机器人「迈不开步」,你按第 4 节表把前倾角加到 8° 还是原地踏步,下一步该怀疑哪个环节?(提示:地面摩擦、踝力矩是否真的输出、前倾指令是否被姿态环吃掉)
3. 摩擦补偿用 sign(ω) 在零速附近抖动,如何平滑?如果关节负载随姿态变化(重力项),摩擦前馈公式还要加什么?

9 本节自测

1. 整机调试的正确推进顺序是?
💡 解析:整机调试必须分层递进,每一阶段只验证一件事,内层稳定再进外层。选 B。
2. FOC 电流环整定时,出现持续等幅振荡或可闻啸叫,最直接的判断是?
💡 解析:电流环增益过高导致相位裕度不足,阶跃响应欠阻尼振荡,典型表现就是啸叫,应降低 Kp(回退到约 70%~80%)。选 C。
3. 关于机械谐振与陷波滤波器,下列说法正确的是?
💡 解析:A 正确。谐振频率会随负载/姿态漂移,固定陷波只适合负载基本不变的情况;陷波太深会吃掉相位裕度,常与适度降增益配合。选 A。
4. 恒速法辨识摩擦时,以角速度 ω 为横轴、平均力矩 τ 为纵轴做线性拟合,得到的截距与斜率分别近似?
💡 解析:摩擦模型 τ_f = F_c·sign(ω) + B·ω,即 τ 与 ω 线性,截距对应库仑摩擦 F_c,斜率对应粘滞摩擦 B。选 D。
5. 关于上电时序,安全正确的顺序是?
💡 解析:必须先通信、电机先建立保持力矩、再开抱闸,否则负载腿会自由落体。断电时反序:先抱闸、再断驱动。选 B。
6. 机器人「迈不开步、原地踏步」,用倒立摆/ZMP 直觉判断,最可能的原因是?
💡 解析:前进动力来自质心相对支撑点的前移(前倾)产生的重力分量;前倾不足时 ZMP 不前移,身体「不往前倒」,自然迈不开步。抬脚过高反而拖慢摆动、支撑占比低是走不稳而非迈不开。选 A。
7. CAN 总线通信时通时断,下列排查顺序最合理的是?
💡 解析:通信问题从「单节点通不通」开始,再查物理层(两端各 120Ω、手拉手拓扑)、协议层(ID 唯一、波特率一致)。选 C。

10 参考来源

资料整理更新至 2026-08。下列来源经 web_search 核实,参数建议值中带「约」的为工程经验范围,请在实机上验证。