Skip to content

STM32 激光雷达小车 & ROS2 相关术语速查文档

一、硬件与基础概念

  1. STM32:
    一种微控制器(MCU),用于控制电机、读取传感器、实现避障、循线、遥控等实时控制逻辑,不具备建图、定位、SLAM 能力。

  2. 激光雷达(L150):
    一种距离传感器,持续输出“角度 + 距离”数据,本身不具备构图、定位或智能决策能力。

  3. 蓝牙模块(bt04-a):
    低带宽无线通信模块,目前仅用于手机 APP 遥控小车,不适合传输高频激光雷达数据。

  4. WiFi:
    高带宽网络通信方式,适合 ROS 系统中传输雷达、地图等大量数据,本小车型号不支持。

  5. 串口(COM 口):
    一种常见硬件通信接口,雷达、STM32、电脑之间通常通过串口进行数据传输。

  6. USB 转串口:
    用于将雷达或 STM32 的串口信号接入电脑,使 Ubuntu 可以读取设备数据。

二、程序与固件相关

  1. HEX 文件:
    STM32 的固件程序文件,是编译后的二进制代码,用于烧录到 STM32 芯片中运行。

  2. USB 烧录:
    通过 USB 接口将 HEX 文件写入 STM32 芯片,使芯片上电后按该程序运行。

  3. 驱动程序(烧录驱动):
    让电脑识别 STM32 或 USB 转串口设备的底层软件,否则无法烧录或通信。

三、操作系统与平台

  1. Ubuntu:
    一种 Linux 操作系统,是 ROS / ROS2 官方推荐运行环境,适合进行建图、定位、导航等高层机器人任务。

  2. ROS:
    Robot Operating System,机器人操作系统框架,用于管理传感器、算法和控制模块之间的通信。

  3. ROS2:
    ROS 的新一代版本,支持多机通信、实时性更好,适合实际机器人应用。

  4. ROS 主控:
    运行 Ubuntu + ROS 的计算单元(如树莓派、Jetson、工控机),负责处理雷达数据、建图、定位、导航等任务。

四、ROS 核心概念

  1. 节点(Node):
    ROS 中的基本运行单元,每个节点负责一个功能,如雷达驱动、建图、导航等。

  2. 话题(Topic):
    ROS 中的数据通道,用于节点之间发布和订阅数据,例如 /scan 雷达数据。

  3. 雷达驱动:
    将激光雷达通过串口输出的原始数据,转换为 ROS 可识别的 /scan 消息。

  4. ROS 功能包(Package):
    封装好的一组 ROS 程序,用于实现特定功能,如雷达驱动、SLAM、导航。

五、能力与功能相关

  1. 二次开发:
    在已有硬件或程序基础上,自行修改或编写代码以实现新功能。

  2. 避障:
    根据传感器数据实时判断前方是否有障碍物,并立即调整运动方向,不需要地图。

  3. 跟随:
    机器人根据目标距离或位置变化进行实时跟随,同样不需要地图。

  4. 遥控:
    通过手机或遥控器直接控制机器人运动,通常通过蓝牙或 WiFi 实现。

六、SLAM 与导航核心术语

  1. 构图(建图):
    利用传感器数据绘制环境地图的过程。

  2. 定位:
    在已有地图中判断机器人当前所处的位置。

  3. SLAM:
    Simultaneous Localization and Mapping,同时定位与构图,是 ROS 中的核心高级功能。

  4. 导航:
    在已知地图和定位的基础上,规划路径并控制机器人到达指定目标点。

  5. 路径规划:
    根据地图和目标位置计算一条可行的运动路线。

七、与你当前小车相关的重要结论

  1. STM32 小车能力边界:
    适合避障、跟随、遥控,不适合建图、定位、导航。

  2. 蓝牙的能力边界:
    只能传输少量控制指令,不适合激光雷达数据流。

  3. 客服所说“功能包”:
    指的是基于 ROS 主控(非 STM32)的整套建图与导航系统。

  4. 雷达接电脑:
    指激光雷达通过 USB 转串口直接连接 Ubuntu 电脑,由电脑运行 ROS 进行数据处理。

八、一句话总结

  1. 核心认知:
    雷达负责“看”,STM32 负责“动”,ROS 主控负责“想”。