每天,都有数百万家庭使用自主扫地机器人。 新一代扫地机器人具备智能功能,例如,可以在清扫之前先洒水清洁地面。 实现这类先进功能,需要具备高水平的环境感知能力,包括能够识别地面类型,从而使机器人能够切换清洁模式,同时还能避免在铺设地毯的地面洒水等。 在扫地机器人中应用人工智能可以增强这类设备的环境感知能力。
方法
扫地机器人可以根据地面的软硬程度识别地面类型。 如果检测到柔软材料(比如地毯),它会切换清洁模式,避免在这类地面上洒水。
与标准编程算法相比,AI算法准确性更高,并可根据具体的应用案例轻松调整。
- 在本项目中,我们使用了来自VL53L5飞行时间 (ToF) 传感器的信号,该传感器具有8×8多区域检测功能,集成在扫地机器人的前端(离地面高度4.5 cm,倾斜角度21.5度)。
- 然后,我们收集了不同类型的材料(包括柔软和坚硬的地面材料),并在预处理和后处理信息前对神经网络 (NN) 模型进行训练,以期提高准确度。
- 最后,我们借助 STM32Cube.AI 软件包,使用NUCLEO-F401RE板将 NN 模型导入微控制器。
与标准编程算法相比,AI算法准确性更高,并可根据具体的应用案例轻松调整。
传感器
飞行时间传感器(参考: VL53L5CX)
数据
数据集来自 ToF 的信号率(输出:硬或软)
数据格式8x8 范围 @15Hz
数据格式8x8 范围 @15Hz
结果
模型 多层感知器 (MLP)
内存占用:
68 Kbytes闪存 ,用于权重
1 .6 KbyteRAM,用于激活
准确率: 96%,约200,000个样本,超过50种材料
STM32F401 @84MHz 上的性能
推断时间: 7 毫秒
混淆矩阵
资源
优化工具 STM32Cube.AI
X-CUBE-AI是一个免费的STM32Cube扩展包,可帮助开发人员将预训练的AI算法(例如神经网络和机器学习模型)自动转换为经过优化的STM32 C代码。
兼容 STM32 系列
STM32系列32位微控制器基于Arm Cortex®-M处理器,旨在为MCU用户提供新的开发自由度。它包括一系列产品,集高性能、实时功能、数字信号处理、低功耗/低电压操作、连接性等特性于一身,同时还保持了集成度高和易于开发的特点。