记录并回放首组姿态
结果: 重播简短的审查路径并了解最终的电机状态。您需要 Extension v9、经过验证的 校准 和 每个电机 的配置文件。不要使用单一配置文件示例来运行完整的手臂。
1.检查固定硬件
支撑手臂并保持扭矩关闭。这些命令读取硬件;不要添加 --include-writes :
macOS / Linux
npm run bus-benchmark -- --port "$SERVO_PORT" --ids 1,2,3,4,5,6 --repetitions 100
Windows PowerShell
npm.cmd run bus-benchmark -- --port "$env:SERVO_PORT" --ids 1,2,3,4,5,6 --repetitions 100
macOS / Linux
npm run telemetry -- --port "$SERVO_PORT" --ids 1,2,3,4,5,6 --samples 1000 --interval-ms 20 --output tools/diagnostics/results/first-check
Windows PowerShell
npm.cmd run telemetry -- --port "$env:SERVO_PORT" --ids 1,2,3,4,5,6 --samples 1000 --interval-ms 20 --output tools/diagnostics/results/first-check
使用实际 ID。选择新的遥测输出目录以进行另一次运行。电压检查默认为 8 – 16 V;如果不合适,请将 --voltage-min 和 --voltage-max 设置为硬件的预期范围。
检查: 检查通信故障、警报和标记读数。单独的报告文件并不意味着检查已通过。不要替换完整的硬件差异套件:它可以移动电机并替换设置。
2.记录两个附近的姿势
在交互式终端中运行记录器:
macOS / Linux
npm run record-poses -- --port "$SERVO_PORT" --ids 1,2,3,4,5,6
Windows PowerShell
npm.cmd run record-poses -- --port "$env:SERVO_PORT" --ids 1,2,3,4,5,6
- 支撑机构并按 Enter 键确认扭矩释放。
- 等待
Torque off verified。 - 选择行程限制内支持的姿势,保持不动并输入
start。 - 进行一个小的回顾手动动作,保持新姿势并输入
nearby。 - 输入
done并保留打印的 JSON 路径。
姿势是静止电机的连续快照,而不是同步运动记录。扭矩保持关闭。文件保存在 tools/poses/recordings/ 中;它们不包含校准快照,并且无法检测以后的偏移变化。
3.检查配置和整个路径
按照配置指南创建 tools/poses/controller.local.json。包含每个已记录的电机、对应配置和正确端口。总线上必须恰好包含这些电机。如果机构需要经过验证的重力模型才能得到支撑,请在启动前配置该模型;零补偿示例并不能证明它适合您的负载。
将 POSES.json 替换为记录的路径并引用包含空格的路径。预览连接到硬件,读取它并在整个记录过程中检查目标和配置的限制,而无需更改设置或开始移动。它不检查碰撞、间隙或链接的物理路径:
macOS / Linux
npm run replay -- tools/poses/controller.local.json POSES.json
Windows PowerShell
npm.cmd run replay -- tools/poses/controller.local.json POSES.json
检查: ID 和端口正确,帧计数与记录匹配,目标和速度符合预期。 cappedTargets 报告目标被限制为当前限制。在第一次运行之前调查任何剪辑,而不是假设修改后的路径与录音匹配。
4. 开始运动
检查从当前位置到第一个姿态以及各记录姿态之间的路径,确保没有障碍。双手应远离运动范围,并确保随时能够断开电机电源。此命令会启用控制并产生运动:
macOS / Linux
npm run replay -- tools/poses/controller.local.json POSES.json --run
Windows PowerShell
npm.cmd run replay -- tools/poses/controller.local.json POSES.json --run
新会话或修改后的配置可能在启动时短暂关闭力矩。请事先固定机构或提供可靠支撑。关节速度随行程距离缩放,但每个舵机独立规划自己的 S 曲线,因此不能保证完全同时到达。运动会在各路径点停下,而不是将它们融合成一条连续轨迹。
检查:程序无错误结束,位置达到配置的容差范围,并在 logs/motion/ 中保存日志。成功结束并不等于测得末端的绝对定位精度。
5. 结束会话
Extension 回放正常结束后,电机仍保持通电并保持最后的目标位置。Ctrl+C 仅停止发送新目标,不会立即停止运动。配置重力模型时,控制器会继续处理剩余运动,等待静止后再退出。未配置重力模型时,程序可能已经退出,而电机仍继续移向最后的目标。配置重力补偿时,最后的补偿输出会保留,但主机退出后不再更新它。
进程结束后,如需关闭力矩,请先托住机械臂,再运行第 2 步的记录命令,确认关闭力矩,等待 Torque off verified,然后输入 done。这会创建一个无需使用的空记录文件。如果通信中断,此流程可能失败,因此仍必须能够方便地断开电机电源。
按需继续:重力补偿、遥操作、整定或日志查看。各工具的停止行为差异见会话参考。