首页 > 其他分享 >【2023 · CANN训练营第一季】——开发者套件进阶,玩转智能小车课程笔记

【2023 · CANN训练营第一季】——开发者套件进阶,玩转智能小车课程笔记

时间:2023-05-31 18:34:58浏览次数:47  
标签:进阶 智能 CANN 小车 套件 开发者 2023 推理 摄像头

前言:基于新款开发者套件Atlas 200I DK A2的智能小车,采用人工智能的方法,对摄像头采集到实时影像进行推理,产生电机等运动机构的控制指令,在特定环境里,实现自动行驶、自动泊车、目标跟踪等功能。昇腾官方开源了“玩”小车的全部软、硬件资料,还准备了模拟环境,让还没有小车的小伙伴体验自动驾驶的乐趣。

课程:CANN训练营2023年第一季_基于Atlas 200I DK A2的智能小车设计与实现

视频:【2023 · CANN训练营第一季】- 基于Atlas 200I DK A2的智能小车设计与实现

https://www.bilibili.com/video/BV1mX4y1B7AM

gitee仓:https://gitee.com/HUAWEI-ASCEND/ascend-devkit/tree/master/src/E2E-Sample/Car

智能小车文档:文档首页>Atlas 200I DK A2开发者套件>应用案例>智能车应用开发指南https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/23.0.RC1/Application%20Cases/ivadg/ivadg_0003.html

【2023 · CANN训练营第一季】——开发者套件进阶,玩转智能小车课程笔记_CANN

一、概述

        基于Atlas 200I DK A2开发者套件的智能小车,是使用开发者套件的内置神经网络模型,借助昇腾芯片,实现自动驾驶、自动泊车、目标跟踪等功能。

【2023 · CANN训练营第一季】——开发者套件进阶,玩转智能小车课程笔记_CANN_02

二、智能小车的硬件构成

        智能小车主要有如下功能模块构成:

        一)主控部分

        1、开发者套件(200I DK A2):根据摄像头收集的数据进行AI推理,将推理结果发送给主控模块控制小车运行。

        二)控制器及执行机构

        2、主控ESP32开发板:信号接收与发送,执行并调动其他部分完成指令。

        3、直流电机(TT电机):为小车提供动力,可调节旋转方向和速度。

        4、麦克纳姆轮:灵活方便的实现全方位移动功能。

        5、舵机(两轴云台):装载摄像头并调节拍摄角度,可控角度0~180°。

        三)采集传感器

        6、广角摄像头:采集实施影像,用于开发者套件推理。

        7、超声波传感器:可实现2~400cm的非接触距离感测功能,测距精度可以高达3mm。

        8、激光雷达:生成点云数据,用于构图和定位。

        9、语音模块(预留):声音的输入输出。

        四)辅助

        10、安装结构件包括:外壳(前)、外壳(后)、载物外壳等。


【2023 · CANN训练营第一季】——开发者套件进阶,玩转智能小车课程笔记_Atlas 200I DK A2_03

三、智能小车的软件构成

        智能小车的软件包括两部分:

        1、开发者套件(200I DK A2)的深度学习AI推理应用的开发;

        2、小车运动控制器“主控ESP32开发板”的嵌入式软件开发。

【2023 · CANN训练营第一季】——开发者套件进阶,玩转智能小车课程笔记_CANN_04

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

【2023 · CANN训练营第一季】——开发者套件进阶,玩转智能小车课程笔记_CANN_05

        昇腾开源了全套的代码和说明,在代码仓的E2E-Sample/Car目录下,可以下载去学习、使用。目录结构如下:

【2023 · CANN训练营第一季】——开发者套件进阶,玩转智能小车课程笔记_智能小车_06

四、小车“智能”的技术实现

一)、自动驾驶

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

        1、通过摄像头收集不同场景下的路况信息数据,判断当前位置并识别转弯标识。

        2、使用模型适配工具训练转换的om模型进行推理,计算转向角,最后根据推理结果下发指令控制小车转向。

【2023 · CANN训练营第一季】——开发者套件进阶,玩转智能小车课程笔记_智能小车_07


【2023 · CANN训练营第一季】——开发者套件进阶,玩转智能小车课程笔记_CANN_08

