首页 > 编程知识 正文

智能小车比赛报告,智能车竞赛设计思路

时间:2023-05-06 20:40:38 阅读:227282 作者:602

简 介: 本文以第十六届全国大学生智能车竞赛为背景,介绍了智能赛车控制系统
的软硬件结构和开发流程。该比赛采用自主设计的车模和硬件,使用LCC谐振电路接收无线充电能量并存储在超级电容组中,以英飞凌的TC264微控制器作为核心控制单元,通过总钻风摄像头加装红外滤光片搜寻信标灯方位信息,用于路径判断;通过编码器检测模型车的实时速度,使用PID控制算法调节驱动电机的转速,实现了对模型车运动速度和运动方向的闭环控制。为了提高模型车的速度和稳定性,使用等调试工具,进行了大量硬件与软件测试。实验结果表明,该系统设计方案可行。

关键词智能车系统单片机摄像头控制策略

学 校:重庆大学    
队伍名称:赛博坦汽车人联盟
参赛队员:凡源      
zjdhl     
要减肥的电话     
带队教师:应苑松     
zjdct      

 

第一章 引言 1.1 概述

  全国大学生智能汽车竞赛是以智能汽车为研究对象的创意性科技竞赛,是面向全国大学生的一种具有探索性工程实践活动,是教育部倡导的大学生科技竞赛之一。本竞赛以“立足培养,重在参与,鼓励探索,追求卓越 ”为指导思想,旨在促进高等学校素质教育,加强学生实践、创新能力和培养团队精神。

  在第十六届“恩智浦”智能车比赛中,本组使用自主设计的车模,采用TC264微控制器作为核心控制单元,自主设计控制方案,包括传感器信号采集处理、速度控制,电机驱动,无线充电等,最终完成一套能够识别灯光信标,进行无线充电的智能车控制系统。车模由三部分组成,分别是机械结构、硬件组成、软件程序。

  本技术报告将针对传感器信号处理设计、安装、底盘参数选择、电路设计、控制算法、调试手段等方面进行阐述,并列出了模型车的主要技术参数。

1.2 系统总体结构

  整个智能车控制系统,TC264微处理器通过采集摄像头的信号,得到赛道上的信标灯的位置;通过采集陀螺仪的模拟信号,得到车身倾角姿态的状态数据;通过采集编码器对车轮转速的脉冲计数,得到车行进的速度数据。通过微处理器对图像处理,对角度、速度进行 PID 控制,最后以 PWM波输出驱动电机。车模由三部分组成,分别是机械结构、硬件组成、软件程序。

  机械结构中,车轮采用自行设计传动比齿轮与电机连接,底盘采用 3D 打印技术制作,为了节省空间,无线充电接收线圈粘贴在车底盘下,控制电路板固定在车身上。

  硬件组成,以TC264微控制器为控制核心,设计了无线充电电路。

  软件程序,编写了控制电机实现路径跟踪,恒功率无线充电,圆环检测处理等程序。

  后期,对小车进行了深入的研究,分别在机械结构、硬件和软件上都进行过改进,硬件上主要是传感器、电路的布局,调整软件参数,让小车的更加完善。
 

第二章 机械结构设计 2.1 整车布局

  智能车系统是一个整体系统,主要包含了三部分:机械结构、硬件组成、软件程序。机械结构确定了小车的整体框架,好的机械结构能够提高性能,速度,减少能量损耗达到节能的目的。硬件组成完成小车行径的基本功能,能够正常沿着赛道行径,这三部分密切联系,其中整车机械部分布局如图2.1所示:

▲ 图2.1 整车布局

  车模参数:底盘尺寸为 230mm×230mm×270mm,可以自由组装。轮胎尺寸为Φ64mm*32mm,为传统C车轮胎,具有极好的耐磨性和较大的摩擦力。

2.2 摄像头安装

  摄像头负责采集赛道信息,所以摄像头的安装很重要。摄像头安装在车模前半部分,摄像头视野的前瞻和盲区、图像的梯形失真程度、摄像头的横向覆盖范围以及对车模重心的影响。系统理想状况是要达到:车模的重心低、摄像头的前瞻足够、信标在视野范围内。但很难协调达到上述要求,所以在软件算法决定图像的采集范围后,尽量降低摄像头的高度,以达到减低重心的目的。另外,摄像头的高度也会影响其抖动,架的越高则越容易抖动。但为保证图像的稳定可靠,我们最终把摄像头架在了与地面的距离为235mm左的位置。摄像头整体安装如图 2.2所示:

▲ 图2.2 摄像头安装

2.3 无线充电、升压、大容量电容装置安装

  为了节省空间,提高充电效率,无线充电线圈粘贴在底盘下面,如图2.3.1所示:

▲ 图2.3.1 无线充电线圈

  无线充电线圈为保证充电效率更高,需要尽量贴近地面,所以线圈一段固定使其托在地面,尽可能提高充电效率。
  升降压模块固定在摄像头支座后,如图2.3.2所示:

