主要部件
外观结构
小车的主要组成模块包括:
- 前中后外壳结构支撑模块。
- TT减速电机与麦克纳姆轮的运动模块。
- 电源供电模块。
- ESP32控制模块。
- 广角摄像头视觉感知模块。
- 激光雷达点云感知模块。
- Atlas 200I DK A2开发者套件。
图1 小车外观结构图

图2 正面图

图3 俯视图

父主题: 样例介绍
功能与原理介绍
智能小车通过摄像头感知周围环境自主地进行运动控制,采集环境数据后在开发者套件上进行AI推理,根据推理结果发出指令控制小车的运动状态。小车运动状态的控制需要借助ESP32微控制器,使用Arduino平台可以对其进行嵌入式开发。主控与小车主体间控制指令的发出和数据的返回,需要通过串口协议进行双向通信。
智能小车从底层硬件到上层AI应用需要完成的任务。
- 了解智能小车的组成及部件原理
- 实现基于Arduino的硬件控制功能。
- 串口通信协议定义。
- ESP32硬件主程序设计。
- 开发者套件与ESP32进行指令通信的接口程序开发。
- AI推理应用开发。
本章节将对这些主要任务进行详细介绍。
图1 实现原理图

功能介绍
须知
当前功能所用模型,均为已训练并进行模型转换的“.om”文件,如果用户需要使用自己的场景或地图,需参考《[使用模型适配工具生成推理应用](https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/Getting Started with Application Development/iaqd/iaqd_0001.html)》,使用模型适配工具自行训练生成模型,并上传至开发者套件。
-
自动驾驶
基于开发者套件的内置的YoloV5和轻量级直线行驶矫正神经网络模型推理结果引导智能小车在规定赛道上的自动循迹行驶。
- 通过摄像头收集不同场景下的路况信息数据,判断当前位置并识别转弯标识。
- 使用模型适配工具训练转换的om模型进行推理,计算转向角,最后根据推理结果下发指令控制小车转向。
图2 自动驾驶功能原理

-
自动泊车
基于开发者套件的内置YoloV5神经网络模型的推理结果引导智能小车在模拟的复杂交通场景和更贴近实际的道路上行驶。
- 通过摄像头收集不同场景下的停车标志信息数据。
- 使用模型适配工具训练转换的om模型进行推理,判断当前标识是否为停车标志,“是”则开始自动泊车,“否”则继续行驶并收集数据。
- 识别到目标后,判断目标停车标识和智能小车当前位置之间的距离,根据提前设置的阈值(开发者可自定义)判断到达停车距离,并开始横向移动进停车位。
图3 自动泊车功能原理

-
目标跟踪
基于开发者套件的内置YoloV5神经网络模型的推理结果引导智能小车在多车行驶的模拟道路上行驶。
- 通过摄像头收集不同场景下需要跟随的目标,识别前方目标并跟随目标行驶。
- 使用模型适配工具训练转换的om模型进行推理,根据识别到物体的大小来推算小车和追踪目标之间的距离,下发指令到控制系统,控制小车的移动和停止,从而达到跟随效果(该功能也可以移植到追踪其他物体的使用场景中,待开发者二次开发)。
图4 目标跟踪功能原理

父主题: 样例介绍
主要部件
小车硬件主要包含以下部分组件:
- 开发者套件:根据摄像头收集的数据进行AI推理,将推理结果发送给主控模块控制小车运行。
- 主控ESP32开发板:信号接收与发送,执行并调动其他部分完成指令。
- 直流电机:为小车提供动力,可调节旋转方向和速度。
- 舵机:装载摄像头并调节拍摄角度,可控角度0~180°。
- 超声波传感器:可实现2~400cm的非接触距离感测功能,测距精度可以高达3mm。
- 小车载板及电池:载板提供支架,电池提供电源。
父主题: 小车组成
硬件主控ESP32
ESP32 IOT&Robot Board (4Motor)物联网机器人开发板(4 电机),是一款以ESP-WROOM-32单片机为核心的物联网开发板。
图1 ESP32主控板接口

ESP32开发板能够处理数据和进行运算,最终通过引脚传递不同的电信号完成指令。
通过烧录控制程序可实现对外接传感器的感知和控制,常见的ESP32程序编译工具有Arduino、Mixly、MicroPython等,本文以Arduino工具为例。
表1 技术参数
| 参数 | 说明 |
|---|---|
| 主控板 | ESP32单片机 |
| 处理器 | Tensilica LX6双核处理器 |
| 主频 | 240Mhz时钟频率 |
| SRAM | 520KB |
| Flash | 8MB |
| Wi-Fi标准 | FCC/CE/TELEC/KCC |
| Wi-Fi协议 | 8022.11 b/g/n/d/e/i/k/r,A-MPDU与A-MSDU聚合,支持0.4us防护问题 |
| 频率范围 | 2.4-2.5GHz |
| 蓝牙协议 | 符合蓝牙v4.2BR/EDR/BLE标准 |
| 供电方式 | CVSD和SBC音频低功耗 10uA |
| 工作电压 | Micro USB供电 |
| 最大工作电流 | 200mA |
父主题: 小车组成
直流电机及其控制
电机的转动原理:1个电机对接ESP32开发板2个引脚,当两个引脚分别接高低电平则开始以一定方向转动,电平相反则反方向转动,同为低或者高均不转动。
电机转速控制:控制电信号PWM波的占空比,占空比越大,说明周期内高电平持续时间越长,电机转速越快。
:::note 说明 一般引脚的高电平为3.3V,通常不够驱动电机转动,需要5V左右电压可正常驱动轮子转动,所以需要使用大电池给小车供电。 :::
图1 电机位置

表1 电机与引脚序号
| 电机序号 | 对应引脚 |
|---|---|
| 1 | 12/13 |
| 2 | 14/15 |
| 3 | 16/17 |
| 4 | 18/19 |
小车车轮配置麦克纳姆轮,车轮原理及方向控制如下图所示,只需调节4个电机的转动方向及速度即可实现小车的各种运动方式。
车轮原理:依靠各自机轮的方向和速度,这些力的最终合成在任何要求的方向上产生一个合力矢量,从而保证了这个平台在最终的合力矢量的方向上能自由地移动,而不改变机轮自身的方向。在它的轮缘上斜向分布着许多小滚子,故轮子可以横向滑移。小滚子的母线很特殊,当轮子绕着固定的轮心轴转动时,各个小滚子的包络线为圆柱面,所以改轮能够连续地向前滚动。麦克纳姆轮结构紧凑,运动灵活,是很成功的一种全方位轮。有4个这种新型轮子进行组合,可以更灵活方便的实现全方位移动功能。
图2 麦克纳姆轮方向控制

父主题: 小车组成
在线提单