智能车竞赛技术报告 | 智能视觉组 - 大连海事大学 - 菜鸡啄米

Posted 卓晴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了智能车竞赛技术报告 | 智能视觉组 - 大连海事大学 - 菜鸡啄米相关的知识,希望对你有一定的参考价值。

简 介: 本文以十六届恩智浦杯全国大学生智能车竞赛为背景,设计的智能车系统以恩智浦i.MX RT1064微处理器为核心控制单元。通过四个电感检测赛道信息,计算出赛道轨迹。通过1024线带方向的编码器获得车辆速度,使用 PID 控制算法调节驱动四个电机的转速,实现了对车运动速度和运动方向的闭环控制。使用Open Art Mini摄像头实现智能视觉中的识别。使用TFT屏幕,无线串口,上位记等调试工具进行大量调试。实验结果表明,该系统方案确实可行。

关键词 智能车iMXRT1064PID控制算法图像识别

 

学 校:大连海事大学
队伍名称:蔡鸡啄米  
参赛队员:柴昱    
罗盟之   
张开源   
带队教师:纪勋    
翟朝霞   

 

第一章


 

第二章 统的总体方案设计


2.1 系统总体方案的设计

  根据本届智能车竞赛要求,赛道部分采用恩智浦i.MX RT1064微处理器为作为主控芯片,通过速录电感检测赛道信息,提取赛道中间引导线,控制舵机转向角度,以及进行赛道十字路口、岔路、岛等元素的识别;使用编码器获取电机转速,用PID方式对电机进行闭环控制;识别部分采用基于恩智浦i.MX RT1064微处理器的Open Art Mini摄像头进行April Tag奇偶分类,数字奇偶分类,动物水果分类。两块芯片通过串口通信连接,控制车辆进行相应动作,完成两部分的任务。

2.2机械结构统总体方案的设计

2.21舵机的安装

  C车模中,使用舵机控制前轮的左右转向,我们的智能车选用了立式安装,即舵机直立在车模中央,并用四根长螺钉将其固定。确保舵机中轴到左右轮的传动距离相同,保持较高的响应速度,增加系统的稳定性。在舵机支架上,本组安装了一个电压表,实时显示目前电池的电量,在确保智能车在最佳状况运行的同时避免电池亏电影响使用寿命。由于车辆运动速度较快,为防止电压表的正负级电线脱落缠绕影响舵机,对其进行了封胶处理。

▲ 图 2.2 舵机的安装

2.22前轮传动的安装

  本组对前轮进行了前轮前束的调整,前轮前束是指前轮前端面与后端面在汽车横向方向的距离差,也可指车身前进方向与前轮平面之间的夹角[1],适当选择前束角,可使前束引起的侧向力与车轮外倾引起的侧倾推力相互抵消,从而避免了额外的轮胎磨耗和动力的消耗。本组根据自身车辆的重量以及舵机性能调整了前轮前束的角度,使得车辆更加平稳的行驶。

▲ 图 2.3 前轮前束的调整

2.23编码器的安装

  编码器用于检测车辆电机运行状态以及车速,对车辆电机的PID闭环控制极为重要。本组选择了精度更高的1024线带方向编码器,为了实现高精度的检测,编码器的安装尤为重要。本组采用轮啮合的传方案,将编码器连接齿轮于电机控制转动轴上的齿轮相连,并使用润滑油,这样在电机转动时,编码器齿轮和传动齿轮之间的运动流畅顺滑,不会出现打滑或卡尺的现象。为速度精确控制提供了前置条件。

▲ 图 2.4 编码器的安装

2.24识别摄像头的安装

  由于线上国赛的规则更改,摄像头识别的目标不再是靶子而是屏幕,激光射击的目标从靶子中心转移到了键盘或屏幕下方的A4纸,此时为Open Art Mini摄像头安装云台的必要性下降,且云台含有两个额外舵机会增加车模重量影响性能,本组采用了如下的方案:

  (1)拆除云台的两个舵机,减轻车模总体质量,以达到更快的速度,提高赛道任务的成绩。
  (2)测量显示屏幕到地面的距离,以固定的角度将摄像头与红外激光固定,确保识别与激光射击的稳定性,提高识别任务的成绩。

▲ 图 2.5 识别摄像头的安装

