3. 机器人感知系统基础

机器人感知系统并不是“装几个摄像头和雷达”这么简单。它本质上是一条从物理世界到计算平台的连续信息链:传感器把光、声、电磁、惯性等物理量转换为电信号或数字数据,经过时间同步、标定、预处理后,形成可供算法消费的数据流,最终支撑定位、建图、检测、跟踪、规划等任务。理解这条链路的分类方式、数据特征和平台需求,是后续在 Snapdragon 平台上做集成与优化的前提。

一、感知任务的分类

从计算平台的角度,机器人感知任务可以按“输出语义”和“实时性要求”两个维度来划分。按输出语义,常见任务包括:

  • 几何感知:输出点云、深度图、位姿、地图等几何量,典型如 SLAM、双目/ToF 深度估计、激光雷达建图。
  • 语义感知:输出类别、检测框、分割掩码、关键点等语义标签,典型如目标检测、语义分割、人体姿态估计。
  • 状态感知:输出速度、加速度、角速度、姿态角等运动状态,典型如 IMU 融合、轮速里程计、视觉惯性里程计。
  • 环境感知:输出温度、湿度、光照、气体浓度等环境量,通常用于辅助决策或安全监控。

按实时性要求,又可分为硬实时(如避障、急停,延迟预算常在 10~50 ms)、软实时(如目标跟踪、局部建图,50~200 ms)和非实时(如离线建图、模型更新,秒级甚至更慢)。同一台机器人往往同时运行多类任务,计算平台必须能对它们做优先级调度和资源隔离。

二、传感器类型与数据特征

机器人常用传感器可按“测量对象”和“数据形态”分类。下表给出典型传感器及其数据特征,便于后续做接口与算力规划。

传感器测量对象典型数据形态典型频率接口
RGB 相机可见光图像2D 图像帧15~60 fpsMIPI CSI-2
深度相机(ToF/结构光)距离深度图 + 红外图10~30 fpsMIPI CSI-2 / USB
激光雷达距离与角度3D 点云10~20 HzEthernet / USB
IMU加速度、角速度六轴时序数据100~1000 HzSPI / I2C / UART
轮式里程计位移与转角一维/二维增量50~200 HzCAN / UART
超声波/红外近距障碍距离标量10~50 HzGPIO / I2C

这些传感器的数据特征差异极大:相机是“高带宽、低频率、二维稠密”,IMU 是“低带宽、高频率、一维时序”,激光雷达是“高带宽、中频率、三维稀疏”。这种异构性直接决定了数据流处理必须分路进行,不能用一个统一管线硬套。

三、数据流特征与处理链

从传感器到算法,数据流通常经历“采集—同步—标定—预处理—融合—推理”几个阶段。以视觉惯性里程计(VIO)为例:相机以 30 fps 输出图像,IMU 以 200 Hz 输出角速度和加速度。两者时间戳不同步,必须先做时间对齐;相机内参、IMU 与相机之间的外参需要提前标定;图像要做去畸变、灰度化、特征提取,IMU 要做预积分;最后在优化器中联合求解位姿。

这条链路的带宽和算力需求可以粗略估算。以 1280×720、30 fps、8 bit 灰度图为例,单路相机原始数据率约为 1280×720×30×8 ≈ 221 Mbps;若为 RGB 三通道则约 663 Mbps。IMU 以 200 Hz、每帧 6 个 float32 计算,数据率仅约 38 kbps,但频率高、时序敏感。激光雷达 128 线、20 Hz、每点 3 个 float32,数据率可达数百 Mbps。可见,带宽压力主要来自图像和点云,实时性压力主要来自 IMU 和控制回路。

机器人感知数据流与计算平台需求映射 传感器层 RGB 相机 30 fps · MIPI CSI-2 深度相机 15 fps · MIPI CSI-2 激光雷达 20 Hz · Ethernet IMU 200 Hz · SPI/I2C 轮式里程计 100 Hz · CAN 数据流处理 时间同步 硬件触发 / PTP 标定与去畸变 内参 / 外参 预处理 缩放 / 灰度 / 滤波 特征提取 ORB / 点云聚类 多源融合 VIO / 卡尔曼滤波 感知算法 SLAM / 建图 几何感知 目标检测 语义感知 语义分割 像素级标签 目标跟踪 时序关联 避障决策 硬实时 计算平台需求 算力 CPU+GPU+DSP+NPU 延迟 端到端 < 100 ms 功耗 典型 5~15 W 接口 CSI / USB / PCIe / CAN 软件栈 ROS 2 / QNN / SNPE 带宽压力:图像/点云数百 Mbps | 实时压力:IMU 与控制回路 100~1000 Hz

四、感知系统对计算平台的核心需求

把上面的数据流映射到计算平台,可以归纳出四类核心需求。

算力需求:几何感知中的特征提取、点云配准、图优化,语义感知中的卷积推理、后处理,都是计算密集型任务。以 1080p 图像上的轻量检测网络为例,单帧推理约需 1~5 GFLOPs;若同时跑 4 路相机、30 fps,总算力需求可达数十 GFLOPs 量级。Snapdragon 平台的异构架构(Kryo CPU、Adreno GPU、Hexagon DSP、NPU)正是为这种混合负载设计的:CPU 负责调度与逻辑,GPU 负责并行图像处理,DSP/NPU 负责低功耗推理。

延迟需求:感知延迟必须与控制周期匹配。若控制回路为 100 Hz(10 ms 周期),则感知端到端延迟最好控制在 30~50 ms 以内,否则会出现“看到时已经撞上”的问题。延迟预算要拆到每个环节:采集 5 ms、传输 3 ms、预处理 5 ms、推理 15 ms、后处理 5 ms、融合 5 ms,合计约 38 ms,留出余量。

功耗需求:移动机器人通常靠电池供电,整机功耗预算可能只有 20~50 W,感知计算部分一般控制在 5~15 W。这意味着不能无限制地堆算力,而要通过模型量化、分辨率裁剪、帧率自适应、任务分级调度来平衡性能与功耗。

接口需求:相机需要 MIPI CSI-2 通道,激光雷达需要千兆以太网或 USB 3.0,IMU 和里程计需要 SPI/I2C/CAN,执行器需要 PWM 或 CAN。接口数量、带宽和实时性必须与传感器配置匹配,否则会出现“算力够但接不上”的尴尬。

在实际选型时,建议先列出传感器清单和每路数据率,再按“峰值带宽 × 1.5 余量”估算接口需求,最后用“最坏情况任务并发”估算算力与功耗。这样得到的平台配置才不容易在集成阶段返工。

五、一个可参考的感知需求清单

下面给出一份简化的感知系统需求清单示例,可用于项目初期的平台选型与集成规划。表中数值为教学示例,实际项目需按具体传感器和算法重新核算。

项目示例值说明
相机路数4 路前视、后视、左、右
单路分辨率/帧率1920×1080 @ 30 fpsRGB,8 bit
相机总带宽≈ 1.5 Gbps4 × 1920×1080×30×8
IMU 频率200 Hz六轴,SPI 接口
激光雷达1 路,20 Hz千兆以太网
感知端到端延迟≤ 50 ms从曝光到输出检测结果
感知计算功耗≤ 12 W不含传感器本身
推理算力需求≥ 20 TOPS(INT8)多路并发推理

把这份清单与 Snapdragon 平台的规格对照,就能快速判断哪些任务可以放在 NPU 上跑、哪些需要 GPU 加速、哪些必须留在 CPU 做实时调度。感知系统集成的第一步,不是写代码,而是把“任务—传感器—数据流—平台需求”这条链梳理清楚。