简 介: 本文以第十七届全国大学生智能车竞赛为背景,以大赛组委会指定的C型车模为平台,介绍乐师逐飞二队基础四轮组的智能车系统方案等。本设计以TC387单片机作为系统控制处理器,系统主要由主控模块、按键模块、显示模块、电机驱动模块、舵机转向模块和传感器模块组成。系统控制主要分为速度控制和方向控制,我们以摄像头作为循迹的传感器,以编码器作为速度反馈传感器,并以模糊PD方式对舵机转向进行反馈控制。我们采用增量式 PID 算法完成对车速的闭环控制,通过PWM控制驱动电路调整电机功率。最后,我们实现了小车对各个赛道特殊元素的准确识别和自动停车等功能。
关键词
: 智能车,TC387,摄像头
全国大学生智能汽车竞赛受教育部高等教育司委托,由教育部高等自动化专业教学指导委员会(以下简称自动化教指委)主办并负责。作为以智能汽车为研究对象的创 意性 科技 竞赛,其不仅是面向全国大学生的一种具有探索性工程实践活动,也是教育部倡导的大学生科技竞赛之一。该竞赛已发展成全国30个省市自治区近300所高校广泛参与的全国大学生智能汽车竞赛。2008年起被教育部批准列入国家教学质量与教学改革工程资助项目中科技人文竞赛之一(教高函[2007]30号文)。
全国大学生智能车竞赛由竞赛秘书处设计、规范标准硬软件技术平台,竞赛 过程 包括理论设计、实际制作、整车调试、现场比赛等环节,要求学生组成团队,协同工作,初步体会一个工程性的研究开发项目从设计到实现的全过程,也正体现了该竞赛“立足培养、重在参与、鼓励探索、追求卓越”的指导思想。竞赛融科学性、趣味性和观赏性为一体,是以迅猛发展、前景广阔的汽车电子为背景,涵盖自动控制、模式识别、传感技术、电子、电气、计算机、机械与汽车等多学科专业的创意性比赛。其规则透明,评价标准客观,坚持公开、公平、公正的原则,保证竞赛向健康、普及、持续的方向发展。
本届大赛要求基础四轮组使用 C 型车模,车模运行方向不限,若安装摄像头传感器,摄像头镜片中心的高度距离地面不超过10cm。车模必须采用Infineon系列单片机作为唯一车模微控制器。选手制作的车模完成从车库出发在赛道上往返一周后,然后在返回车库。比赛时间从车模驶出车库到重新回到车库为止,也就是说参赛队伍的车模需要能够识别赛道上的起跑线标志完成车模的出发和停止控制。
本文主要包含了系统设计总方案概述和制作智能车过程中的机械设计、电路设计、软件设计等方面的介绍。
机械设计部分主要包括制作和调整两部分内容。其中,制作部分主要是车模的基础组装和对车模没有的部分进行设计,如传感器支架、电路板固定等。调整部分主要是针对车模本身已有的机械部分,在竞赛规则允许范围内进行调整和改装,以此来提高其运动性能,以适应高速行驶和快速控制,如舵机的固定结构改装、车轮定位调整等。电路设计部分主要的模块包括:单片机最小系统、电源模块、传感器模块、驱动模块。各模块的总体设计原则是:紧凑、易于拆换、稳定可靠。但根据各模块的不同,又有不同的设计要求。软件部分主要是基于速度和方向的设计。通过控制车模的后轮驱动电机完成,同时辅以编码器传感器和舵机的转向控制。
本章主要介绍智能车系统总体方案的的选定和总体设计思路。
本设计以TC387单片机作为系统控制处理器,系统主要由主控模块、按键模块、显示模块、电机驱动模块、舵机转向模块和传感器模块组成。在传感器模块中,采用摄像头传感器获取赛道图像信息,采用编码器传感器对电机速度进行检测,采用加速度陀螺仪传感器即姿态传感器检测是否遇到坡道;在舵机转向模块中,以模糊PD方式对舵机转向进行反馈控制;在电机驱动模块中,采用增量式 PID 算法完成对车速的闭环控制,通过PWM控制驱动电路调整电机功率;同时通过软件设计的相关算法识别赛道各元素等。系统整体结构框图 如图 2.1.1所示。
制作完成后小车整体布局如图 2.2.1下:
智能车车模的机械结构设计是智能车制作过程中极具关键性的一环,它极大程度地影响着小车的行驶平稳性和精度。合理且合适的机械结构设计加上软件的算法控制能够使小车的运行状态得到最大的优化和提高。因此在实际设计中,学习和了解机械结构设计的基本知识同时,也要通过不断测试已做的机械设计的实际结果来不断调整优化机械结构来实现高效完美的小车机械结构。本章内容也将对车模类型、车模机械部分安装及改造、传感器的设计安装、系统电路板的固定及连接等进行介绍。
车模选择的是此次竞赛指定的C车模,但其却与往届同样要求使用的B3车模有所不同。与去年的B型车模相比,C型车模是双电机驱动结构,转向依靠舵机控制和后轮两个电机的差速调节。其优点是能方便的通过软件调节差速,同时也意味着需要掌握并精确地感知小车在不同行驶状态下所需要的差速。
在经过前期不断地摸索和调试的过程中,我们发现C车模的原有机械结构存在的很多的问题使得小车的运行状态极差。所以在前期,我们对整车的机械结构进行了系统的分析和反复的探索,在规则允许的范围内对车模进行改进和调整,以提高小车的平稳性和整体精度。其中,车身对称、前轮定位、舵机灵敏度等对小车的运行状态有不可忽视的影响。因此,在整车的机械结构上我们进行了多方面的改进。
前轮是转向轮,它可通过调节主销内倾角、主销后倾角、前轮外倾角和前轮前束等进行调整。在小车调试的过程中,小车本身存在的不对称的问题使得小车在正反向跑时的转向不对称,因此为了增加前轮的抓地力和转向对称性等,我们选择了主销内倾角和前轮前束的调整。另外 ,由于车模 本身 的精 度限制,这部分角度的调整并不 是 主 要 的 , 仅 仅 是 为 了 避 免 负 面 影 响 以 及 修 正 车 模 本 身 的 不 对 称 和 不 平 衡 问题。如图 3.2.1所示
(1)主销内倾角
主销内倾角是指主销装在前轴略向内倾斜的角度,它的作用是使前轮自动回正。角度越大前轮自动回正的作用就越强烈,但转向时越费力,轮胎磨损增大。对于模型车,因此汽车的主销内倾角都有一个范围,约5°-8°之间。对于模型车,通过调整前桥的螺杆的长度可以改变主销内倾角的大小,在调整时可以近似调整为0°-3°左右,不宜太大。主销内倾和主销后倾都有使汽车转向自动回正,保持直线行驶的功能。不同之处是主销内倾的回正与车速有关,因此高速时主销后倾的回正作用大,低速时主销内倾的回正作用大。
(2)前轮前束
前轮前束是指两轮之间的后距离数值与前距离数值之差,也指前轮中心线与纵向中心线的夹角,作用是保证汽车的行驶性能,减少轮胎的磨损。内八字前端小后端大的称为“前束”, 反之则称为“后束”或“负前束”。前轮前束的前轮在滚动时,其惯性力自然将轮胎向内偏斜,如果前束适当,轮胎滚动时的偏斜方向就会抵消,轮胎内外侧磨损的现象会减少。在模型车中,前轮前束可通过改变转向横拉杆的长度实现。
舵机转向机构在小车的行驶中是及其重要的部分,因此合适的舵机的安装位置和左右横拉杆的长度极大地影响着舵机的灵敏度。为了使舵机转向顺滑,我们选择架高舵机,即在其两侧选用铜柱将其架高并起两侧加固作用,在舵机上下部位加装车模机械组装物件中的铁座并用螺丝固定以此起到舵机上下固定作用。其中需要注意的是,为保证舵机转向精度,铜柱安装打孔时务必要注意左右的对称性。另一方面,为了提高舵机的反应灵敏度且使其在相同转角下有尽可能大的线行程,我们选择缩短了舵机的左右横拉杆。与此同时,舵机的左右横拉杆又不能太短,在相同的转矩下这反而会影响其反应灵敏度,因此经实验后我们选择将其缩短至相对平行的状态下。这也在最大程度上减少了舵机转向时因左右横拉杆太长而损耗的时间。如图 3.3.1所示
对车模来说,赛道信息的识别和速度检测等都少不了传感器的帮助。因此,传感器位置的安装和固定等是需要我们对小车的机械安装有整体的把控。
对于摄像头的选择,主要考虑分辨率,动态特性,FPS,自动曝光等参数。摄像头有数字和模拟两种,我们选择了总钻风MT9V034数字摄像头,其能够将图像的灰度值以数组的形式传输给单片机。且相比其他摄像头,其具备较好的动态性能。
为了确保摄像头能够稳定循迹而不晃动,摄像头和其底座的固定是关键。由于今年要求的摄像头镜面中心离地面不得超过10cm,因此在安装时我们需要先确定位置。而后再进行摄像头前瞻和视野宽度等的调整,以便赛道信息采集。对于摄像头的安装固定,我们方案是选用碳纤维杆做摄像头支架、铝制的底座通过打孔后用螺丝固定其在小车上的位置,最后将支架和底座通过胶水进行二次加固。如图 3.4.1所示
速度是反映智能小车运动快慢的一个重要物理量。编码器作为速度检测反馈传感器,其安装位置需要考虑到测速的准确性。我们选用的是逐飞科技的1024线编码器,其体积小、稳定性高。最终,我们选择将其安装在小车的最末尾部分。如图 3.4.2所示。
小车上的电路板分别为主板和驱动板。根据电路板的设计和小车的整体布局考虑,我们选择的是将主板置于小车中前方和将驱动板后置。主板和驱动板选用胶柱架高并打孔后用螺丝固定。如图 3.5.1所示。
智能车主要技术参数包括物理尺寸、电路指标等,具体参数见表 1
智能车电路部分主要的模块包括单片机最小系统、主控模块、传感器模块、驱动模块。在硬件设计中,我们需要考虑到系统的稳定性、可靠性、高效性、简洁性和美观性等,以此实现硬件电路的最优化。其中,稳定性和可靠性是电路设计的最优先原则。简洁性和美观性主要考虑到元器件的使用数量、电路板面积、PCB板布局和电路走线等。
主控模块作为系统的核心,起到协调系统各部分工作的作用。小车电路板主控模块主要由电源模块、蜂鸣器模块及各个传感器插孔组成。
整个硬件系 统 的 工 作 完 全 由 电 源 供 电 的 可 靠性决定,电源供电不稳定会引起电池损耗、单片机复位、舵机及传感器损毁等严重问题,因此电源的设计是最重要的硬件电路设计部分之一。电源供电分配如图 4.1.1所示
在经过考虑后,我们选择了DC-DC电源方案。主芯片为MP2315S。MP2315S是一款内置功率MOSFET的高效率同步整流降压开关变换器。它是MP2315的下一代产品。它提供了非常紧凑的解决方案,在宽输入范围内可实现3A连续输出电流,具有极好的负载和线性调整率。
MP2315S在输出负载范围内采用同步整流模式工作以达到高效率。电流控制模式提供快速瞬态响应,并使环路更易稳定。全方位保护功能包括过流保护(OCP)、过压保护(OVP)和过温关断保护。MP2315S 最大限度地减少了现有标准外部元器件的使用,采用TSOT23-8封装。
电源芯片MP2315S作电源5V供电,它具有完善的保护电路和较好的稳压性能。即使电池在低压情况下仍能使单片机和传感器正常工作;为减少纹波对元件的影响,在电源输出位置通过电容进行滤波,驱动电机则电源直供。3.3V电源供电我们仍选择MP2315S作为稳压芯片。5V和3.3V电源供电电路原理图如图 4.1.2所示。
蜂鸣器电路原理图如图 4.1.3所示
本设计中我们用到的传感器主要有摄像头传感器、编码器传感器和加速度陀螺仪传感器。
摄像头选用的是逐飞科技的 MT9V034总钻风摄像头,其用来检测和采集赛道信息。所以在进行电路设计时,需要结合赛道情况尽可能通过硬件保证检测的有效性和可靠性。摄像头传感器电路原理图如图 4.2.1所示。
编码器选用的是逐飞科技的1024线编码器传感器,其用来进行速度检测反馈。其电路原理图如图 4.2.2所示。
姿态传感器选用的是MPU6050,它用来检测是否遇到赛道坡道元素。其电路原理图如图 4.2.3所示。
驱 动 电 路 为 智 能 车 驱动 电 机 提 供 控 制 和 驱 动,因此电机驱动的设计是硬件电路中非常重要的一部分。驱动电路的基本原理时H桥驱动原理。驱动电路主要由隔离电路、栅极驱动电路、保护电路和H桥组成。驱动模块部分电路原理图如图 4.3.1所示。
一个完整稳定的系统软件控制框图能让智能车的程序有很好的易读性和高可靠性等。系统控制部分有速度控制和方向控制两部分。速度控制主要通过控制车模的后轮驱动电机完成;转向控制需要舵机与后轮差速器的相互协同配合。结合软件相关算法最终完成对小车的速度和方向控制。系统软件控制框图如图 5.1.1所示。
系统的每个模块,如摄像头、电机等,在使用前都需要对其进行初始化。我们一般将这些程序全部写在一起,今年采用的四核的TC387,我用了0核和2核分别处理图像和其他,所以形成二个初始化子函数Systeminit0 (),Systeminit2()。在这两个子函数中再调用各模块的初始化函数。
我们选用MT9V034 数 字 摄 像 头作为赛道信息识别传感器,其通过返回一定像素比例的彩色或者灰度图像数据来进行道路识别。MT9V034 摄像头作为数字灰度摄像头,在采集图像方面具备良好的稳定性。其采用 二维 数组 来存 储赛 道信 息,图像 的灰 度值 是为0-255,颜色偏向白色,灰度值便会越大,反之便会越小。摄像头图象采集思路如下:
1. 定义两个中断函数(行,场中断)。
2. 当场中断来的时候开启行中断。
3. 行中断里循环采集每行的像素点,可以设置跨行采集。
4. 实际的采集行总数等于定义的行总数表示采集完成,关闭行中断完成一幅图像采集。将采集的数据发送至上位机。
在 基本图像 处理 完成后,就 要从 图像 中提 取出 有效 的赛道信息 ,也就是 赛道边缘,以此来完成小车的行驶路径和特殊元素的识别。特殊元素的循迹思路如下:
1. 对于十字回环,由于只能搜到赛道一边的拐点,确定找点的初始位置,选择另一边进行补线处理,然后给左右面积乘以某个系数,同时根据矫正图像滤除十字回环拐角线,从而顺利连线;
2. 对 于圆环, 能 够找 到圆 环的一边边 界的 列数会有较 大的 差异,从而 补线让其进入圆环内;
3. 对 于坡道, 分 成两 端来 判断,远端 的右 边线与左边 线的 差之和大于 近端的右 边线 与左 边线 的差 之和,便 会识 别坡 道,坡道 会采 用减速, 并将 中线 算出来的舵机转角除以一个值;06给v去。6
4. 对于三岔路口,首先判断左右直线三种进入状态,并通过白点长度找到中间的最近点,然后将他和需要转向的方向的反方向的边线连接起来,使其转向;
5. 对于车库,出库时,用来判断赛道的长度来控制直行与转向;入库时,检测到起跑线后直行一定距离后转向入库。
通过对提取出来的赛道信息进行分析,能够计算出当前赛道情况下对应的理想速度,然后再通过PI算法根据理想速度来计算输出到电机的PWM波的占空比大小,从而达到对速度进行控制的效果。比如在进入直道时,智能车的速度应当很快的提升至用户设定的最大速度,而当进入弯道时,应当及时将速度调节到用户设定的最小速度。速度控制测试曲线如图5.2所示。
PID控制器以其原理简单、适应性强、工作可靠、调整方便等优点而在实际工程中得到广泛的应用。其主要由比例单元(P)、积分单元(I)和微分单元(D)组成。当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术,实际中也有PI和PD控制。
PID 控制器是一种线性控制器,它根据给定值与实际输出值构成控制偏差,将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,对被控对象进行控制。原理框图如图 6.2.1所示。
开发 工具使用的是AURIX Development Studio,简称ADS。这个IDE包含调试环境,不需要许可证,而且配置好了启动的工程,使用起来更加方便。在目标程序的下载方面,通过下载器与单片机之间的连接下载程序。其软件界面如图 6.4.1所示。
AURIX Development Studio具体安装流程如下:
1)通过下图网址,下载ADS安装包,并解压。网址如图 6.4.2所示。
2)安装软件,填写基本信息。如图 6.4.3所示;
从初次接触智能车赛事到正式地成为智能车各项赛事的比赛队伍,智能车带给我们的是对知识的不断探索、对一切困难的不断挑战和对团队的不断磨合与团结。它也为我们的大学生活添上了浓墨重彩的一笔。那些为智能车比赛而辛苦努力准备的日子和共同参加比赛的日子,也成为了我们团队每一位成员难忘的回忆。
在制作智能车的过程中,我们从查阅资料、小车机械组装和设计、硬件电路设计和软件设计到后期不断地对各部分进行优化处理,再到小车在赛场上成功完成比赛获得奖项,这期间少不了我们团队每一个夜以继日地付出和汗水,少不了指导老师对我们的指导。也在这过程中,我们不断地积累经验和获取知识、不断地向成为一名成熟的智能车人前行。同时在这段时间里,我们一同经历过小车平稳行驶的欢喜、完成最终目标的激动、解决不了问题的失落、问题反复发生崩溃等各种心情,但这也让我们的团队情谊更加深厚,让我们更加的团结。
而在准备第十七届全国大学生智能车竞赛的时间里,我们遇到了很多从未碰见的问题。我们团队做的是基础四轮,在处理C型车模的过程中,我们遇到的最大的问题主要是硬件上面的问题。以下总结三个遇到的问题:
1)我们首先采用的是LDO方式进行供电,但是发现电源芯片发烫严重,都可以将胶枪的胶直接融化,于是想着换一种电源方案。将电源方案由LDO转换成DC-DC。
2)由于是初次尝试,所以我们从查资料,看讲解视频开始一步一步制作。期间由于经费问题,发电路板出去制作需要在10cm×10cm以内,这样导致电源模块需要放在电路板背面,第一次画背面PCB没有注意正反面翻转后引脚位置改变问题导致了失败。此时元器件也损耗完了。只能重新画PCB,买元器件,这样等电路板到就又得一周时间。
第二版电路板回来后进行了焊接,发现电源芯片无法正常提供所需电压,始终要差一点,由于输出电压是由两块电阻分压决定的,所以暂时只能将其中一块电阻值变小,以此来得到理想电压。经过这次发现原因是PCB布局走线问题,通过电源芯片MP2315S的数据手册了解到:此电源模块的PCB设计要点为一是通顺、二是防干扰。因此我们又对电路板PCB进行了改进。
在这个电源模块里有两条主要的电流流通路径,因为经过的电流比较大,所以路径要尽可能的短和宽,这就是所谓的通顺。在输入端和输出端分别加上了输入电容和输出电容,在这里起到了吸收浪涌和滤波的作用。接着就是防干扰,我们将芯片、电感、电容这些主要电流路径上的元器件放在了电源模块下方和右边。在整个电源模块的左上角放了一些小电容小电阻它们的连线也很细。总的来说右下方的主要电流部分能量大,因为周期性的开关会产生很多电磁干扰,所以它们是干扰源。而左上部分放的都是一些信号,本身电流也很小,而且几乎都是稳定的直流电不会对外界产生干扰,反而容易受到外界干扰。所以我们对这两个区域进行了分割。这样完成了第三板电路板。
在第三版电路板回来后进行焊接测试,这次就没有问题了。
3)特殊元素识别问题。由于今年出现了十字回环这一新赛道元素并且元素与元素之间太紧凑,我们又是往返赛道,相当于所有元素乘以2倍,也给我们的小车调试过程加大了难度。特别是十字回环出来就是左圆环,这的衔接以及十字回环处理的不够好,花费了我们大量的时间。在指导老师的帮助下,我们通过边优化算法边试验调试的方法来努力突破该瓶颈。
以上所提及的问题不过是调车过程中遇到的主要的令我们头疼的问题,在实际的小车调试过程中还会出现各种考验我们的小问题。我相信这也是每个智能车人都会遇到的并且习以为常的。而在每天不断地调试过程中,不得不说我们对特殊元素的识别算法仍然需要进一步地进行改进。
一路走来,所有的负面情绪都被我们化为动力,让我们每个人都深深地感受到了办法永远比困难多这一句话的含义。我们也将继续保有智能车精神,不忘初心,砥砺前行。
借此机会,我们想向一些人致以真诚的谢意。首先,感谢组委会对每位智能车人的理解和支持,在疫情之下顶住压力举办第十七届全国大学生智能车竞赛;其次,感谢学校学院领导给予我们的重视和支持,让我们没有后顾之忧的全心全意地准备比赛;再者,感谢实验室的指导老师们,当我们遇到问题时你们总会站在我们的身后给予我们指导;最后,感谢团队中的每一个人,在多少个日日夜夜中相互陪伴与加油打气。在以后的每一个日子里,我们也将继续加油!
[1] 关于举办第十七届全国大学生智能汽车竞赛的通知.
[2] 第十七届全国大学生智能汽车竞赛竞速比赛规则与赛场纪律.
[3] 华成英, 童诗白. 模拟电子技术基础. 北京, 高等教育出版社, 2006
[4] TPS7350 datasheet
[5] TPS7333 datasheet
[6] 阎石. 数字电子电路基础. 北京, 高等教育出版社, 2005 [7] Infineon TC377 datasheet