2.25轮胎的处理

  车辆的轮胎方面,为获得更大的抓地力以及支撑性,本组在原厂轮胎的基础上进行了以下的处理。

  (1)轮胎软化。将轮胎外表皮均匀泡在轮胎软化液中,经过一段时间,轮胎外表皮变软,此时轮胎与地面的接触面积更大,抓地力更强。
  (2)轮胎封胶。由于本组车辆最高时速时电机转速较快,为避免轮胎胶皮与轮毂分离,在其中间挤入塑料胶,确保两者不会分离。

  在轮胎经过了处理之后,获得了更好的性能。同时本组的轮胎满足比赛对于轮胎的要求,即轮胎又清晰的花纹以及车模放在A4纸上5秒以上不粘连。

 

第三章 件电路的设计与实现


3.1 整体硬件设计

  此次智能车比赛是本组第一次参加,由于设计能力有限,未采用将驱动,模板,AD放大电路集成在同一板子上的设计方案,此方案虽然更加的简洁,但是对电路设计要求较高,并且一部分出问题就需要整个重新设计。因此,我们采用了分开设计多块小板的方案。此方案有效的提高了本组电路设计效率,并且模块化的设计带来了许多优势,如更加便捷的处理不同部分,后续升级只用改动单一模块,增加了硬件设计的灵活性。
  我们主要设计的电路有,母板,驱动板,电磁运放板。

3.2 电源模块

  根据竞赛的规则,本组选用了推荐的XSHY 18650 2000mH 7.4V电池。但是除了电机外,大部分元件需要的电压为5V3.3V,因此,我们需要设3.3V5V的稳压电路。由于系统中3.3V电路的功耗较小,我们决定使用线性稳压芯片LDO,本组选择了市场上运用非常成熟的RT9013-33线性稳压芯片,3.3V稳压电路如图3.1所示。

▲ 图3.1 3.3V 电路设计

  在设计5V的电路时,考虑到有舵机等器件,对负载的电流要求较高,所以我们没有使用线性稳压,采用了DC-DC变换器,我们使用了SY8205FCC芯片,5V稳压电路如图3.2所示。

▲ 图 3.2 5V电路设计

  根据竞赛的规则,我们选用了推荐的XSHY 18650 2000mH 7.4V电池。但是除了电机外,大部分元件需要的电压为5V3.3V,因此,我们需要设3.3V5V的稳压电路。由于系统中3.3V电路的功耗较小,我们决定使用线性稳压芯片LDO我们选择了市场上运用非常成熟的RT9013-33线性稳压芯片。

3.3 母板

  母板作为智能车上面积最大的板子,主要有微处理器最小系统,电源电路,传感器以及通信接口等,我们在板子上设计了固定孔来固定母版以及连接摄像头支架。

▲ 图 3.3 母版直观图

3.4 驱动板

  电机驱动电路方面,我们选择了DRV8701E芯片,相较于传统的驱动,无需升压电路,带电流保护功能,能更好的保护车辆,同时其控制信号也更加简单,只需要两路PWM控制速度,两路IO控制方向。相较于传统的HIP4082N沟道MOSFET驱动,我们使用了TPH1R403NL,其内阻更小,减少驱动的发热量。隔离芯片我们选用了SN74HC125PWR线路缓冲器,单片机信号只能单向输出到驱动,方向的信号被拦截,能在有效保护单片机的同时提高驱动能力。

▲ 图 3.4 驱动原理图

▲ 图 3.4 驱动原理图

3.4 电磁运算放大板

  为了使单片机ADC能读取到电磁信号,需要对其进行放大,放大电路方面,我们使用了德州仪器TI的OPA4377运算放大器。经测试,在距离赛道25cm内移动车辆均可检测到电磁信号的明显变化。通过调节可变电阻固定监测到的电感值变化范围,方便赛道中线以及元素的检测。

▲ 图 3.5 电磁运放直观图

 

第四章 件算法的设计与实现


4.1智能视觉算法设计

4.1.1 概述

  根据《第十六届全国大学生智能汽车竞赛总决赛 AI视觉组线上赛细则》,识别任务可大体分成两大类,边框检测问题和图像分类问题。其中图像分类问题又可分为四个小类:AprilTag奇偶分类,数字奇偶分类,动物水果分类以及对AprilTag,数字,动物水果这三类进行分类的三分类问题[2]。

  其中边框检测问题我们使用传统图像处理手段进行处理,而图像分类问题我们则全使用了神经网络进行解决。

4.1.2 边框检测问题

  我们使用了find_rect函数[3]来寻找矩形。线上赛使用电脑显示器进行显示,这么做相比于原先线下赛的规则有一个好处,就是不用担心摄像头采集到多余的噪音,比如在赛场上出现的一些方框等。但也有一个弊端–显示器本身也是一个方框,可能会被find_rect()识别进去。因此我们通过调整threshold的值,使其能识别到目标边框。同时,鉴于显示器为长方形,而目标边框是正方形,我们也会通过计算长宽比的方式排除掉一些不合理的数据。

