鸿蒙与昇腾
机器人 · 嵌入式 · HarmonyOS

AstraPlus智能小车

一辆从传感器到手机界面贯通的智能小车:设备端汇集相机和雷达数据,通过 ESP32 控制底盘;HarmonyOS 手机应用在同一局域网内预览画面并发送驾驶指令。

项目速览

AstraPlusCar 是一套以 HarmonyOS 手机为控制端的智能小车系统:设备端运行在昇腾开发者套件上,接入相机与激光雷达,经 ESP32 驱动麦克纳姆轮底盘;手机端负责画面预览、雷达状态与驾驶操控。项目在昇腾官方 E2E 样例的基础上做两件事——把相机换成 3D 结构光相机,以及补齐一套可用的手机遥控端。

关于这个项目

它要解决什么

项目关注手机、昇腾设备端与底盘三层协同时的可控性,以及在官方样例基础上完成两项工程改造:接入 3D 结构光相机,并为小车补齐手机遥控端。

系统如何协作

手机端发出的是高层驾驶意图,设备端接收后结合相机、雷达与底盘状态,再将具体动作交由 ESP32 执行。传感器数据沿相反方向回传,画面与雷达状态因此可以实时刷新。

用到什么

设备端为 Python,运行于昇腾开发者套件,推理使用 Ascend 离线模型;手机端为 ArkTS 编写的 HarmonyOS 应用;底盘为 ESP32。三层之间分别通过局域网 HTTP 与串口通信。

当前进展

手机端已完成真机与实车联调,视频预览、三向雷达、截图与图库均确认可用,API 侧的状态、方向命令、续期与失联自动停车也已验证。实车行驶行为仍需现场观察。

AstraPlusCar 小车及手机控制示意图

项目概览

项目由两个独立仓库组成。设备端运行在昇腾开发者套件上,负责相机与雷达数据、模型推理和车辆控制,并对外提供 HTTP 接口;手机端用 ArkTS 构建驾驶界面。设备端除基础的车控能力外,还包含巡线模型训练、车道线自动标注与激光雷达建图等配套模块。

设备与底盘

设备端管理相机、雷达和车辆控制。高层动作通过串口传给 ESP32,由它负责电机和舵机等硬件动作,底盘为麦克纳姆轮结构,支持侧移与原地旋转。

手机控制

HarmonyOS 应用提供视频预览、三向雷达、方向控制、速度调节、停车急停、截图与本地图库。

三套自动驾驶场景

设备端内置三种行为模式,均可由外部指令切换;另有手动模式用于直接操控。

路标辅助

加载 YOLOv5 离线模型识别左转、右转与掉头路标,依据检测框中心位置与面积阈值触发对应的原地转向动作。

巡线

由回归网络对画面输出一个转向数值,再分段映射为直行、左转或右转,使车辆沿车道线行进。

目标追踪

根据目标框大小调整速度,依据偏离画面中心的方向决定转向,接近到阈值距离时停车。

手动模式

键盘直接控制前后左右、原地旋转与左右平移,可随时加减速、停车并保存当前画面。

控制链路

手机和小车位于同一 WLAN。手机发送高层命令;设备端确认并执行,再由串口驱动 ESP32。相机和雷达数据沿相反方向提供给界面。

HarmonyOS 手机应用
→
局域网 HTTP API
→
昇腾设备端
→
串口 · ESP32 · 底盘

设备端工程

设备端基于昇腾官方 E2E 样例构建,并保留一份原版工程用于对照。

原版与改造版对照

原版工程与官方样例逐字节一致;改造版在其基础上接入 3D 结构光相机,相机采集规格由 1280×720 提升至 1920×1080。改造仅涉及 7 个文件,其余部分保持一致。

离线模型推理

识别在板端以 Ascend 离线模型完成,涵盖路标检测、巡线回归与目标追踪三类任务,推理前处理与后处理均随工程提供。

雷达与建图

配有 RPLIDAR 激光雷达的 ROS2 建图测试工程,可用于采集点云与验证建图流程。

配套工具

包含巡线模型的训练与导出代码、车道线自动标注工具,以及一套基于 ESP32 的独立小车固件与中文教程。

手机控制端

HarmonyOS 应用提供竖屏与横屏两套布局:竖屏依次为连接状态、视频、雷达条与控制盘;横屏让视频铺满画面,摇杆与雷达色带叠加其上。

画面与雷达

视频以单条持续流接收,画面下方为独立雷达条,按左、前、右三个方向显示距离并区分警戒程度;无回波时明确显示「未测得」,不将其解释为安全距离。

驾驶交互

四个主方向为前进、左转、后退、右转,四角为左右旋转与左右平移。按住运动时仅允许一个动作生效,滑向新方向时先停车再切换;速度滑块在运动期间同样可用。

失效保护

画面接收或解码超时会立即断开控制并停车,随后按退避策略重连;收到新的实时画面前禁止运动与调速,旧会话无法恢复先前的按键或动作。

截图与图库

截图先保存在车端,再下载到应用私有图库,重启后仍可查看;经用户主动下载并完成系统授权后,图片才进入系统相册。

当前进展

手机端已在真机安装并与真实小车完成同网联调,视频、三向雷达、截图与私有图库均已确认;接口侧验证了状态查询、视频流、截图下载、速度与方向命令、续期、停车以及失联自动停车。车轮悬空时仅做短时运动验证,实际轮向、落地行驶与后台停车仍需现场观察。

技术栈:Python · ArkTS · HarmonyOS · 昇腾 · ESP32 · 麦克纳姆轮底盘 · HTTP API · 串口 · 摄像头 · 激光雷达 · ROS2
返回项目列表