▲ 图2.3.2 升压模块

  大容量电容固定在车模前段,由于电容重量较大,为平衡小车的前后重量,使其在行驶时保证稳定,所以自制固定件将电容固定在车模前段,如图2.3.3所示:

▲ 图2.3.3 大容量电容

  该三部分共同构成小车的供电装置,通过无线充电线圈获取电能,将其储存在电容中,通过升降压模块将电压设定在需要的工作值。

2.4 电机、编码器、驱动板安装

  电机和编码器安装在车模尾部,如图2.4.1所示:

▲ 图2.4.1 电机和编码器位置

  驱动板安装在车模上表面,如图2.4.2所示:

▲ 图2.4.2 驱动板位置

 

第三章 硬件电路设计 3.1 硬件设计方案

  系统的硬件电路是整个系统的基础,也是软件平台得以稳定运行的基础,所以硬件电路的设计是非常重要的。在硬件系统的设计过程中,本着系统安全、稳定的原则,电路设计尽量模块化,主要包括单片机最小系统、图像采集模块、无线充电模块、电机驱动模块等。

3.2 单片机模块

  本小车采用的是英飞凌 TC264 ,核心板主要用来处理传感器采集到数据,同时输出控制信号,根据摄像头采集到的图像,求得信标灯的实际位置,并根据 PID 算法对电机进行控制,同时它还控制速度参数的设定等工作,因此核心板是整个系统的控制中心。供电用LTC3780升降压到6V后由LDO稳到5V、3.3V为其他外设供电。
  单片机模块如图 3.2 所示:

▲ 图3.2 单片机

3.3 图像采集模块

  本小车使用的摄像头是总钻风,为购买的成品,如图3.3所示:

▲ 图3.3 摄像头

3.4 电机驱动模块

  驱动板由74LV245将PWM信号隔离传递给IR2104来驱动MOS管开断。使用INA282对输出电流进行采集。小车采用电机编码器:512 线 mini 三相增量式旋转编码器,电机驱动板如图3.4所示:

▲ 图3.4 电机驱动模块

3.5无线接收线圈模块

  此次智能车比赛,是利用磁场互感现象,通过磁场耦合的两个线圈可以完成电能的传输。发射线圈中通有 150KHZ 的交流电。采用卓大的LCC方案,用自制的模具手绕线圈,测量其电感值后匹配相应的谐振电感电容,在参数方面使用了6A的谐振参数。无线充电部分是我们组的遗憾,没有做好,充电功率平均只有35W左右,和其他的组相比有很大的差距,期待能在其他组的技术报告中能够明白自己为什么没有做好充电这部分。

▲ 图3.5 无线充电模块

3.6 储能模块

  因为新车的升降压方案有问题,我们并没能装好新车,只能使用区赛的车参加比赛。旧车接收线圈没有固定,信标灯的亮度并不完全一致,我们的软件员试了很多方案,只能保证大半时间中途补电停在相切高功率位置,所以决定用大电容一次充电跑完全程,使用了120F5串的电容。储能模块如图3.6所示:

▲ 图3.6 储能模块

3.7 升降压模块

  由于主板是6V供电,电机是8V供电,需要将超级电容的电压进行升降压稳定到6V8V再输出。升降压控制芯片采用了ADI的LTC3780,使用LTpowerCAD进行参数设计,可以直观的看到电流电压参数,功率损耗曲线,损耗器件,以及负载曲线等多项性能参数。最终设计结果可以在4-13V输入,8V输出的情况下全程保持功效在90%以上,最高达到97%。

▲ 图3.7 升压模块

 

第四章 系统软件设计 4.1 控制系统设计流程

  在智能车控制系统的软件设计中,程序的主流程是:摄像头通过中断采集程序对赛道信息进行采集,主程序在两次中断的间隙中完成对数据进行处理及计算并给出控制量,采样周期为 10ms。其中,主程序主要完成的任务是:单片机初始化、图像采集、图像滤波、信标位置提取、速度控制算法。另外速度值提取、速度控制输出放置定时中断里,更能实现对速度的实时控制。主程序控制流程如图 4.1 所示,图像采集控制流程如图 4.2 所示。

▲ 图

4.2 算法处理 (1)图像大津算法

  OTSU算法也称最大类间差法,有时也称之为大津算法,由大津于1979年提出,被认为是图像分割中阈值选取的最佳算法,计算简单,不受图像亮度和对比度的影响,因此在数字图像处理上得到了广泛的应用。它是按图像的灰度特性,将图像分成背景和前景两部分。因方差是灰度分布均匀性的一种度量,背景和前景之间的类间方差越大,说明构成图像的两部分的差别越大,当部分前景错分为背景或部分背景错分为前景都会导致两部分差别变小。因此,使类间方差最大的分割意味着错分概率最小。

(2)提取信标位置算法

  当信标灯点亮时,通过算法处理得到图象的二值化数组,遍历数组,找到大于阈值的那块区域中,位于120行和160列图像中,位于最上面行的大于阈值的亮点的行坐标mini)和最下面行(maxi),以及最左边列(minj)和最右边列(maxj)。这个算法对拍摄到的图像的形状要求不高,对阈值的设置要求比较高。不同阈值拍摄的图像呈现的亮斑形状不一样,不过该算法都是求x轴和y轴方向上的最大坐标和最小坐标。