4.1.3 图像分类问题

4.1.3.1 分类方案

  图像分类首先需要解决的是三分类问题。三分类问题指的是对于显示器上会出现的AprilTag、数字、动物水果这三种类型进行初次判断并分类。我们首先考虑了通过设置HSV阈值的方式来对其进行分类,但实际效果并不理想。因为摄像头对显示器的背光极其敏感,略微的角度改变都会改变摄像头所识别到的光源位置,从而使图像对应的HSV值发生改变。

  所以我们最后采用了先识别AprilTag,再用纯神经网络进行二分类的方案。由于Open Art Mini本身对于AprilTag识别的灵敏度极佳,因此可以先通过内置函数判断是否为AprilTag,再利用神经网络来进行数字、和动物水果的二分类。得益于神经网络本身的鲁棒性,我们在三分类问题上取得了远比HSV方案理想的结果。

  数字奇偶和动物水果的分类问题则使用神经网络来处理。其中数字奇偶分类是一个十分类网络,动物水果则是一个二分类网络。

4.1.3.2 神经网络设计

  受限于硬件的ram较小,神经网络本身的可操作空间不大,无法使用较为复杂的网络模型,我们统一使用了最为经典的卷积神经网络模型。模型参数如下:

▲ 表4.1 神经网络模型参数表

  数字识别问题,可以参照经典的mnist手写数字识别问题[4],轻松将10个数字进行识别,再分别按照奇偶进行分类。
  值得推敲的是在动物水果分类问题中,最后一层全连接层究竟是输出2-class还是10-class。在主流CV分类问题中,应当是将最后的class分得越细越好,即将目标图片在苹果、香蕉、橙子、葡萄、猪、狗、猫、马、牛十种类型中进行分类。相比于仅对动物和水果进行分类,这样做能够使神经网络关注到更多的细节,学习的目标更加明确,避免学到一个"四不像"的情况。但在实际调试过程中,我们发现,受制于硬件,模型的深度不够深,无法很好地把握住图片的细节,同时十分类会将更多的资源放在最后一层全连接层上,浪费资源。

  因此在动物水果分类问题上,我们最终采用了动物-水果的二分类方案。虽然二分类模型对于一些界限不太明显的图片识别效果不佳,而十分类器却能够识别,例如容易将白底粉色的猪识别成苹果。但整体上,二分类器的效果优于十分类器。

4.1.3.3 模型训练

  模型训练主要处理的是数据集。

  对于数字分类问题,我们选择先用mnist集进行预训练,动物水果分类问题则没有预训练,直接进行正式训练。我们先使用官方提供的数据集进行正式训练,并通过旋转、扭曲、亮度调节等方式进行数据增强。最后,用摄像头实际拍到的图像进行微调,以此获得一个准确率较高的结果。

4.2赛道控制算法设计

