STM32 激光雷达小车 & ROS2 相关术语速查文档
一、硬件与基础概念
STM32:
一种微控制器(MCU),用于控制电机、读取传感器、实现避障、循线、遥控等实时控制逻辑,不具备建图、定位、SLAM 能力。激光雷达(L150):
一种距离传感器,持续输出“角度 + 距离”数据,本身不具备构图、定位或智能决策能力。蓝牙模块(bt04-a):
低带宽无线通信模块,目前仅用于手机 APP 遥控小车,不适合传输高频激光雷达数据。WiFi:
高带宽网络通信方式,适合 ROS 系统中传输雷达、地图等大量数据,本小车型号不支持。串口(COM 口):
一种常见硬件通信接口,雷达、STM32、电脑之间通常通过串口进行数据传输。USB 转串口:
用于将雷达或 STM32 的串口信号接入电脑,使 Ubuntu 可以读取设备数据。
二、程序与固件相关
HEX 文件:
STM32 的固件程序文件,是编译后的二进制代码,用于烧录到 STM32 芯片中运行。USB 烧录:
通过 USB 接口将 HEX 文件写入 STM32 芯片,使芯片上电后按该程序运行。驱动程序(烧录驱动):
让电脑识别 STM32 或 USB 转串口设备的底层软件,否则无法烧录或通信。
三、操作系统与平台
Ubuntu:
一种 Linux 操作系统,是 ROS / ROS2 官方推荐运行环境,适合进行建图、定位、导航等高层机器人任务。ROS:
Robot Operating System,机器人操作系统框架,用于管理传感器、算法和控制模块之间的通信。ROS2:
ROS 的新一代版本,支持多机通信、实时性更好,适合实际机器人应用。ROS 主控:
运行 Ubuntu + ROS 的计算单元(如树莓派、Jetson、工控机),负责处理雷达数据、建图、定位、导航等任务。
四、ROS 核心概念
节点(Node):
ROS 中的基本运行单元,每个节点负责一个功能,如雷达驱动、建图、导航等。话题(Topic):
ROS 中的数据通道,用于节点之间发布和订阅数据,例如/scan雷达数据。雷达驱动:
将激光雷达通过串口输出的原始数据,转换为 ROS 可识别的/scan消息。ROS 功能包(Package):
封装好的一组 ROS 程序,用于实现特定功能,如雷达驱动、SLAM、导航。
五、能力与功能相关
二次开发:
在已有硬件或程序基础上,自行修改或编写代码以实现新功能。避障:
根据传感器数据实时判断前方是否有障碍物,并立即调整运动方向,不需要地图。跟随:
机器人根据目标距离或位置变化进行实时跟随,同样不需要地图。遥控:
通过手机或遥控器直接控制机器人运动,通常通过蓝牙或 WiFi 实现。
六、SLAM 与导航核心术语
构图(建图):
利用传感器数据绘制环境地图的过程。定位:
在已有地图中判断机器人当前所处的位置。SLAM:
Simultaneous Localization and Mapping,同时定位与构图,是 ROS 中的核心高级功能。导航:
在已知地图和定位的基础上,规划路径并控制机器人到达指定目标点。路径规划:
根据地图和目标位置计算一条可行的运动路线。
七、与你当前小车相关的重要结论
STM32 小车能力边界:
适合避障、跟随、遥控,不适合建图、定位、导航。蓝牙的能力边界:
只能传输少量控制指令,不适合激光雷达数据流。客服所说“功能包”:
指的是基于 ROS 主控(非 STM32)的整套建图与导航系统。雷达接电脑:
指激光雷达通过 USB 转串口直接连接 Ubuntu 电脑,由电脑运行 ROS 进行数据处理。
八、一句话总结
- 核心认知:
雷达负责“看”,STM32 负责“动”,ROS 主控负责“想”。