17届智能车竞赛技术报告-极速越野 | 南昌大学-闪电小飞侠
队伍名称:闪电小飞侠
参赛队员:龚浩宇 、曹禹源
带队教师:黄玉水 、胡奕涛
今年已是智能车竞赛举办的第十七届,从第五届到今年的第十七届比赛,由于疫情的原因,比赛赛制发生了巨大变化,赛道不断变化,这不仅考验小车的速度更考验小车的鲁棒性和稳定性。然而今年的小车无论是从赛道环境发生了巨大变化,虽然原来越野组也是室外,但是仍选用电磁寻线的方式,现在采用400m
田径跑道,探索小车速度的极限。本次比赛中,我们小组选用L
车模作为参赛车模。本文中,通过对小车设计制作整体思路、电路、算法、调试、车辆参数的介绍,最终为实现目标任务奠定基础。基于室外电磁组运动特点,通过分析系统的整体情况选择合适的工作模块,为系统软件实现打下基础。在keil
平台采用c
语言对代码的实现,选用了MM32F3277G9P
微控制器,通过计算GPS
两点经纬度角度偏差,通过经典PID
算法控制舵机打脚PWM
的输出,实现了小车根据GPS
偏差转弯。本文主要为了设计适用于室外越野赛道的越野小车,从硬件、软件、机械等方面进行设计实验。
在准备比赛的过程中,我们小组成员涉猎控制、传感技术、汽车电子、电气、计算机、机械等多个学科,这次磨练对我们的知识融合和实践动手能力的培养有极大的推动作用,在此要感谢清华大学,感谢他们将这项很有意义的科技竞赛引入中国;也感谢南昌大学相关学院对此次比赛的关注,我们的成果离不开学校的大力支持及指导老师悉心的教导;还要感谢的是和我们一起协作的队员们,协助,互促,共勉使我们能够走到今天。
01 设计方案
本章主要简要地介绍智能车系统总体设计思路,在后面的章节中将整个系统分为机械结构、控制模块、控制算法等三部分对智能车控制系统进行深入的介绍分析。
1.1 系统总体方案的设计
根据竞赛规则相关规定,我们小组选用L
型车模,以MM32F3277G9P
作为核心控制器,在 keil
开发环境中进行软件开发。赛车的位置信号由GPS
传感器采集,在比赛前通过踩点存入flash
中。电机转速控制采用 PID
控制,通PWM
控制驱动电路调整电机的转速, 完成智能车速度的闭环控制。此外,还增加了拨码开关和按键作为输入输出设备,用于调整车模运行模式和选择速度挡位。
1.2 系统总体方案设计图
为了满足比赛要求,需采用比赛规定范围内芯片,单一电源供电,实现极限越野小车运行,以MM32F3277G9P
为核心基础,根据GPS
和陀螺仪为参考,采用位置式PID
算法控制电机和舵机,实现小车根据赛道环境进行运动。
▲ 图1.2.1 系统总体方框图
02 机械结构
车模的机械结构在某种程度上限制着小车的上限速度,如果一辆车想要在速度上有所突破,机械结构的调整是不可忽视的。对L模型车的机械结构来说,车模必须能够在室外的环境下正常运行,可以顺利控制路线,这就要求在车模机械结构尽可能的稳定和对称。本文以L型车模为例,探讨车体机械结构的建模和设计。
2.1 智能车车体机械建模
此次比赛选用的赛车车模采用 L
型车模。赛车机械结构只使用竞赛提供车模的前后底盘部分及车轮和驱动部分。对于极速越野来说,整个车子的重心合理分布重要,电机和舵机的位置都放置车模底盘的同一侧,另一侧放电池,使两边重心相符。在L
车上面加上平板,采用上下结构,将驱动置于主板下面,后面用铜柱和塑料柱架起来GPS
的高度。我们在不断的尝试后确定了以下的设计方案:
▲ 图2.1.1 智能车L车器件布局
2.2 智能车前后轮避震器机构调整
在本次越野车的车模型中,避震器是一个非常重要的结构,它可以减缓小车高速运动中的机械震荡情况,使得小车尽可能地保持一个稳定的状态进行运动,但是避震器的安装也非常的重要,如果安装的不对称,将会影响车模整体的对称性,从而影响车模在运动过程中的平稳性。为了使得避震器的安装对小车的速度提高且行驶轨迹正确,我们将前后轮的避震器都是对称安装,并且将避震的软硬程度调适当,可以很好的提高小车过颠簸路段的稳定性。
2.3 轮胎的保养与使用
在速度较快的情况下,摩擦力是限制智能车速度提升的一个因素,由于本车轮胎是在室外环境下进行运动的,在室外环境下,赛道本身的摩擦力非常大,所以对车胎的摩擦力并不高,我们没有对车模轮胎进行打磨刻画等操作。
2.4 电机的调整
本次比赛,是室外越野小车,为得到更快的速度,我们没有使用车模自带的有刷电机,我们选用了好盈13.5T、3750Kv的无刷电机。
03 电路设计
3.1 主控板和驱动板的硬件设计
可靠是系统设计的第一要求,我们对电路设计的所有环节都进行了如下的改进和设计:
电源系统的稳压性能、纹波噪声的去处、功率的充足提供的可靠性等;主控系统的电路优化,减少电路元件的体积和用量,减少不稳定因素;动力系统的动力性能可靠性,如加速、制动等性能会有大幅度的改善,为整车的性能提升提供充足的保证;做好各部分的接地、屏蔽、滤波等工作,将高速数字电路与模拟电路分开,使本系统工作的可靠性达到了设计要求;传感器的性能稳定, 保证整车数据流的准确可靠;
为了尽量减轻整车重量,降低模型车的重心位置,应使电路设计尽量简洁, 尽量减少元器件使用数量,缩小电路板面积,使电路部分重量轻,易于安装。我们在对智能车系统进行分析后可以通过以下几点来进行对系统简洁处理:
1. 智能车机械结构的简化,这需要我们设计出更加精巧、灵活的机械构件, 提高智能车的精度,提高智能车的制作工艺,简化智能车的机械复杂程度。在对智能车硬件电路系统进行了详细分析后,通过认真筛选所用器件、简化电路、合理设计元件排列、电路走线,最终的硬件电路板采用贴片封装形式,使本系统硬件电路部分轻量化和机械强度部分的指标达到设计要求。
2. 一个好的设计应该是能给人以美感的。除了满足基本的设计要求之外, 我们还对元器件的摆放位置做了大量的尝试,使得整个电路较为美观。
3.1.1 电源管理模块
为满足需要,本车模上存在 4
种供电电压:
1. 智能车使用4S锂电池充电电池,充满时电压在15.6V
。提供更大电流。一些数字器件使用直流 5V
,5V
电源选用开关型稳压芯片 LM2596
。
2. 使用 5V
为单片机,采用线性稳压芯片 LM2940
。
3. GPS
模块使用线性稳压芯片PW6206
,输出5V
。
4. 按键、蜂鸣器、TFT
等装置使用3.3V
供电,为TPS76833
。
该部分原理图如图 3.1 所示。
▲ 图3.1.1 电源管理模块原理图
3.1.2 电机驱动电路
本次驱动电路采用MM32SPIN360C
芯片作为电机驱动芯片,此单片机具有3
个运放及3
个比较器,无需外加运放与比较器,内置12V
转5V
的ido
稳压。减小了电路板的原件,缩小板子大小。其电机驱动电路为一个由分立元件制作的直流电动机可逆双极型桥式驱动器,其功率元件由12
支 N
沟道功率 MOSFET
管组成,其中每一路2
个mos
并联增大过电流能力。该驱动器主要由以下部分组成: PWM
信号输入接口、逻辑换向电路、死区控制电路、电源电路、上桥臂功率 MOSFET
管栅极驱动电压泵升电路、功率 MOSFET
管栅极驱动电路、桥式功率驱动电路、缓冲保护电路等。该部分原理图如图 3.2
所示。
▲ 图3.1.2 电机驱动模块原理图
3.1.3 单片机及其他电路部分设计
- 核心控制单元:
MM32F3277G9P
,根据需要引出适量的管脚。
▲ 图3.1.3 单片机引出管脚
- 人机交互:增加带有液晶屏的数字键盘及拨档开关,用于输入参数,策略调整。
▲ 图3.1.4 调试模块
3.2 智能车传感器模块设计
根据竞赛组委会的相关规定,我们选用双频GPS
,双频GPS
可以消除电离层效应,使定位更加准确。同时配合陀螺仪jy901s
辅助定位,优化小车路径。
3.2.1 GPS传感器的原理
GPS
导航系统的基本原理是测量出已知位置的卫星到用户接收机之间的距离,然后综合多颗卫星的数据就可知道接收机的具体位置。
3.2.2 驱动电路的布局原理及改进
对于无刷驱动,要达到更大的转速,则其过流能力一定要大,所以我们对驱动电路板进行了大范围开窗设计,在ABC
相进行铺铜走线,并大范围开窗,增大板子的过流能力。
在实际测试时,由于电流过大,会导致板子过热,导致焊锡熔化,焊锡熔化导致板子短路。后面我改用高温锡,板子熔化问题有所改善。但是在后续再提高素的时候,板子还是会熔化,导致采样电阻飞出来。最终的解决办法是,用704
橡胶胶把焊锡固定,同时把元件固定。后续无论车撞还是翻了,或是堵转,板子都没有出现任何烧板或者炸板子的问题。该板子驱动PCB
面貌如图 3.5
所示。
▲ 图3.2.1 驱动PCB模块
04 控制软件
控制程序是人的思想在车模体现,程序要体系化,模块化,稳定化,目标是将硬件电路和机械性能发挥到最大,让车模用最快的速度完成比赛。
4.1 底层初始化
4.2 GPS采集数据
采用串口中断采集GPS
经纬度和方位角,中断每间隔 100ms
对 GPS
经度和方位进行一次采集。并将GPS
的经纬度存入flash
中,保证断电后,仍然可以使用经纬度,不用重新踩点。
4.3 路线规划算法实现
在寻迹过程中,主要是通过GPS
得到方位角,然后通过两点之间的方位角和当前方位角的差值得到误差,通过分段PD
对舵机的打角实现控制。由于GPS
的刷新速率比较慢,在短时间内的方位角差值可能变化比较剧烈,可以通过陀螺仪对一段时间的方位角进行积分,然后积分的差值作为分段PD
的误差输入,从而控制舵机的打角,这样在高速的情况下舵机打角可以比较平缓。
05 开发工具
5.1 开发工具
程序的开发是在keil
下进行的, Keil C51
是美国Keil Software
公司出品的51
系列兼容单片机C
语言软件开发系统,与汇编相比,C
语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil
提供了包括C
编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision
)将这些部分组合在一起。运行Keil
软件需要WIN98
、NT
、WIN2000
、WINXP
等操作系统。如果你使用C
语言编程,那么Keil
几乎就是你的不二之选,即使不使用C
语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
5.2 调试过程
在踩取部分地点的经纬度的值,然后控制车子行驶,通过判断车子的行驶状态,然后分析车子的行驶状态,从而对代码的参数进行修改。
06 技术参数
6.1 智能车外形参数
- 车 长 :38cm
- 车 宽 :25.5cm
- 车 高 :39cm
- 车 重:约2039g
6.2 电路部分参数
我们小组所改造的智能车采用 16.8V 4s
航模电池供电,电机在更高的电压下可以得到更高的转速。
6.3 传感器个数以及种类
我们改造的智能车共使用 1
个GPS
和1
个陀螺仪。
6.4 除了车模原有的驱动电机之外伺服电机数量
使用好盈13.5t
无刷电机。
※ 结 论 ※
全国大学生智能汽车竞赛已经成功举办了十七届,该竞赛涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科,培养了学生的知识融合和实践动手能力。在此份技术报告中,我们主要介绍了准备比赛时的基本思路,包括机械,电路,以及最重要的控制算法的创新思想。
在传感器布局,我们分析了前几届中出现的越野跑法,综合考虑到程序的稳定性、简便性,我们最后敲定了现在的机械结构,并通过反复实践决定了传感器的数量和位置,考虑到程序的稳定性、简便性,我们最后敲定了GPS和陀螺仪传感器的方案,并通过反复实践决定了传感器的种类和最佳位置。在控制方面,我们最终还是选择了pid传统算法,先求完赛,其次再考虑速度快,得分高。
在电路方面,我们以模块形式分类,在 MM32F3277G9P主控模块、传感器模块、电源模块、电机驱动模块、速度检测模块、辅助调试模块这六个模块分别设计, 在查找资料的基础上各准备了几套方案;然后我们分别实验,最后以报告中所提到的形式决定了我们最终的电路图。
在算法方面,使用 C 语言编程,利用比赛推荐的开发工具调试程序,经过小组内成员和其他组别之间不断讨论、改进,终于设计出一套比较稳定的程序。在这套算法中,我们可以适中的车速稳定完成赛道所有元素。
准备初始阶段,由于自身知识积累不够,我们遇到很多困难,走了不少弯路,也犯了不少错误。通过不断学习和实践,最终解决了问题,同时也完善了自己。在此特别感谢一直支持和关注智能车比赛的学校和学院领导以及各位老师。同时也感谢比赛组委会能组织这样一项很有意义的比赛。
通过一次次的摸索和学习,我们在小车的机械结构,硬件电路及软件控制算法上都有了深刻的体会,学到了很多课本上无法学到的内容,是一次挑战,也是一次飞跃。在今年国赛中也很满足,用自己的努力获得了比较好的成绩,给自己的智能车生涯画上圆满句号。
非常感谢组委会和各比赛承办高校,组委会和各承办高校今年充分利用互联网,与各参赛队员、指导老师们频繁交流,不断完善,有效扩大了比赛影响力。
● 相关图表链接:
- 图1.2.1 系统总体方框图
- 图2.1.1 智能车L车器件布局
- 图3.1.1 电源管理模块原理图
- 图3.1.2 电机驱动模块原理图
- 图3.1.3 单片机引出管脚
- 图3.1.4 调试模块
- 图3.2.1 驱动PCB模块
文章来源: zhuoqing.blog.csdn.net,作者:卓晴,版权归原作者所有,如需转载,请联系作者。
原文链接:zhuoqing.blog.csdn.net/article/details/126784095
- 点赞
- 收藏
- 关注作者
评论(0)