4.2.1 PID控制原理

  PID是闭环控制算法中最简单的一种。PID是比例 (Proportion) 积分 ,(Integral) 微分 ,(Differential coefficient) 的缩写,分别代表了三种控制算法。通过这三个算法的组合可有效地纠正被控制对象的偏差,从而使其达到一个稳定的状态。[5]

  成比例地反映控制系统的偏差信号,偏差一旦产生,立即产生控制作用以减小偏差。比例控制器的输出u(t)与输入偏差e(t)成正比,能迅速反映偏差,从而减小偏差,但不能消除静差。静差是指系统控制过程趋于稳定时,给定值与输出量的实测值之差。偏差存在,才能使控制器维持一定的控制量输出,因此比例控制器必然存在着静差。由偏差理论知,增大疋虽然可以减小偏差,但不能彻底消除偏差。比例控制作用的大小除与偏差e(t)有关之外,还取决于比例系数Kp的大小。比例系数Kp越小,控制作用越小,系统响应越慢;反之,比例系数Kp越大,控制作用也越强,则系统响应越快。但是,Kp过大会使系统产生较大的超调和振荡,导致系统的稳定性能变差。因此,不能将Kp选取过大,应根据被控对象的特性来折中选取Kp,使系统的静差控制在允许的范围内,同时又具有较快的响应速度。

  积分环节的作用,主要用于消除静差提高系统的无差度。积分作用的强弱,取决于积分时间常数Ti,Ti越大积分作用越弱,反之则越强。积分控制作用的存在与偏差e(t)的存在时间有关,只要系统存在着偏差,积分环节就会不断起作用,对输入偏差进行积分,使控制器的输出及执行器的开度不断变化,产生控制作用以减小偏差。在积分时间足够的情况下,可以完全消除静差,这时积分控制作用将维持不变。Ti越小,积分速度越快,积分作用越强。积分作用太强会使系统超调加大,甚至使系统出现振荡。
  微分环节的作用能反映偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。积分控制作用的引入虽然可以消除静差,但是降低了系统的响应速度,特别是对于具有较大惯性的被控对象,用PI控制器很难得到很好的动态调节品质,系统会产生较大的超调和振荡,这时可以引入微分作用。在偏差刚出现或变化的瞬间,不仅根据偏差量作出及时反应(即比例控制作用),还可以根据偏差量的变化趋势(速度)提前给出较大的控制作用(即微分控制作用),将偏差消灭在萌芽状态,这样可以大大减小系统的动态偏差和调节时间,使系统的动态调节品质得以改善。微分环节有助于系统减小超调,克服振荡,加快系统的响应速度,减小调节时间,从而改善了系统的动态性能,但微分时间常数过大,会使系统出现不稳定。微分控制作用一个很大的缺陷是容易引入高频噪声,所以在干扰信号比较严重的流量控制系统中不宜引入微分控制作用。

  微分控制作用的阶跃响应特性对于一个恒定的偏差量,不管其数值有多大,微分控制作用均为零。因此,微分作用不能消除静差,单独使用意义不大,一般需要与比例、积分控制作用配合使用,构成PD或PID控制。

  对于PID控制,在控制偏差输入为阶跃信号时,立即产生比例和微分控制中作用。由于在偏差输入的瞬时,变化率非常大,微分控制作用很强,此后微分控制作用迅速衰减,但积分作用越来越大,直至最终消除静差。PID控制综合了比例、积分、微分3种作用,既能加快系统响应速度、减小振荡、克服超调,亦能有效消除静差,系统的静态和动态品质得到很大改善,因而PID控制器在工业控制中得到了最为广泛的应用。

4.2.2速度控制实现

  为达到在弯道,赛道元素达到快速加减速,以及通过后轮主动差速调整转弯半径的目的,我们通过读取编码器获得车轮实际转速,并与六轴imu采集到的X轴加速度积分进行加权获得估测的车速,并进行PD控制来使得轮速能够快速调整为我们需要的速度。控制周期设定为5ms,通过PIT定时器中断确定控制周期。

▲ 图4.2 控制速度控制周期的PIT中断函数

4.2.3赛道控制实现

  在赛道控制部分,我们采用了两横两竖四电感,横向电感在外,对与直道电磁线的距离较为敏感,竖向电感在内,对车体与电子线的相对角度较为敏感。采集到的电感值经过归一化控制在0-255之间,方向通过PID控制,横竖两组电感分别做差并使用两套PID参数,通过电感值判断当前道路,通过一个有限状态机在大弯道,直道,小弯道三种基本赛道模式以及环岛,三叉,十字坡道(由陀螺仪判断)等特殊元素的各个阶段中切换,改变两组电感PID控制器输出的加权,再将加权的值作为舵机的偏移量和后轮的差速,经过限幅后由舵机和电机输出。

 

考文献


  [1] 李占东, 唐岚, 王贤民, 邵南平, and 李杨. “基于减少轮胎磨损某SUV前轮前束角与外倾角的匹配优化设计.” 成都工业学院学报 21.2 (2018): 1-17. Web.
[2] 《第十六届全国大学生智能汽车竞赛总决赛 AI视觉组线上赛细则》
[3] OpenMV Cam 中文文档
[4] 王晓华. TensorFlow 2.0深度学习应用实践. 第2版 ed. Print.
[5] 黄友锐. PID控制器参数整定与实现. Print.


● 相关图表链接:

以上是关于智能车竞赛技术报告 | 智能视觉组 - 大连海事大学 - 菜鸡啄米的主要内容,如果未能解决你的问题,请参考以下文章

智能车竞赛技术报告 | 单车拉力组-大连海事大学-同舟拾队

第十六届全国大学生智能车竞赛技术报告 | 单车拉力组- 上海海事大学-骑摩托的蒙娜丽莎

智能车竞赛技术报告 | 基础四轮组 - 大连理工大学 - 霹雳小队

智能车竞赛技术报告 | 智能视觉组 - 北京科技大学智能视觉组

智能车竞赛技术报告 |单车拉力组 - 大理工大学- 基于串级控制的智能循迹自形成研究

智能车竞赛技术报告 | 智能车视觉 - 宜宾学院- 平头哥1组