下载
中文
注册

功能与原理介绍

智能小车通过摄像头感知周围环境自主地进行运动控制,采集环境数据后在开发者套件上进行AI推理,根据推理结果发出指令控制小车的运动状态。小车运动状态的控制需要借助ESP32微控制器,使用Arduino平台可以对其进行嵌入式开发。主控与小车主体间控制指令的发出和数据的返回,需要通过串口协议进行双向通信。

智能小车从底层硬件到上层AI应用需要完成的任务。

  • 了解智能小车的组成及部件原理
  • 实现基于Arduino的硬件控制功能。
  • 串口通信协议定义。
  • ESP32硬件主程序设计。
  • 开发者套件与ESP32进行指令通信的接口程序开发。
  • AI推理应用开发。

本章节将对这些主要任务进行详细介绍。

图1 实现原理图

功能介绍

当前功能所用模型,均为已训练并进行模型转换的“.om”文件,如果用户需要使用自己的场景或地图,需参考使用模型适配工具生成推理应用,使用模型适配工具自行训练生成模型,并上传至开发者套件。

  • 自动驾驶

    基于开发者套件的内置的YoloV5和轻量级直线行驶矫正神经网络模型推理结果引导智能小车在规定赛道上的自动循迹行驶。

    1. 通过摄像头收集不同场景下的路况信息数据,判断当前位置并识别转弯标识。
    2. 使用模型适配工具训练转换的om模型进行推理,计算转向角,最后根据推理结果下发指令控制小车转向。
    图2 自动驾驶功能原理
  • 自动泊车

    基于开发者套件的内置YoloV5神经网络模型的推理结果引导智能小车在模拟的复杂交通场景和更贴近实际的道路上行驶。

    1. 通过摄像头收集不同场景下的停车标志信息数据。
    2. 使用模型适配工具训练转换的om模型进行推理,判断当前标识是否为停车标志,“是”则开始自动泊车,“否”则继续行驶并收集数据。
    3. 识别到目标后,判断目标停车标识和智能小车当前位置之间的距离,根据提前设置的阈值(开发者可自定义)判断到达停车距离,并开始横向移动进停车位。
    图3 自动泊车功能原理
  • 目标跟踪

    基于开发者套件的内置YoloV5神经网络模型的推理结果引导智能小车在多车行驶的模拟道路上行驶。

    1. 通过摄像头收集不同场景下需要跟随的目标,识别前方目标并跟随目标行驶。
    2. 使用模型适配工具训练转换的om模型进行推理,根据识别到物体的大小来推算小车和追踪目标之间的距离,下发指令到控制系统,控制小车的移动和停止,从而达到跟随效果(该功能也可以移植到追踪其他物体的使用场景中,待开发者二次开发)。
    图4 目标跟踪功能原理