视觉机械臂标定、通信与实机验收清单
按电源、视觉、标定、运动学、串口、FreeRTOS 与实机安全整理机械臂从仿真到装机的检查顺序。
使用目的
这份清单用于避免把“仿真能跑”“固件能编译”和“实机可安全运行”混为一谈。每完成一项,应保存对应数据、截图、日志或测量结果。
一、供电与接线前置检查
- 舵机使用独立稳压 5-6 V 大电流电源。
- 禁止从 STM32F103 的 5 V 或 3.3 V 引脚直接给舵机供电。
- 舵机电源、控制板和 USB 转 TTL 必须共地。
- ST-Link 的 SWDIO、SWCLK、GND 和 3.3 V 接线正确,BOOT0 保持 0。
- 首次上电时按文档要求拆下舵盘或断开机械负载。
- 实体急停输入能够在任何运行状态下停止动作。
- 限位开关极性、默认电平和断线状态已经确认。
- FSR 分压电路输出不会超过 ADC 允许范围。
二、无硬件软件验收
- Python 环境能够安装 OpenCV、NumPy、Pillow 和 pyserial。
- 仿真器能够显示红、蓝、黄目标并完成队列处理。
- 手动、半自动和全自动模式切换正常。
- 14 项自动测试全部通过。
- GUI 冒烟测试没有启动或基本交互异常。
- 固件通过 CMake/Ninja 与 ARM GNU Toolchain 交叉编译。
- ELF、HEX、BIN、MAP 和容量报告均已生成。
- Flash 与 RAM 使用量未超过 STM32F103C8T6 上限。
三、视觉检测检查
- 相机安装固定,运行中不会改变高度、角度或焦距。
- 红色使用两个色相区间,避免遗漏 H 接近 0 或 179 的目标。
- 不同灯光下检查 S/V 下限,避免反光和阴影造成误检。
- 开运算能够去除小噪点,闭运算不会把相邻目标错误连接。
- 最小轮廓面积与实际目标尺寸匹配。
- 检测结果保存类别、像素中心、面积和边界框。
- 目标去重规则不会把同一个物体重复加入队列。
四、四点标定检查
- 至少选择四个不共线的工作平面点。
- 像素点和机械臂坐标点使用完全一致的顺序。
- 标定点覆盖可用工作区,不集中在一个小区域。
- Homography 矩阵为有效 3x3 矩阵并保存到配置文件。
- 使用未参与拟合的内部点和边缘点检查毫米误差。
- 相机移动、焦距变化或工作面高度变化后重新标定。
- 二维 Homography 只负责平面坐标,抓取高度单独配置。
五、运动学与舵机参数
- 实测上臂、前臂、底座高度和工具偏移,不直接使用示例参数。
- 逐个确认底座、肩、肘、腕和夹爪的方向。
- 记录每个舵机的机械中位、零偏和安全角度范围。
- 工作空间边界避开基座自撞区和机械极限。
- 不可达坐标、余弦定理解不存在和角度越界都必须返回失败。
- 平滑插值的速度和步长不会引起剧烈冲击。
- 单关节验证完成前不执行组合轨迹。
六、串口协议检查
- PC 与固件使用相同的版本、消息类型和字段字节序。
- 帧包含
AA 55帧头、版本、类型、序号、长度、payload 和 CRC16。 - payload 长度存在明确上限,坐标编码前检查数值范围。
- 测试完整帧、拆包、粘包、前缀噪声、坏 CRC 和未知类型。
- 坏帧丢弃后,解析器能够重新找到下一帧头。
- 命令序号与 ACK、STATUS 或 ERROR 响应可以对应。
- 机械臂忙时通信超时能够进入急停或安全状态。
七、FreeRTOS 与固件检查
- 通信任务只做帧解析和命令处理,不在中断中执行复杂逻辑。
- 20 ms 控制任务使用固定周期,不因执行时间累积漂移。
- 传感器任务持续检查限位、FSR 和可选电压状态。
- 遥测任务按固定周期输出状态,便于上位机判断调度器是否正常。
- 任务栈单位按
StackType_t理解,并记录剩余栈空间。 - 5 路 PWM 频率为 50 Hz,脉宽范围与舵机规格一致。
- 急停状态锁存后,需要明确的安全复位步骤才能继续动作。
八、FSR 抓取确认与重试
- 分别测量夹爪空载、轻触和稳定夹持的 ADC 值。
- 阈值设置在空载和可靠夹持之间,并保留一定噪声余量。
- FSR 断线、短路或异常值不会被当作抓取成功。
- 抓取失败最多执行规定次数的偏移重试。
- 重试仍失败时上报错误,不无限循环。
- 成功与失败计数能够通过状态帧读取。
九、实机分阶段验收
- 控制板、串口、LED 和急停。
- 单个舵机的方向、中位和限位。
- 多关节低速轨迹与工作空间边界。
- 固定相机和四点标定。
- 手动关节控制。
- 半自动点击抓取。
- FSR 抓取确认和失败重试。
- 全自动颜色分拣。
- 连续运行、通信中断和急停恢复。
十、验收记录应包含什么
- 硬件版本、固件提交、上位机提交和配置文件版本。
- 舵机型号、电源电压、最大电流和共地方式。
- 连杆尺寸、零偏、角度范围、Homography 和 FSR 阈值。
- 测试场景、目标数量、成功次数、失败原因和急停结果。
- Flash/RAM、任务栈、串口错误计数和最长连续运行时间。
- 未通过项目、临时绕过措施和下一次复测条件。
复习总结
机械臂调试应从供电和单关节开始,再进入标定、组合运动和自动分拣。任何一步失败都应回到最近一个已验证边界,而不是同时修改视觉阈值、运动学参数和舵机零偏。
[对应项目:STM32 视觉机械臂自动分拣系统](../../projects/stm32-vision-robot-arm-sorter/)