二)自动泊车

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

        1、通过摄像头收集不同场景下的停车标志信息数据。

        2、使用模型适配工具训练转换的om模型进行推理,判断当前标识是否为停车标志,“是”则开始自动泊车,“否”则继续行驶并收集数据。

        3、识别到目标后,判断目标停车标识和智能小车当前位置之间的距离,根据提前设置的阈值(开发者可自定义)判断到达停车距离,并开始横向移动进停车位。

【2023 · CANN训练营第一季】——开发者套件进阶,玩转智能小车课程笔记_CANN_09


【2023 · CANN训练营第一季】——开发者套件进阶,玩转智能小车课程笔记_CANN_10

三)、目标跟踪

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

        1、通过摄像头收集不同场景下需要跟随的目标,识别前方目标并跟随目标行驶。

        2、使用模型适配工具训练转换的om模型进行推理,根据识别到物体的大小来推算小车和追踪目标之间的距离,下发指令到控制系统,控制小车的移动和停止,从而达到跟随效果(开发者也可以移植改功能到追踪其他物体的使用场景中)。

【2023 · CANN训练营第一季】——开发者套件进阶,玩转智能小车课程笔记_智能小车_11


【2023 · CANN训练营第一季】——开发者套件进阶,玩转智能小车课程笔记_智能小车_12

五、DIY“智能”小车

一)功能模块

        官方提供了小车的模块清单,清单非常详细,连紧固件都有,网址如下:

https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/23.0.RC1/Application%20Cases/ivadg/ivadg_0012.html

        主要有:

【2023 · CANN训练营第一季】——开发者套件进阶,玩转智能小车课程笔记_CANN_13

二)DIY结构件:

        外壳与结构件,可以采用钣金或者3D打印的方式进行制作。

        1、直接使用昇腾官方提供的3D文件。

        下载地址:https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Atlas%20200I%20DK%20A2/DevKit/samples/23.0.RC1/e2e-samples/Car/E2E%E6%99%BA%E8%83%BD%E5%B0%8F%E8%BD%A6%E6%A0%B7%E4%BE%8B3D%E7%BB%93%E6%9E%84%E4%BB%B6.zip

          2、对于自己DIY的开发者,昇腾也给出了结构设计的原则和注意事项

        从零开始设计并搭建智能小车,在满足外观要求的基础上,要满足小车运转过程中的运动干涉率为0,并且需要考虑实际安装时的易用性与可行性,以及智能小车的重心位置的控制等。

【2023 · CANN训练营第一季】——开发者套件进阶,玩转智能小车课程笔记_Atlas 200I DK A2_14

三)组装步骤和注意事项:

1、组装步骤

        需要依照从下至上的顺序组装小车,组装底盘上的连接件,按照“电池 > TT直流电机 > 麦克纳姆轮 > 广角摄像头模块 >ESP32单片机 > 第一层外壳 > 超声波模块 > 语音麦克风阵列 > Atlas 200I DK A2开发者套件 > 激光雷达连接到后段外壳 > 前中段外壳顺”序组装。详细步骤见官方文档:https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/23.0.RC1/Application%20Cases/ivadg/ivadg_0014.html

2、组装注意事项

        1)注意螺钉和螺栓的固定顺序,第一次固定不要完全固定,以防有顺序错误需要拆卸的情况。

        2)为了便于插拔ESP32和开发者套件上的各类接口,最上层的外壳未设计为完全固定的形式,可随时取下,所以移动小车时建议手托到底盘。

        3)为了防止小车前端的外壳遮挡广角摄像头的视线,也为了提高摄像头位置的自由度,广角摄像头载板设置了多挡位调节,开发者可以选择合适的摄像头前后位置。

        4)注意麦克纳姆轮的安装顺序和前后轮位置,否则可能会影响小车的平移和原地旋转效果,左右麦克纳姆轮上的扁状滚轮上的摩擦力方向需要均指向小车的中轴线方向,如下图所示。

【2023 · CANN训练营第一季】——开发者套件进阶,玩转智能小车课程笔记_智能小车_15

  四)软件部署

        1、烧录E2E镜像

        使用“一键制卡”工具,将准备好的镜像烧录到“开发者套件(200I DK A2)”的SD卡上。

        2、配置ESP32开发板烧录软件

        将编译好的固件,通过Arduino 工具下载到“主控ESP32开发板”中。

六、仿真环境

         昇腾为还没有小车的小伙伴们推出了“开启昇腾开发者套件的小车仿真之旅”的在线实验。

【2023 · CANN训练营第一季】——开发者套件进阶,玩转智能小车课程笔记_智能小车_16






