【2023 · CANN训练营第一季】进阶笔记
基于Atlas 200I DK A2的智能小车外观结构图
原理:
智能小车通过摄像头感知周围环境自主地进行运动控制,采集环境数据后在开发者套件上进行AI推理,根据推理结果发出指令控制小车的运动状态。小车运动状态的控制需要借助ESP32微控制器,使用Arduino平台可以对其进行嵌入式开发。主控与小车主体间控制指令的发出和数据的返回,需要通过串口协议进行双向通信。 智能小车从底层硬件到上层AI应用需要完成的任务。
小车硬件包括:
开发者套件:根据摄像头收集的数据进行AI推理,将推理结果发送给主控模块控制小车运行。
主控ESP32开发板:信号接收与发送,执行并调动其他部分完成指令。
直流电机:为小车提供动力,可调节旋转方向和速度。
舵机:装载摄像头并调节拍摄角度,可控角度0~180°。
超声波传感器:可实现2~400cm的非接触距离感测功能,测距精度可以高达3mm。
小车载板及电池:载板提供支架,电池提供电源。
小车主要功能包括:
自动驾驶:基于开发者套件的内置的YoloV5和轻量级直线行驶矫正神经网络模型推理结果引导智能小车在规定赛道上的自动循迹行驶。
通过摄像头收集不同场景下的路况信息数据,判断当前位置并识别转弯标识。
自动泊车:基于开发者套件的内置YoloV5神经网络模型的推理结果引导智能小车在模拟的复杂交通场景和更贴近实际的道路上行驶。
通过摄像头收集不同场景下的停车标志信息数据。
目标跟踪:基于开发者套件的内置YoloV5神经网络模型的推理结果引导智能小车在多车行驶的模拟道路上行驶。
通过摄像头收集不同场景下需要跟随的目标,识别前方目标并跟随目标行驶。
ESP32控制器原理
ESP32单片机实现控制原理
小车上需要使用ESP32进行控制的主要为四个电机以及摄像头云台的两轴舵机,二者的实现方式均是依靠PWM信号脉冲的占空比,改变信号的占空比就可以改变电机的转速以及舵机旋转的角度。
通信协议及控制逻辑
串口通信的方式是单一字节传输,为了减少指令传输时间、提高控制灵敏度,将控制指令数据格式定义为7个short类型的有符号数字。其中前四位是对应四个电机的速度值,后接两个舵机的角度值,最后一个是校验码。
Atlas 200I DK A2介绍地址:昇腾 AI 开发者套件 (hiascend.com)
智能小车代码:ascend-devkit: 华为昇腾AI开发者套件工具与样例代码仓 - Gitee.com
小车开发文档:外观结构-样例介绍-智能车应用开发指南-应用案例-Atlas 200I DK A2开发者套件-文档首页-昇腾社区 (hiascend.com)
- 点赞
- 收藏
- 关注作者
评论(0)