针对低算力嵌入式平台特性,
扫地机器人关键算法轻量化遵循降维简化、增量计算、精度折中、资源复用四大原则,避免无意义的高精度运算与冗余计算,先通过基础手段削减底层算力消耗,再针对各算法特性做专项优化。
数据精度量化优化
低算力平台对浮点型数据运算效率较低,通过数据精度量化,将高精度浮点数据转换为低精度整型数据,可大幅提升运算速度、降低内存占用。将算法中的坐标值、距离参数、特征权重等数据,从32位浮点型(FP32)转换为16位整型(INT16)甚至8位整型(INT8),同时建立数据映射关系,补偿精度损失;对于地图栅格、传感器采样值等离散数据,采用定点数运算替代浮点运算,减少主控浮点运算单元的压力,适配低算力平台的运算特性。
冗余计算与参数裁剪
梳理算法中的冗余逻辑参数,剔除对结果影响较小的计算环节:删减算法迭代过程中的重复校验步骤,合并关联性强的计算流程;降低高频更新参数的采样频率,根据机器人运行速度调整计算周期;去除复杂的修正项与补偿项,保留核心运算逻辑,减少单次迭代的计算量。同时,压缩算法参数数量,采用稀疏存储方式存储参数矩阵,降低Flash与RAM的占用空间。
内存复用与数据调度优化
针对小内存特性,采用内存动态复用机制,避免内存碎片化与重复占用:为算法中间变量分配固定内存块,运算完成后立即释放,供其他模块复用;采用流式数据处理模式,边采集数据边运算,无需缓存全部原始数据;拆分大规模计算任务为多个小任务,分批次执行,减少单次内存占用峰值。同时,优化数据调度顺序,将高频访问数据存入高速缓存,降低数据读取耗时。
激光SLAM定位建图算法轻量化
激光SLAM是
扫地机器人定位导航的核心,原生GMapping、Cartographer等算法算力消耗高,需从点云处理、地图构建、回环检测三方面优化:
点云数据降采样简化:激光雷达原始点云数据量大,采用体素格降采样与距离筛选,剔除远距离无效点与冗余点,保留关键轮廓点,将单帧点云数量削减60%以上,减少点云匹配运算量。
栅格地图分辨率自适应:根据清扫场景调整地图栅格尺寸,大面积空旷区域采用大栅格(10cm-15cm),狭小区域采用小栅格(5cm),降低地图数据量与更新频率;采用增量式地图更新,仅修改机器人周边栅格状态,无需全量重建地图。
简化回环检测机制:摒弃复杂的特征匹配回环,采用基于里程计与地图相似度的简易回环策略,降低回环检测的计算频率,仅在机器人返回关键区域时执行回环校验,减少算力浪费。
位姿估计优化:采用迭代误差更小的高斯牛顿法简化版,减少迭代次数,将位姿优化的计算量控制在低算力平台可承受范围,同时保证定位误差满足清扫需求。
全覆盖路径规划算法轻量化
全覆盖路径规划需保证清扫无死角,同时简化寻路逻辑,兼顾覆盖率与算力消耗:
混合式路径规划简化:摒弃计算复杂的全局智能寻路算法,采用“弓字形主路径+局部绕行”的混合方案,主路径采用固定模式遍历,仅在遇到障碍物时执行局部避障,大幅减少路径计算量。
栅格地图分区管理:将全局地图划分为多个独立子区域,按区域依次清扫,每次仅需计算单个子区域的路径,降低单次寻路的地图遍历范围;记录已清扫区域标记,避免重复路径计算。
动态路径阈值简化:设置障碍物距离阈值与转向角度阈值,采用查表法替代实时计算,根据障碍物位置直接调用预设路径参数,减少决策运算时间。
障碍物识别算法轻量化
低算力平台无AI加速单元,视觉障碍物识别需摒弃深度学习,采用轻量化传统视觉算法与传感融合方案:
简易特征提取替代复杂卷积:采用边缘检测、颜色阈值分割、轮廓匹配等传统视觉方法,提取障碍物的形状、大小等简易特征,替代深度学习的卷积特征提取,降低运算复杂度。
多传感数据融合校验:结合激光雷达点云距离、红外传感信号与视觉特征,通过阈值判断识别障碍物类型,无需复杂分类运算,提升识别效率。
图像降分辨率处理:将采集的图像分辨率压缩至低尺寸,减少像素处理量,同时裁剪无关背景区域,仅保留机器人前方关键区域进行识别。