TinyML实战项目:机器人避障与导航从一次深夜调试说起凌晨两点,示波器上那个本该平滑的PWM波形像得了帕金森一样抖动。我盯着STM32F4的串口输出,超声波传感器的读数在30cm和300cm之间疯狂跳变——明明前面就是一面墙。更诡异的是,当我把手放在传感器前面,读数反而稳定了。后来才发现,是电机驱动产生的电磁干扰耦合进了超声波接收电路,而我的TinyML模型恰好把这种噪声模式当成了“前方有障碍物”的特征。这个坑让我意识到:在嵌入式机器学习里,数据质量从来不是“采集-标注-训练”这么简单。传感器在真实物理世界里的表现,远比数据集里的干净样本要复杂得多。硬件选型:别被参数表骗了很多人做避障机器人第一反应就是上激光雷达。但TinyML讲究的是低成本、低功耗、实时性。我最终选的是VL53L1X ToF传感器(测距范围4m,精度±5mm)配合MPU6050六轴陀螺仪。为什么不用超声波?因为超声波在室内多径反射严重,而且对机器人自身电机噪声极其敏感——上面那个坑就是血的教训。电机驱动用的DRV8833,比L298N效率高30%以上,而且自带电流检测。别小看这个电流检测,后面做碰撞检测时能省掉一个限位开关。主控是STM32G474,Cortex-M4内核带FPU,跑TinyML模型刚好够用。如果你预算更紧,用ESP32-S3也行,但要注意它的浮点运算能力比STM32弱不少。数据采集:最容易被忽视的环节我见过太多人直接拿公开数据集训练避障模型,然后抱怨部署到机器人上效果差。真实场景的数据分布和