标签:进阶,智能,CANN,小车,套件,开发者,2023,推理,摄像头
From: https://blog.51cto.com/u_15485447/6388813

相关文章

  • 某书x-s算法(2023-05-30更新)
     服务器2023-05-30更新了x-s算法,主要位置如下: 将其全部复制下来,放入浏览器测试(HTML代码如下):<!DOCTYPEhtml><html><head><metacharset="utf-8"/><title>X-s,X-t算法测试,技术支持:V:byc6352,日期:2023-5-31</title><scriptsrc="xs.j......
  • Flutter导入第三方包后报错The number of method references in a .dex file cannot e
    报错导入just_audio:^0.9.34后编译报错。报错内容如下:ERROR:D8:Cannotfitrequestedclassesinasingledexfile(#methods:71340>65536)com.android.builder.dexing.DexArchiveMergerException:Errorwhilemergingdexarchives:Thenumberofmethodreference......
  • 2023广东省程序设计大赛F题
    思路:我们把先把所有状态和值用线段树或树状数组记录下来(因为他是连续的区间,相当于一段区间的不同状态的和)再通过二分或者倍增找出这段区间及找出左右端点1:线段树或者着树状数组维护的有两个,一个是前缀和(不管状态),一个是颜色和就是状态2:左右端点查找:一个点对应一个颜色,我们假设从......
  • pkusc2023 d1t3
    整自闭了,快一个月后才想出来怎么做。设点\(i\)是1的概率为\(p_i\),定义\(P_i(x)=1-p_i+p_ix\)。那么\(p_i\)是\(i\)的儿子节点和自己的\(P(x)\)卷起来后取后一半的系数和。树上修改很魔怔,考虑ddp。维护每个点轻儿子和自己的\(\prodP(x)\),记为\(S_i(x)\),设一共有......
  • 进阶指南 - 动态规划
    可以说是典中典题了。有很多输出方案的方法。线性DP“线性DP”不是指线性复杂度,而是指动态规划的每个维度的转移都是线性的。解决这类问题的关键是要确定,在当前维度下,每个状态的求解只与之前的最优解有关。MrYoung'sPicturePermutationsSPOJGNYR04HonLuogu给定一个......
  • 【2023 · CANN训练营第一季】——搭建环境:创建ECS,下载sample仓
    前言:        本文是环境搭建的第一篇笔记。主要包括下面两方面内容:    1、在华为云上创建ECS服务器,并修改Ubuntu源和pip源为国内镜像地址。        2、为了更好的使用ECS,需要在本地安装远程连接和查看代码的工具软件,以Windows为例介绍几个常用的工具软件。......
  • CVE-2023-33246学习
    1.参考学习CVE-2023-33246https://github.com/I5N0rth/CVE-2023-332462.本地搭建环境2.1下载镜像#dockerpullapache/rocketmq:4.9.1#dockerpullapacherocketmq/rocketmq-console:2.0.02.2启动broker、namesrv、console启动namesrvdockerrun-dit-p9876:987......
  • java.lang.ClassCastException: com.alibaba.fastjson2.JSONArray cannot be cast to
    是这样的,今天跟着写springboot项目的时候,前端登录的时候报403错误。检查了半天,是后端的问题报错代码: 第二句报错提示如下 说是JSONArray不能转String,但我这也不是JSONArry转String而是Object转String啊。网上搜了半天,用了好多种方法也没什么用最后索性死马当活马医,让它......
  • 西门康IGBT模块存在sql注入 QTVA-2023-3632489
    网址:http://www.gl-igbt.com/product.php?id=6 漏洞描述: 西门康igbt模块,采购平台,便捷购买,专业代理,售后无忧,大量现货供应,模块齐全,可直接供货,一键下单,整流桥功率,西门康一站式采购平台,可长期稳定供货 西门康IGBT模块存在sql注入漏洞,攻击者可利用该漏洞获取数据库......
  • 2023ccpc大学生程序设计竞赛-zzh
    比赛开始没有开到签到题,看了一会别的题才开始跟榜。A题我写的,不过没有考虑到S长度为1的情况,wa了一次。然后lhy和zx把F题做了出来。接着他俩去看H,我去看B。他俩把H过了,B我想出了一个n*根n的做法,T了。lhy感觉E是DP,去看E,我和zx去看K。lhy把E过了,我俩K还没思路。接着他俩看B,想了快......