(3)PID 算法

  本工程中采用位置式PID,输入的是目标位置到实际位置的偏差,输出的是电机的目标速度。主要作用:控制电机以适当的速度到达目标位置。

 

第五章 系统调试 5.1 开发工具

  程序的开发是在ADS上进行,软件主页面如图 5.1 所示

▲ 图 5.1 软件界面

5.2 制作与安装过程

  首先设计所需模块的电路,并绘制原理图,再通过绘制PCB制作电路板,完成各个电路模块的制作。同时,通过建模设计各个模块的固定件,通过3D打印制作完成,通过螺栓等固定件将各个模块安装在车模各个位置,接着将各个模块的电路进行连线,最终完成组装成小车。

5.3 调试过程

  非在线调试,需要通过下载器将程序下载进单片机进行测试调试。

 

第六章 模型车的主要技术参数

  模型车的主要技术参数说明:

  改造后的车模总体重量,长、宽、高尺寸等基本参数:

车长:230mm车宽:230mm车高:270mm电路功耗,所有电容总容量:电路功耗:约7W/S采用采用 5 个120 F 电容串联,总容量为24 F。传感器种类以及个数:一个总钻风灰度摄像头 两个512线编码器电机个数:2个电容电压检测精度、频率:采用 12 位 AD 采集,频率5ms/次

 

第七章 结论

  整个系统包括车体机械结构,硬件电路和软件代码部分的设计制作。小车机械结构设计主要包括各个模块的紧固件的设计安装和安装后的位置调试;硬件系统设计完成了无线充电模块、升压模块、电容储能模块、电机驱动模块、单片机模块的电路设计和调试;软件系统设计完成了各功能模块的算法及程序设计,包括图像采集算法设计、提取信标灯以及信标灯坐标求解算法设计以及电机的 PID 算法设计。最终完成设计的系统经过调试,小车能够完成节能信标组的任务。

 

参考文献

[1] 第十六届全国大学生智能汽车竞赛竞速比赛规则.
[2] 华成英,kqdkfd.《模拟电子技术基础》[M].北京:高等教育出版社,2006.
[3] 轻松的保温杯.《数字电子技术基础》[M].北京:高等教育出版社,2006.

■ 附录:程序源代码 #include "headfile.h"#pragma section all "cpu1_dsram"void core1_main(void){disableInterrupts(); IfxScuWdt_disableCpuWatchdog(IfxScuWdt_getCpuWatchdogPassword()); //用户在此处调用各种初始化函数等 SpeedPID_Init(); Icm20602_init_spi(); oled_init(); // botton_dial_switch_gpio_init(); gpio_init(P20_9, GPO, 0, PUSHPULL); gpio_init(P33_10, GPO, 0, PUSHPULL); enableInterrupts(); // switchscan(); while (TRUE) {//用户在此处编写任务代码 if (taskNum[0] == 0) // 杂项周期 { taskNum[0] = 500; // 周期毫秒数 GYRO_display(); } /*--------------------------------------------------------------------*/ if((batvoltage<630)&&(reduce_flag>10)&&(fulllight>950)&&((ngdxtg.Pitch<-5.5)||(ngdxtg.Pitch>6.0))) // 电池电压低于6.5V且充电电压大约6.55V,则开始补充电 { batchargeflg=1; // 开始充电标志置1 systick_delay_ms(STM0,80); CarStop(); // 关闭电机,开始充电 while((batvoltage<700)) // 充电没有达到8V以上,则等待充电 { gpio_set(P33_10,1); systick_delay_ms(STM0,50); gpio_set(P33_10,0); } // 补电结束,蜂鸣器响 batchargeflg=0; // 充电结束标志清零 }// if (taskNum[1] == 0)// {// taskNum[1] = 20;//// picture_send();//// mt9v03x_finish_flag=0;//// uart_putchar(UART_2,0x03);uart_putchar(UART_2,0xFC);//发送命令//// uart_putchar(UART_2, ((uint8)speed_fb[0]));//// uart_putchar(UART_2, ((uint8)speed_fb[1]));//// uart_putchar(UART_2,0xFC);uart_putchar(UART_2,0x03);//// if (beetime > 0)//// {//// beetime--;//// BUZZER_ON;//// }//// else//// BUZZER_OFF;//////// } /*--------------------------------------------------------------------*/ }}#pragma section all restore

● 相关图表链接:

图2.1 整车布局图2.2 摄像头安装图2.3.1 无线充电线圈图2.3.2 升压模块图2.3.3 大容量电容图2.4.1 电机和编码器位置图2.4.2 驱动板位置图3.2 单片机图3.3 摄像头图3.4 电机驱动模块图3.5 无线充电模块图3.6 储能模块图3.7 升压模块图图 5.1 软件界面
如何使用CSS设置div半透明的效果

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。