跳至正文

控制参数整定与验证

已核对 2026-11-01

结果: 接受根据测量标准进行的设置,而不是一次成功的移动。首先验证校准、初始运动路径、轮廓和任何重力模型。

1. 准备基线计划

macOS / Linux
cp tools/tuning/example.json tools/tuning/plan.local.json
cp tools/tuning/controller.example.json tools/tuning/controller.local.json
Windows PowerShell
Copy-Item tools/tuning/example.json tools/tuning/plan.local.json
Copy-Item tools/tuning/controller.example.json tools/tuning/controller.local.json

在tools/tuning/plan.local.json中,将config设置为controller.local.json,将stage设置为baseline,将candidates设置为[]。源示例包含 PID 候选;不要将其作为基线测量来运行。

设置控制器端口和配置文件,并包括各配套电机在joints作为{"followerId": ID}。删除复制的durationMs: 计​​划的batch.maxDurationMs拥有持续时间预算。

规划场地 跑步前的决定
probeId 会移动的电机
poses.screen , poses.validate 用于筛选和验证的不同允许端点对;请勿在未检查物理位置的情况下复制示例计数 2000 / 2050
motion.speeds 适合所审查负载的速度
limits 跟随/支持误差、温度和电压限制
acceptance 误差、过冲、稳定和饱和标准
batch 重复次数、保留持续时间和总预算

位置是校正后的编码器计数。重新校准后,相同的数字可能代表不同的物理位置。支持关节保持现有的保持目标;该工具不会自动重新定位整个手臂。

2. 将三个命令分开

检查文件并估计总线使用 而不连接 :

macOS / Linux
npm run tune -- inspect tools/tuning/plan.local.json
Windows PowerShell
npm.cmd run tune -- inspect tools/tuning/plan.local.json

无需更换电机 即可读取固件、校准、限制和配置文件 :

macOS / Linux
npm run tune -- preflight tools/tuning/plan.local.json
Windows PowerShell
npm.cmd run tune -- preflight tools/tuning/plan.local.json

使用 运行批次 :

macOS / Linux
npm run tune -- run tools/tuning/plan.local.json
Windows PowerShell
npm.cmd run tune -- run tools/tuning/plan.local.json

如果预检显示意外的目标被剪切、模型错误或端点对折叠到一个位置,请勿运行。批量移动 probeId ;其他电机必须保持经过审查的支撑姿势。

3.按顺序调

  1. 基线: 初始运动和没有候选者的保持;建立可重复性并调查警报。
  2. 重力: 检查模型的姿势、方向和至少两种速度。此阶段在不改变增益的情况下收集数据。
  3. 速度: 使用稳定运动比较方向前馈。
  4. PID : 比较 P、D 并跨负载滤波;使用更长的保持时间来暴露振荡。
  5. 积分: 仅针对持久错误引入;一起测试收益和限制,包括小幅反转。
  6. 运动: 在比较加速度和斜坡时间时保持增益固定。
  7. 组合动作: 回放全臂路径;孤立的关节调谐不能验证耦合运动。
  8. 验证: 冻结设置并检查所需的速度、加速度、有效负载和延长保持时间。

该阶段限制候选人领域。基线、重力和验证不会更改设置。总输出限制仍然是明确配置的,而不是自动调整的。

4. 解释结果

每个 tools/tuning/logs/<run>/ 目录包含 events.ndjson 和 summary.json 。检查完成状态、批次前后的基线、独立验证对和每个验收标准。不完整或失败的批次不提供任何建议。基线漂移会使比较没有结论。

指标涵盖移动跟踪 RMS、稳定误差和跨度、过冲、稳定时间、总响应时间和饱和分数。稳定需要带内有连续的间隔;早期穿越是不够的。空头持有不能证明不存在缓慢振荡。

正常结束会恢复已配置的基准设置,并继续保持位置。在整定过程中,Ctrl+C 会尝试关闭力矩,这与 Extension 回放不同。中断前请托住机构。强制终止进程或断开总线后,原有的位置保持可能仍然有效。

5. 保存接受的设置

该工具不会自动安装获胜的候选人。审查后,更新本地配置文件并保留校准、模型、有效负载/安装详细信息和验证日志。下面的导出使用第一运动指南中的命名姿势控制器。将其配置文件更新为可接受的值。要使用 apply ,请首先将此顶级 joints 属性添加到 tools/poses/controller.local.json ,调整 ID 以匹配物理手臂:

"joints": [
  {"followerId": 1}, {"followerId": 2}, {"followerId": 3},
  {"followerId": 4}, {"followerId": 5}, {"followerId": 6}
]

这是一个属性片段,而不是完整的 JSON 文件:在它和相邻属性之间添加逗号。导出到新目录而不连接到电机:

macOS / Linux
npm run tune -- export tools/poses/controller.local.json accepted-controller
Windows PowerShell
npm.cmd run tune -- export tools/poses/controller.local.json accepted-controller

使用尚不存在的目录。导出不验证设置。要应用导出的控制器而不重播,它必须包含所有从属者的 joints。此命令更改控制并启用保持:

macOS / Linux
npm run tune -- apply accepted-controller/controller.json
Windows PowerShell
npm.cmd run tune -- apply accepted-controller/controller.json

轮廓变化可以短暂释放扭矩。普通重放应用其自己的配置,不需要单独的 apply 命令。


文档主页 · 源版本: a995f77 。 Extension 9.0 。