智能车模型控制系统

2024-09-28

智能车模型控制系统(通用10篇)

智能车模型控制系统 篇1

0引言

智能车辆是当今车辆工程领域研究的前沿, 它体现了车辆工程、人工智能、自动控制、计算机等多个学科领域理论技术的交叉和综合, 是未来汽车发展的趋势。以往智能小车在软件设计上多采用单程序控制, 不利于智能车在外部环境改变时做出快速反应, 为使智能车系统反应更为快速, 该智能车应用μC/OS-Ⅱ系统, 该系统适合小型控制系统, 具有执行效率高、占用空间小、实时性能优良等特点。且选用功耗较低、资源更为丰富的AVR系列ATmega16单片机作为核心控制单元。

采用红外探测法实现寻迹功能, 即将红外光电传感器固定在底盘前沿, 利用其在不同颜色的物体表面具有不同的反射性质的特点, 在小车行驶过程中不断地向地面发射红外光, 单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。并在后轮上粘上均匀分布的黑白条纹, 根据光电反射原理, 测量车速。为保证智能车在行驶过程具有良好的操稳性和平顺性, 控制系统对直流电机驱动控制提出了较为理想的解决方案。

1硬件系统的设计及实现

智能车的硬件部分以AVR系列ATmega16单片机为核心控制器, 由核心控制单元、电源管理模块、路径识别模块、转向控制模块、电机驱动模块和速度及路程检测模块等组成。智能车控制系统总体结构如图1所示。

1.1 核心控制单元

智能车采用ATmage 16型单片机作为主控CPU。其主要特点为高性能、低功耗、高性价比, 资源丰富, 并且支持高级语言编程, 在运行速度, 内存容量, 内部功能模块集成化等诸多方面比MCS-51系列先进。在智能车系统设计中, 单片机的I/O资源分配如下:PB3, PD7为伺服电动机的PWM控制信号输出引脚;PD0~PD3为驱动电机正反转引脚;路径识别系统经排线由PA0~PA6输入至单片机。

1.2 电源管理模块

为避免电机等器件对系统产生干扰, 智能车的各功能模块单独供电。采用12 V蓄电池为直流电机供电, 将12 V电压降压、稳压后给单片机系统和其他芯片供电。相对于其他类型的电源, 蓄电池具有较强的电流驱动能力以及稳定的电压输出性能。考虑到蓄电池的体积大, 在车体设计时留出了足够的空间。

在稳压时, 采用两片7812芯片将电压稳压至12 V后给直流电机供电, 然后采用2576将电压稳至5 V。2576的输出电流最大可到3 A, 完全满足系统要求。

1.3 路径识别模块

智能车采用红外探测法实现小车在黑色地板上循白线行走, 为了提高控制精度, 要求传感器排列紧密, 越近越好。但传感器排列紧密, 传感器发射管的光线可能会从地面反射进入临近传感器的接收管。为消除传感器之间互相干扰, 传感器共分为7组, 由PA0~PA6这7个I/O口直接供MCU读取传感器数据。利用红外线在不同颜色的物体表面具有不同的反射性质的特点, 在智能车行驶过程中传感器不断地向地面发射红外光, 当红外光遇到白色纸质地板时发生漫反射, 反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收, 小车上的接收管接收不到红外光 (原理图为图2所示) 。单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线[1,2,3]。

1.4 电机驱动模块

在电机驱动方面, 采用运用L298作为电机驱动芯片, A, B两个电机分别控制左面和右面各两个轮。通过调节两轮的转速来实现智能车的转向, 即由单片机控制进行PWM变频调速, 通过程序设计改变脉冲调宽波形的占空比, 从而实现调速。转向角度不同, 则两电动机的转速差异不同。当小车处于较大的偏离状态时, 需把一个电机的速度调至极低, 另一电机全速运行, 从而在较短时间内完成路线的调整。

通过设定电机的正转和反转来控制智能车的前进和后退。这种电路设计简易高效, 并能确保前后两轮同步[4]。

1.5 车速检测模块

智能车系统通过车速检测模块来读取实时车速。采用在后轮上粘贴均匀分布有黑白条纹的方法。利用图3的检测电路来对车轮上的黑白条纹进行检测。根据光电反射原理, 在车轮转动时, 红外接收管接收到反射光强弱高低变化, 就会产生与车轮转速相对应的脉冲信号, 将该脉冲信号进行放大整形后输入单片机的输入捕获引脚PA7, 记录单位时间内所得到的脉冲数, 就能够表示出当前车速[5], 同时通过累加可以计算出小车所行走的路程。

2软件系统设计与实现

为使智能车在环境改变时做出更为及时准确的响应, 在程序设计时应用μC/OS-Ⅱ系统。μC/OS-Ⅱ适合小型控制系统, 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点, 最小内核可编译至2 KB。μC/OS-Ⅱ的代码是用C语言编写, 可以直接移植到有C语言编译器的处理器上。移植主要都集中在多任务切换的实现上, 由于这部分代码用于保存和恢复CPU现场 (即写/读相关寄存器) , 不能用C语言, 只能使用汇编语言完成, 即编写OSCPUA.S文件。另外还需要修改体系结构相关的OSCPU.H文件和用户规定任务栈初始化结构的OSCPUC.C文件。μC/OS-Ⅱ是采用的可剥夺型实时多任务内核。可剥夺型的实时内核在任何时候都运行就绪了的最高优先级的任务。μC/OS-Ⅱ中最多可以支持64个任务, 分别对应优先级0~63, 其中0为最高优先级。在该系统设计中, 共应用了7个优先级, 其中, 操作系统建立任务, 即Task Start () 的优先级最高。调度工作可以分为两部分:最高优先级任务的寻找和任务切换[6,7,8]。

在该系统中, 共定义了路径识别、光电转盘检测等7个任务, 控制器任务划分及说明如表1所示。其调度和通信实现流程如下:系统执行TaskStart () , 在初始化任务执行完成后, 利用μC/OS-Ⅱ的OSTaskDel () 函数将这个任务返回并处于休眠状态。此时, TaskPositionCheck () 成为优先级最高的任务, 将会一直执行。当TaskPositionCheck () 检测到路径有所改变, 通过邮箱传送数据到TaskControl () , 并由TaskControl () 控制PWM波输出的改变。任务TaskOpticalWheel () 的优先级稍低, 同样会一直执行, 即当任务TaskOpticalWheel () 检测到黑白跳变时, 任务中的变量加1, TaskOpticalWheel () 每隔1 s向任务TaskPathCalculate () 和TaskSpeedCalculate () 发送1次消息, 分别计算速度和已走的累加路程, 控制器任务关系图如图4所示。

2.1 路径黑线的识别

路径黑线的识别的准确程度决定智能车能否完成快速、稳定的寻线。识别装置由高发射功率红外光电二极管和高灵敏度光电晶体管组成, 以非接触检测方式, 检测距离可调整达4~20 mm。为了精确测定智能车的相对位置, 将7对ST178并排安放在车底盘下部的前端, 其分布垂直于智能车行走的方向。当车行走时, 保持7个发光管发光, 当某一个光电对管的下方为黑色轨迹时, 相应的接收管输出为高电平, 而下方为白色路面的接收管输出为低电平。再经数据处理后, 控制系统就可以分析出当前车行走的位置, 从而达到调整智能车运行状态的目的。例如, 假设路面黑线的宽度为三组红外线对管的宽度, 当黑线在车体中间时, 7个输入引脚为28H (0011100) ;当车体左或右偏时, 接收到的数据会改变, 即“1”会相应的左移或右移, 如0001110 (右偏) 、0111000 (左偏) , 偏移幅度不同, “1”的移动位数便不同。

2.2 转向控制模块

采用PWM (脉冲宽度调制) 控制, 配用L298驱动电路实现直流电机的调速, 方法简单且调速范围大, 它利用的是直流斩波原理, 假定高电平导通, 在一个周期T内导通时间为t, 那么一个周期T内的平均电压U= (t/T) VCC=qVCC, 其中占空比q=t/T[9]。

电机的转速与电机两端的电压成正比, 而电机两端的电压与控制波形的占空比成正比, 因此电机的速度与占空比成正比, 占空比越大, 电机转的越快, 当占空比q=1时, 电机转速达到最大。该智能车系统采用8 MHz的晶体振荡器, PWM信号引脚OCR0/2的频率为:

fΟCnΡWΜ= (fclk-Ι/Ο) /Ν×256

式中:变量N代表分频因子:1, 8, 32, 64, 128, 256或1 024。

占空比计算公式为[10]:

t/Τ= (ΟCR0/1/256)

2.3 车速及路程测量模块

在智能车车后轮上粘贴均匀分布有黑白条纹。在轮转动的过程中, 红外传感器会不断检测到黑、白条纹的出现。当红外传感器检测到的为黑条纹时, 输入电压为高电平, 当检测到的为白条纹时输入电压为低电平。若传感器检测到电平跳变, 则计数变量加1。时钟每秒产生一次中断, TaskClock () 进程通过邮箱向TaskSpeedCalculate () 进程发送数据, 由此可算出小车速度:速度=数据/每圈条纹数。如图5, 图6所示。

3结语

本文介绍了一种智能寻迹模型车的设计与实现。实践证明, 该智能车定位准确, 系统响应快且稳定, 具备良好的动力性能和精确的转向性能, 证明了μC/OS-Ⅱ系统的有效性和稳定性。相比同类智能车, 该模型车还具有高性能、低功耗的优点。

参考文献

[1]谭永宏, 张辉.智能寻迹小车的研究与设计[J].微计算机信息, 2008, 24 (2) :310-312.

[2]韩东波, 曹兵, 葛良全, 等.基于SPCE061A的语音控制智能小车设计[J].计算机测量与控制, 2007, 15 (9) :1 183-1 185.

[3]刘燕, 刘志.基于单片机控制的自主寻迹电动小车的设计[J].自动化与仪器仪表, 2007 (3) :9-11.

[4]张军, 宋涛.AVR单片机C语言程序设计实例精粹[M].北京:电子工业出版社, 2009.

[5]韩毅, 杨天.基于HCS12单片机的智能寻迹模型车的设计与实现[J].计算机工程与设计, 2008, 29 (18) :4 736-4 739.

[6]刘刚.基于S3C44BOX和μC/OS-Ⅱ智能家居嵌入式系统设计[J].现代电子技术, 2008, 31 (14) :43-45.

[7]李蓉, 李娟, 周孟然.基于ARM+μC/OS-Ⅱ的斜井防跑车控制器设计[J].现代电子技术, 2008, 31 (14) :35-37.

[8]陈是如.μC/OS-Ⅱ内核分析、移植与驱动程序开发[M].北京:人民邮电出版社, 2007.

[9]景立群, 李勇, 季学武.基于单片机PWM功能的步进电机细分设计[J].微特电机, 2008 (8) :14-16.

[10]马潮.AVR单片机嵌入式系统原理与应用实践[M].北京:北京航空航天大学出版社, 2007.

智能车模型控制系统 篇2

智能桨叶的实时模型与复合自适应振动控制

研究了智能桨叶的实时模型、控制方法与控制器的.实时实现.首先,采用MX滤波器实现了对桨叶动态特性的实时在线模拟,给出了该滤波器的系数与所描述的受控结构模态参数之间的相互关系.接着,提出了一种新的复合自适应控制方法,它综合了自适应前馈控制和反馈控制的特点,实现了对桨叶阻尼和振动响应的控制.最后,在所建立的以高速信号处理器为中心的实时数字仿真系统上,实现了对单频、双频及变频、变幅值谐和激励下桨叶振动的控制,获得了良好的振动控制效果.

作 者:马扣根 Joerg Melcher Ma Kougen Joerg Melcher  作者单位:马扣根,Ma Kougen(南京航空航天大学直升机技术研究所,南京,210016)

Joerg Melcher,Joerg Melcher(德国宇航研究院结构力学研究所,德国布伦瑞克,38108)

刊 名:航空学报  ISTIC EI PKU英文刊名:ACTA AERONAUTICA ET ASTRONAUTICA SINICA 年,卷(期): “”(5) 分类号:V249.122 TN16 TP273 关键词:直升机   结构振动   自适应控制   自适应滤波  

智能车模型控制系统 篇3

DOI:10.13340/j.jsmu.2016.04.015

文章编号:1672-9498(2016)04008205

摘要:在对多智能体的编队控制上,当输入和系统状态受到约束时,模型预测控制算法比传统的输入输出反馈线性化控制算法具有显著的优势,但传统的模型预测控制算法需要在线优化控制,从而导致巨大的在线负担.为减小这种在线负担,提出一种双模式模型预测控制算法.该算法使用模型预测控制器对控制变量进行在线优化,使得未来某时刻的系统状态进入终端约束集内;此时将系统状态作为输入输出反馈线性化控制器的输入,将系统状态驱动到稳定值;在目标函数中加入避碰函数来有效避免邻近多智能体间的碰撞.仿真结果表明,当输入和状态受到约束时,双模式模型预测控制算法在对多智能体编队控制上比仅使用输入输出反馈线性化控制算法具有明显的优势.

关键词:

多智能体; 编队控制; 双模式; 模型预测控制; 反馈; 避碰

中图分类号: TP242 文献标志码: A

3结束语

当设定领航智能体的初速度vi<0时,基于输入输出反馈线性化控制器的多智能体跟随控制的偏差较大,很难实现一些编队控制.使用模型预测控制可改善多智能体跟随控制的精度,有效实现编队控制.双模式模型预测控制算法在结合输入输出反馈线性化控制器后,能有效降低模型预测控制在线优化的计算量,有利于实现大型多智能体编队系统的实时控制.

参考文献:

[1]HERNANSANZ A, CASALS A, AMAT J. A multirobot cooperation strategy for dexterous task oriented teleoperation[J]. Robotics and Autonomous Systems, 2015, 68: 156172. DOI: 10.1016/j.robot.2014.12.007.

[2]谭民, 王硕. 机器人技术研究进展[J]. 自动化学报, 2013, 39(7): 963972. DOI: 10.3724/SP.J.1004.2013.00963.

[3]ANDRES A P, RICHARD H M, OLIVER M. Cyclic interconnection for formation control of 1D vehicle strings[J]. European Journal of Control, 2016, 27(1): 3644. DOI: 10.1016/j.ejcon.2015.12.002.

[4]ANAND A, NITHYA M, SUDARSHAN T. Coordination of mobile robots with masterslave architecture for a service application[C]// Cycle Pure Agarbathies. Proceedings of 2014 International Conference on Contemporary Computing and Informatics. Mysuru, India: IEEE, 2015: 539543. DOI: 10.1109/IC3I.2014.7019647.

[5]XU J. Fault tolerant finitetime leaderfollower formation control for autonomous surface vessels with LOS range and angle constraints[J]. Automatica, 2016, 68(1): 228236. DOI: 10.1016/j.automatica.2016.01.064.

[6]DESAI J, OSTROWSKI J P, KUMAR V. Controlling formations of multiple mobile robots[C]// Robotics and Automation. Leuven: IEEE, 1998: 28642869.

[7]QIN J, ZHENG W, GAO H. Coordination of multiple agents with doubleintegrator dynamics under generalized interaction topologies[J]. IEEE Transactions on Systems Man and Cybernetics Part B Cybernetics, 2012, 42(1): 4457. DOI: 10.1109/TSMCB.2011.2164523.

[8]LU X, LU R, CHEN S, et al. Finitetime distributed tracking control for multiagent systems with a virtual

leader[J]. IEEE Transactions on Circuits and Systems, 2013, 60(2): 352362. DOI:10.1109/TCSI.2012.2215786.

基于智能车的最优寻径模型设计 篇4

目前摄像头智能车常见的寻径方式有两种,第一种为单纯的寻中线前进[1][3][4],第二种方式对路况进行分类分别处理,直道时寻中线前进,进入弯道后一直贴内道行驶,采用“内内内”的过弯方式[2][5]。

前者的寻径方式一方面未有效利用全图信息,造成了信息浪费,另一方面,在进弯时,智能车沿中线过弯所走的并不是过弯最短路径,而且进出弯速度差较大,不利于加减速的控制。

后者采用分类处理的寻径方式。一方面,这样的处理方式给出的控制量并不是连续变化的,在两种路况的分界点附近控制量会剧烈的波动,使得系统不稳定。另一方面,这种方式在进弯后采用进弯、弯内、出弯都贴内道行驶的方式。虽然这样的过弯路径是最短的,但赛车首重的是时间,而不是距离。这样在数学是最短长度,但在实际上,行走“内内内”的路线会使得智能车进出弯的速度落差极大,为了要在这么小的回转半径通过弯道,车速势必要下降很多,对于进、出弯的加减速极为不利。

研究发现,赛车过弯时,采取“外内外”的过弯方式是最节省时间的[6]。本文介绍的路径规划模型将有效采集全图多处信息,对路况进行预判,使得小车做出提前反应。同时在弯道选取“外内外”的过弯最优路径,并且用一个模型概括路况将使得控制量连续变化,利于系统的稳定。

2 提出问题

要实现智能车的最优路径规划,应该满足一下三点。

一:要求保证得出的路径在赛道内。二:要求得出的路径使得小车通过该段赛道的时间较短。三:要求得出的路径不仅能表现当前路况,还能体现出远处路况对当前的影响。

3 分析问题

要满足以上几点要求,采集的信息应该包括:

1.小车当前在赛道的位置。

2.赛道远近各处的曲率。

首先对智能车采集的图像建立坐标系,如图1所示。

如图所示,虽然不同智能车摄像头位置不同,但基本都能看1.5米至2米远,所以一幅图即可表示出赛道的远近。

因此对一幅60*140的图像,我们提取其第5*i行的赛道的曲率θ5i(i=1、2、3……10),用其表示赛道从近到远的路况,θ5i为正表示左弯,为负表示右弯。

同时,因为摄像头安装在智能车的正中间,我们用摄像头在平面上的投影,即图片的第20行70列的点在图像中的位置表示小车在赛道上位置,用第20行的赛道中点与小车位置的横坐标差值e表示小车车头与赛道的偏离程度。如图2所示。

由此可知该数学模型的输入量为第5*i行的赛道的曲率θ5i和赛道中点与小车位置的横坐标差值e。

而当路径规划完成后,智能车是通过对舵机的控制实现寻径,所以可知模型的输出一个是对舵机的控制量。

若将赛道粗略的分成直道和弯道两种,将智能车在赛道上的位置分成赛道中间、外道、内道三种情况,分析实际赛道情况并考虑各种情况下智能车应该处在的位置,我们能得到表1。

从表1中可以看出,远处、近处赛道路况共同影响着智能车的位置,因此最后的输出应该是图像各个处理行的曲率θ5i乘以其对应权重k5i以后的加和。同时,智能车是先通过近处赛道再到远处,远处赛道路况只是参考,所以近处赛道曲率的权重应该大于远处权重。

另外,为了实现过弯“外内外”的要求,通过对上表的分析可以看出,在进弯前,智能车处在第二种情况,应该在外道,也就是说在进弯之前智能车应该向赛道弯曲的反方向移动,所以,远处赛道的权重k应该小于零。这样远处赛道就会对模型输出也就是舵机造成一个反向于赛道弯曲方向的作用,用以实现智能车的外切。而在进弯后,远处将没有该段赛道的图像,所以其不会使得智能车继续外切,相反的近处赛道的曲率乘以权重会使得智能车内切。出弯时远处出现图像,由于远处权重为负,又将抵消一部分近处赛道曲率对智能车的影响,所以智能车在之前切内道的趋势下会在出弯时切外道。

而在规划路径的同时,为了使路径不超出赛道范围,还应该用小车车头与赛道的偏离长度e来影响智能车接下来的前进路线。当车头稍微偏离赛道中心时,这属于智能车内切或者外切的范围,e对智能车的影响应该较小,e再度增加时,为了防止智能车脱离赛道,e对智能车向赛道中心的牵引作用的增长应该快速增加,即e随着车头与赛道偏离程度的增加,应该先缓慢增大,随后逐渐增加速率变快,最后急剧增加。可见其特性类似于二次函数。

4 建立模型

通过以上分析,我们将模型分为两个部分:曲率部分和偏差部分。

1.曲率部分:

θ5i:图像第5i行的赛道的曲率

k5i:图像第5i行的赛道的曲率的权重

m:有效处理行的个数

其中,当i>=6时,k5i<0,i<6时,k5i>0。m表示图像内有赛道信息的处理行的个数。θ5i为正表示左弯,为负表示右弯。

2.偏差部分:

通过上述分析,可以发现e与其对智能车的影响△符合二次函数关系:

△=Ae2+Be+C

用其表现智能车车头与赛道的偏离长度e对智能车向赛道中心的牵引作用的强弱。

最后将两部分结合可建立模型:

即:

Y:模型输出

θ5i:图像第5i行的赛道的曲率

k5i:图像第5i行的赛道的曲率的权重

m:有效处理行的个数

e:车头和赛道中心的偏差长度

k1:曲率系数

k2:偏差系数

A:二次函数二次项系数

B:二次函数一次项系数

C:二次函数常数项

该模型通过将全图信息综合,体现了远近不同位置的路况对智能车前进方向的影响,通过k5i保证了远处路况对当前运动方向只是参考,而非占据主导作用。通过除以有效处理行的个数m保证了各种路况下θ的稳定。同时,模型通过使i>=6时,k5i<0,使智能车实现了“外内外”的过弯方式,又通过k1θ与k2△的加和使得智能车在走最快路径的同时不偏离出赛道。

最后,为了确定各个系数,我们选取了15组特征路况,测出其θ5i和e,并结合实际给出智能车应有的舵机控制量Y,带入模型通过MATLAB计算,结合智能车实测进行微调,得到各个系数如下。

经过实际测试,可以发现该模型能够较好的对实际路况进行预判并能得出相对较优的路径。

5 结束语

本研究经过对智能车寻径要求的分析,在满足基本需求的基础上,提出并实现了新的要求,通过构造数学模型初步解决了智能车对路径的预判问题以及实现了智能车“外内外”的过弯要求。另外,该模型的系数是通过选取实际路况进行逆推并结合智能车实测进行了一定的调整从而确定的,具有一定的不准确性,在系数确定方法上还有待改进。而若要直接使用本文确定的系数,因为不同智能车在安装上的区别还应对各个系数进行微调。

参考文献

[1]张淑谦,王国权.智能车黑线识别算法及控制策略研究[J].电子技术,2009,(5):89-92.

[2]严林,甘男,练丁樽.第四届智能车竞赛技术报告(节选)[J].电子产品世界,2010,17(8):57-58.

[3]许寰,鲁五一,赵治平.摄像头路径识别和小车控制策略[J].计算机工程与科学,2009,31(5):110-111,115.

[4]艾宁,瞿少成,刘冬等.基于CCD摄像头的智能车路径识别及跟踪研究[J].电子测量技术,2009,32(8):77-80.

[5]曾星星.基于摄像头的路径识别智能车控制系统设计[J].湖北汽车工业学院学报,2008,22(2):72-76.

智能车模型控制系统 篇5

关键词 交易系统 ZI-C;交易价格;实验;概率;模型

中图分类号 F224.7 文献标识码 A

Model of the ZI-C Experiment for Double Auction System

LI Liang, DU Xin

(School of Economics and Management,University of Electronic Science and Technology of China,Chengdu,Sichuan 610054,China)

Abstract Simulation experiment is an important way for trading system research,and the system filled with zero intelligence with budget constraint(ZI-C) agents is commonly used as a benchmark for double auction experiments. This paper analyzed the classic ZI-C experiments, revealed the relationship between the price clearing process and the experimental settings, and quantified the trading process for each trader.A math model was proposed and theiteration algorithm was used to predict the probabilities of the transaction prices in trading process. The results show that the prediction is consistent with the outputs of the well known experiments,demonstrating that it is the mechanism of the ZI-C experiment that determines the price convergent process, not the market discipline itself. It also suggests that, in the ZI-C system, the auction market itself has no predictive power.

Key words double auction system ZI-C;trading price;experiment;probability;model

1 引 言在交易过程中,供需双方如何能够达到均衡,即市场的出清是交易系统中最本质的问题之一,也是学界长期关注的问题[1-2].一般来说价格在一开始会处于不稳定的状态(很高很低),但经过一段时间会逐渐达到一个中间状态,并稳定下来.价格的这种过程,近似于马歇尔路径:即最高价和最低价最先匹配,然后是次最高价和次最低价,沿此路径最后到达一个中间的均衡价格.Nobel奖得主Smith最早提出了用仿真实验研究来揭示交易市场规律的思路[3],其方法在以后几十年中被大量的实验所验证.在20世纪90年代Gode等人提出来了“零智能”ZI-C(zero intelligence with budge constraint)模型[4],此模型已成为当今进行双向拍卖( Double Auction)研究的基准模型.按其结论,交易双方(的Agent)不需任何信息、不需任何经验、不需任何能力,只靠市场这只“无形”的手就可以达到交易的有效性,靠此模型可定性地描述了市场的能力.在模型中,买家的出价不得高于一个预先的估价,卖家的要价不得低于一个起码的成本.在此基础上,大量的学者力图通过其他一些“智能”和“非智能”的方法来研究交易的性能[5-7],其中仿真是一种重要手段[8-10].Zhan在其文献[11]中提出了K-ZI的概念.这里K的取值范围为0—1之间.当K=0时为纯ZI-C方式,当K=1时为不存在要价空间的完全真实报价方式.大多相关文献中均提到了市场出清时的均衡价格的形成现象(price convergence),并把此现象归咎为市场的自然规律(market discipline),即认为这与交易人的智力无关.均衡价格的形成过程被认为是以马歇尔路径为基础的.List[12]通过实证的方法说明了这种均衡的普遍存在性.但在其他的一些文献中,有学者如Brewer等则认为交易中人的智力起了决定性作用,因此他专门设计了一种交易机制[13],并通过实验来证明马歇尔路径在此交易机制下的无效性.实际上无论是市场还是人对交易都可能有些作用,人的作用依赖于人的智商,但在ZI-C交易模型中的市场本身并不具有任何价格调节作用.

在“零智能”情况下,市场的作用究竟有多大或者说其性能如何,目前主要是通过仿真实验来描述出来的.由于ZI-C模型系统中,人为智商因素被完全排除,故它可能是研究市场本身能量的最佳系统.实验设计(包括环境和参数如何选取)是决定实验结果的重要因素.在多数的ZI-C实验中,人们使用的是无补充模式:仿真中交易Agent的数量是有限的,当一个买家Agent和一个卖家Agent一旦匹配成功,它们将立刻退出交易.因此在实验中的交易Agent的数目将越来越少,而这并不一定符合真实交易市场的情况.为此Brewer对上述实验进行了改造(补充模式):成交后的Agent并不立刻退出市场,而是更新状态后继续等待以后的匹配交易,这样实验中的Agent数量会始终保持不变.Brewer的实验结果表明ZI-C中市场并不一定具有(许多学者认为的)调节的能量,而Agent本身的行为是决定成交的主因素.从其他许多文献(如[10])中也可以看出,ZI-C交易模型中市场本身的作用一直存在争议.

不同于已有的、大量的交易系统的仿真实验,本文的工作不是做实验而是对实验本身进行分析.将对ZI-C的实验建立一个数学模型.通过理论证明和迭代计算,本文模型可以预测出实验机制下价格形成的轨迹,量化价格出清的过程.即不需做实验就可以计算出实验将会产生的结果.实际上模型计算的结果也可以反过来说明实验设计的合理性和有效性.

2 实验模型的设计

考虑一种完全ZI-C(即0-ZI)实验的模型(无补充模式).此类实验由于它的基准性,已被大量用于研究双向交易问题.在此机制下有2组成员:买方、卖方,且买卖时不分优先经 济 数 学第 28卷第1期黎 亮等:带约束的零智能交易系统的实验模型的研究

级;同普通的双向交易模型一样,任何时候只要任何买方的出价不低于任何卖方的报价,则可以立刻成交.本文模型对标准的CDA交易略加简化,假设所有买卖匹配都由市场方进行串行(按时间或其他方式随机排序)匹配,匹配上的(即买价不小于卖价)双方退场,没有匹配上的则有机会继续参加下一轮匹配.此模型可以很好地模拟一些简单的电子交易系统.其目的是想从模型的输出记录中分析价格出清的过程.模型具体表述为:

假设有N个卖家(S1-SN),成本从小到大分别为(C1-CN).假设有N个买家(B1-BN),能够承受的价格从小到大分别为(V1-VN).卖家i的要价在[Ci-SMAX]之间作均匀分布,买家j的出价在[BMIN-Vj]之间作均匀分布.为了便于仿真计算,假定一种可能完全成交的情况(同于文献[3]中描述的情况):

BMIN≤C1≤ V1≤C2≤V2 ≤…… ≤CN≤

VN≤SMAX.

在执行交易时简单起见,每次从所有尚未成交的卖家中任意选出一个和从所有尚未成交的买家中任意选出一个进行匹配,若成功则此二家退出,若不成功则它们再参加下一次可能的匹配,此过程反复进行.

设PSt(i)为在t时刻(第t轮)中第i个卖家仍未成交(仍在市场中进行交易)的概率.设PBt(i)为在t时刻(第t轮)中第i个买家仍未成交的概率.在刚开始时,都无成交,故有PS0(i)=1,PB0(i)=1.设MR(i,j)为卖方确定为i和买方确定为j时,双方成交的可能性,则MR(i,j)的求法有二种:从卖方出发和从买方出发.若从卖方出发,则MR(i,j)为

1SMAX-Ci+1×∑Vjw=CiVj-w+1Vj-BMIN+1. (1)

若从买方出发,则MR(i,j)为

1Vj-BMIN+1×∑Vjw=Ciw-Ci+1SMAX-Ci+1.(2)

把式(1)和式(2)展开后,可知它们完全一样,都可表示MR(i,j)为

(Vj-Ci+1)×(Vj-Ci+2)2×(SMAX-Ci+1)×(Vj-BMIN+1).(3)

在t+1轮的交易中,第x个卖家仍然没有成交的概率应为

PSt+1(x)=PSt(x)-

PSt(x)×∑Nj=x[PBt(j)×MR(x,j)]∑Nk=1PSt(k)×∑Nk=1PBt(k) ,(4)

其中,PSt(x)∑Nk=1PSt(k)为这一轮中卖家x被从全体卖家选出的概率;而∑Nj=x[PBt(j)×MR(x,j)]∑Nk=1PBt(k)为卖家x同各买家能够匹配中的概率.同理第y个买家仍然没有成交的概率应为

PBt+1(y)=PBt(y)-

PBt(y)×∑yi=1[PSt(i)×MR(i,y)]∑Nk=1PSt(k)×∑Nk=1PBt(k).(5)

对于无补充模式1ZI系统来说,有MR(i,j) = 1(即1ZI是0ZI的特例).

对于Brewer所提的补充模式,其模型非常简单.买家和卖家的PSt(i) 和 PBt(i)都是恒定的.

卖家x成交的机率始终为 ∑Nj=xMR(x,j)N . 买家y成交的机率始终为 ∑yi=1MR(i,y)N.

3 实验模型的机制分析

从式(4)和式(5)可知 PSt+1(x)<PSt(x)和PSt+1(y)<PSt(y).即随着交易的进行,对每个买家和卖家来说,其仍未成交的机率会越来越小.再者,由于SMAX≥ Vj≥Ci≥ BMIN (当i≤ j时),可以从式(4)推断出

PSt+1(x)PSt(x)PSt+1(x+1)PSt(x+1)<1

和 PSt(x)t→

0. (6)

式( 6)说明了当x越小(即卖价越低),其仍未成交的概率会衰减的越快;当t较大时,PSt(x)会迅速趋于零.同理,也可以从式(5)推断出

PBt+1(y)PBt(y)PBt+1(y+1)PBt(y+1)>1和 PBt(y)t→

0. (7)

式(7)说明了当y越大(即买价越高),其仍未成交的概率会衰减的越快;当t较大时,PBt(y)会迅速趋于零.

若考虑式(4) 和式(5)的右上角,可发现

∑Nx=1[PSt(x)×∑Nj=x(PBt(j)×MR(x,j))]

=∑Ny=1[PBt(y)×∑yi=1(PSt(i×MR(i,y)].

故可以接着导出

∑Nx=1(PSt+1(x)-PBt+1(x))

=∑Nx=1(PSt(x)-PBt(x)).

由于 ∑Nx=1PS0(x)=∑Ny=1PB0(y)

∑Nx=1PSt(x)=∑Ny=1PBt(y).(8)

式(8)说明在任意时刻全体买家和全体卖家的未成交率都是相等的,这显然合乎逻辑,并反过来映证出了上面其他公式的正确性.随着t的增大,式(8)二端将越变越小.既在刚开始时,买卖成交总的可能性大;越往后面,双方成交的机会将越小.

据上可知,在t+1时刻(t+1)轮,卖家x的发生交易的可能性match_s(x)为

PSt(x)∑Nk=1PSt(k)×∑Nj=x[PBt(j)×MR(x,j)]∑Nk=1PBt(k). (9)

而在t+1时刻(t+1轮),买家y的发生交易的可能性match_b(y)为

PBt(y)∑Nk=1PBt(k)×∑yi=1[PSt(i)×MR(i,y)]∑Nk=1PSt(k). (10)

假若在t+1时刻 (t+1轮)可能成交,在所有卖家中相比,卖家x成交几率的相对可能性为

match_sr(x)=match_s(x)∑Ni=1match_s(i).(11)

式(11)中,∑Nx=1match_s(x)为在t+1时刻(t+1轮)的总成交概率.

同样假若在t+1时刻(t+1轮)可能成交,在所有买家中相比,买家y成交几率的相对可能性为

match_br(x)=match_b(x)∑Ni=1match_b(i).(12)

式(12)中,∑Nx=1match_b(x)为在t+1时刻(t+1轮)的总成交概率.

从式(4)、式(5)和式(8)不难推出 ∑Nx=1match_s(x)= ∑Nx=1match_b(x).因此,式(11)和式(12)的实质是一样的,下面只讨论式(11)中卖家的情况.

4 实验模型计算结果的分析

图1中有11个卖家和11个买家.(注:在文献[3]实验中,也使用了11来作为买卖双方的数量.)在图中的纵轴表示当成交时,恰好是某卖家x的概率.当x=1时,该卖家要价最低;当x=11时,该卖家要价最高;当x=6时,该卖家要价为均衡值.图中的横轴表示第几轮匹配(即第t轮的迭代计算).从图1中可以看出,刚开始时,若有成交,则要价最低的卖家(x=1),成交可能性最大(即match_sr(1) 最大);而要价最高的卖家(x=11),成交可能性最小(即match_sr(11) 最小);其他的卖家成交的可能性按序介于其间.随着交易的进行,即随着t的增大,绝大多数卖家成交的可能性都逐渐趋于0,其中要价最低的卖家渐趋于0的速度最快.这时唯一的成交可能性大的卖家只有一个(x=6),其要价是所有要价的均衡值(competitive equilibrium).这说明随着t的增大,市场上可能的成交价将最可能是(当t=55 000时,概率约为94%)要价的均衡值.另外也可以看出其成交过程中的价格的概率走势基本符合马歇尔路径,同文献[3]的实验结果基本吻合,也符合Gode等人实验的结论.

图111个买家 和11个卖家的0ZI交易

(无补充模式)

图2是1ZI模型(即完全真实报价、要价)的价格走势,同样分别是11个买家和卖家,可看到其价格的形成情况同图1基本一样,但其收敛于平衡点的速度要快得多.(当t=200时,x=6的概率约为94%)这说明当买卖双方都用真实的价格进行交易活动,则市场的效率要高得多.

图 2 11个买家 和11个买家的1ZI交易

(无补充模式)

图3的方法同第一个完全一样,但分别使用了20个卖家和买家,用C#程序模拟的迭代次数达2 400万次.同上面一样可知,当x=1时,该卖家要价最低;当x=20时,该卖家要价最高;当x=10时和x=11,该卖家要价为均衡值.(注:由于卖家数为偶数,故有二个均衡值)从图3中可以看出,随着交易的进行,即随着t的增大,绝大多数卖家成交的可能性都逐渐趋于0.其中要价最低的卖家渐趋于0的速度最快.在t为80万时成交可能性有显著性的卖家只有二个(x=10和x=11),其要价是所有要价的均衡值.再随着t的增大,由于x=10的卖出的可能性更大,在市场上留下的将是唯一的一个均衡值x=11.(x=10同x=11相比,呈现出先高后低的现象)

图320个买家 和20个卖家的0ZI交易 (无补充模式)

图4同图1一样有11个卖家和11个买家,但不同的是采用了Brewer所提出的补充模式.图4中仅列举了前4位,可以看出所有交易者的成交的几率都是恒定的.

图4 11个买家 和11个卖家的0-ZI交易 (补充模式)

5 结束语

本文针对ZI-C交易系统实验提出了一种概率计算模型,然后通过其中机制的分析和迭代计算,得出了ZI-C机制下各时刻产生各种价格的概率.此方法与以往交易系统的仿真实验思路不同,另外它还可以推广到更广义的交易系统模式的分析中.从前三个模型计算的结果来看,系统最后的成交价格将趋于均衡值,并且其形成路径总的说来是大致遵从马歇尔路径的;即本模型的预测同许多著名的ZI-C实验的结果完全吻合,这说明了本文模型的合理性.从计算仿真结果中量化了ZI-C类型交易中的价格形成过程.最后一个图展示了Brewer一派的观点,即ZI-C交易系统本身对价格的形成过程和发展并不产生作用.

从本文计算模型的结果可以看出,首先ZI-C交易系统实验可以用数学模型来表达,即数学模型可以预测实验的结果,因此反过来交易系统实验的有效性、合理性可以通过实验模型的分析来确认.其次,交易系统仿真实验的机制可以决定实验的结果.从本文分析来看,由于多数的ZI-C实验都使用了无补充模式,造成人们把实验机制产生的马歇尔路径现象归结为交易市场的作用,所以本文的结论更倾向于Brewer一派的学说,即纯的零智能交易系统本身并不具有决定市场交易的能量.本文的实验模型对交易系统的机制设计具有一定的参考意义.

参考文献

[1] A Rubinstein.Competitive equilibrium in a market with Decentralized Trade and Strategic Behavior: an Introduction". In: G. Feiwel (ed.) The Economics of Imperfect Competition and Employment[M]. New York University Press, New York,1989.

[2] A Bosch-Domenech,SSunder.Tracking the invisible hand:convergence of double auctions to competitive equilibrium[J].Computational Economics, Springer, 2000, 16(3):257-284.

[3] V L Smith.An experimental study of competitive market behavior[J]. The Journal of Political Economy, 1962, 70(2): 111-137.

[4] D K Gode,S Sunder.Allocative efficiency of markets with zero-intelligence traders: market as a partial substitute for individual rationality[J]. The Journal of Political Economy, 1993, 101(1): 119-137.

[5] L Y Chu,Z MShen.Agent competition double-auction mechanism[J]. Management Science, 2006, 52(8): 1215-1222 .

[6] M G Daniel,J D Farmer,GIori,et al.How storing supply and demand affects price diffusion[R]. 2001, http://xxx.lanl.gov/cond-mat/0112422.

[7] P Huang,A Scheller-Wolf,K Sycara.Design of a multi-unit double auction e-market[J]. Computational Intelligence, 2002, 18(4):596-617.

[8] S Park,E HDurfee,W PBirmingham.An adaptive agent bidding strategy based on stochastic modeling[C]//Proceedings of the Third International Conference on Autonomous Agents, 1999:147-153.

[9] M P Wellman,JHu.Conjectural equilibrium in multiagent learning[J].Machine Learning, 1998, 33(2/3):179-200.

[10]M L Calzi,MMilone,PPellizzari.Allocative efficiency and trader’s protection under zero intelligence behavior[R].Venice: Department of Applied Mathematics, University of Venice,2009.

[11]W J Zhan,J LZhang,JYang. k-ZI: a general zero-intelligence model for continuous double auction markets[J].International Journal of Information Technology and Decision Making, 2002, 1(4):673-691.

[12]J A List,D LMillimet.The market: catalyst for rationality and filter of irrationality[J].The B.E. Journal of Economic Analysis & Policy,8, Article 47. 2008 DOI: 10.2202/1935-1682.2115.

[13]P J Brewer,MHuang,BNelson. PLOTT CR.On the behavioral foundations of the law of supply and demand: human convergence and robot randomness[J].Experi Kental Economics, Springer, 2002, 5(3): 179-208.

智能会车控制系统的设计 篇6

关键词:ARM Cortex微控制器,传感器,智能会车控制

高新技术发展迅速的当下, 人们的生活和生产方式都随之发生变化, 汽车拥有量也增多, 会车时由于各种原因导致交通事故呈上升趋势。而电子技术及相关技术的发展使汽车产品的概念发生了很大变化, 也是电子信息产业界应用于汽车电子领域的重要原因之一。各种电子元器件、传感器、微处理器等技术的成熟为本设计方案的设计奠定了良好的基础。

本设计中要求两辆汽车可以按照指定的路线行驶到对方车辆的发车点, 行驶过程中, 车辆必须可以自动会车、自动后退并躲避对方车辆, 具体行车路线如图1所示。该设计经调试可靠性较高, 对生产和商业具有一定的参考价值。

1 系统总体方案设计

本系统由以ARM Cortex微控制器为控制核心的主控制电路模块、红外及光电检测模块、电机驱动模块、电源模块等构成。其中, 采用码盘测量电机步长并用电机驱动模块驱动直流电机。两车辆之间采用无线通信, 靠红外对管传感器和漫反射红外传感器分别检测车道信息及其间距。整个系统其系统结构图如图2所示。

2 硬件系统的设计

2.1 主要硬件设备的选择

控制芯片选择:该系统中车辆必须实现自动会车、自动后退及躲避车辆的功能, 鉴于ARM Cortex微控制器与传统51单片机相比, 运算能力及中断响应能力都较强, 处理速度较快, 性价比高, 且配有多路PWM波等外设辅助模块, 所以本设计中选择ARM Cortex微控制器1138作为控制核心。

电机的选择:根据系统设计的要求可知, 无需高精度对车辆进行测控, 并且设计小车体积较小, 而直流电机体积小, 重量轻, 易于控制。但步进电机虽然控制精度高, 但不易控制, 体积又大, 不易用于本设计中, 故在此选择直流电机。

传感器的选择:本设计中车辆需要采集复杂环境中的信号实现设计要求。而红外光电对管传感器与传统的光敏传感器比较, 其结构由红外发射器和红外接收器组成, 其灵敏度较高, 体积小, 工作性能稳定。关于测量车距的传感器, 设计要求其工作可靠, 受外界干扰小, 综合考量选择红外测距来改进传统的超声波测距。故本设计中选择红外传感器作为车道信息和车距信息的采集探测器。

2.2 基本原理分析

电机转动控制:电机转动控制由光电码盘完成, 在结构上, 光电码盘与电动机同轴。当电动机转动时, 码盘与轮胎以相同的角速度旋转, 经发光二极管等电子元件组成的检测装置检测并将轴上的机械位移转换为脉冲。通过对脉冲信号的采集实现对电机的控制。

车距检测原理:车距检测选择红外传感器采集信号。在结构上, 由发射管和接收管构成。由发射管发出的红外光束遇到障碍物反射到接收管上, 构成等腰三角形。该等腰三角形的底角是由发射管确定的, 而其底长是由位置敏感装置接收管测得的。根据三角形的相关理论则可推算出该三角形的高即设计中所需距离, 测量原理如图3所示。

路径测量原理:路径测量的原理是根据车辆偏离跑到的距离控制电机转速的大小及车轮偏转方向而进行控制的。当车辆行驶方向向右偏离, 则控制电机控制左侧车轮左转弯;反之, 则控制电机驱动右侧车轮右转弯;当车辆与车道无偏离时, 车辆按一定的速度继续前进。

2.3 硬件电路的设计

电机驱动电路的设计:电机驱动电路采用启动性能好, 转矩大可调速, 且可实现PWM波平滑调速的驱动电路, 由4通道逻辑驱动电路和双桥式驱动器组成。如图4所示。

红外传感器检测电路的设计:红外传感器检测电路如图5所示。信号源于红外发射管而终于接收管。如果红外传感器发射的红外光束照射到黑色跑道时, 接收到0电平信号, 否则, 接收到1电平信号。

语音模块电路原理图的设计:该模块采用WT588 D-U语音芯片为控制核心。其接口简单, 抗干扰性能较好, 操作简单。并在硬件上内置数模转换器、PWM音频处理器等, 其电路原理图如图6所示。

3 软件系统的设计

本设计中软件部分采用嵌入式系统开发工具IAR Embedded Workench, 根据设计要求编写相应的程序模块, 程序流程图如图7所示。

4 系统调试与结果分析

系统调试环节根据设计要求制作车道, 在常温室内进行调试。控制车辆按照设计要求按照规定的线路行驶并记录时间。调试方法包括:

分别发车测试:单独指定某车辆从发车点到对方停车区的测试。

同时发车测试:两车辆同时发车, 正常行驶到对方车辆发车点为止。行车途中, 检测两车是否有碰撞或剐蹭等违规现象。

甲车 (乙车) 避让测试:两车同时发车, 甲车先进入会车区避让, 乙车经过后再继续前进。

任一车辆先行测试:随意指定某车先行, 另外一辆车后行。当两车相遇时, 距离会车区域较近的车辆倒车入会车区避让, 当方车辆驶离后, 继续前行。

以上调试方法的计时范围都是从车辆出发起, 到车辆正常行驶至对方车辆出发点停止。

其测试结果如表1所示, 其中车辆行驶耗时为多次测量后的平均值。

根据以上调试结果分析, 本设计中所采用的各类传感器可准确及时采集相应的信息并经控制芯片处理控制电机工作, 保证系统正常可靠运行, 实现设计要求, 基本可以无违规完成设计任务。但由于调试环境及车辆之间的差异性导致测量结果仍存在误差, 在以后的研究中, 需要再消除干扰方面做相应的努力。

参考文献

[1]童诗白.模拟电子技术基础[M].北京:高等教育出版社, 2006.

[2]朱正涌.半导体集成电路[M].北京:清华大学出版社, 2001.

[3]邱关源.电路[M].北京:高等教育出版社, 2014.

[4]张强.车辆会车自动控制系统的设计[J].设计与分析, 2012.

[5]周忠.数字电子技术基础[M].北京:人民邮电出版社, 2012.

基于单片机的智能车控制系统 篇7

当今, 汽车数量飞速攀升, 这对环境造成了极大的污染, 低成本、无污染的汽车成为随着科学技术的发展, 使得一些在以往不可能实现的变为可能。特别是作为现代化新产物的典型代表, 智能化必将成为各行业的发展潮流。

所谓智能化就是利用科学技术实现物体的自动化, 智能化, 使之拥有一定的智能, 能够自动处理某个特定的操作。智能小车具备的自动避障、自动寻光、显时显速以及自动计算路程等功能是智能化的基本应用的表现, 本文将基于单片机MCS-5系列中的80C51单片机和脉冲宽度调制 (PWM) 技术开发的智能小车来实现智能化的调速功能。

二、系统设计

研究设计智能小车需要设备包括传感器一般采用红外对管, 金属开关, 超声波测距, 加速度传感器, 指南针传感器, 舵机, 直流电机, L298N控制器等。同时采用电子人单片机开发板作为主控电路, 其他的传感器加载到其上。

为了方便实验, 本文中我们的智能小车将采用车载电池作为电源, 通过80C51单片机控制系统的红外光电传感器的检测、超声波的检测和核心部件的运行来实现智能小车的自动避障、循迹、调速等功能。并采用PWM技术控制智能小车的行驶速度, 从而提高整个系统的静态性能。

三、PWM调速控制器设计

脉冲宽度调制 (PWM) , 是英文“Pulse Width Modulation”的缩写, 简称脉宽调制。是一种模拟控制方式, 其根据相应载荷的变化来调制晶体管栅极或基极的偏置, 来实现开关稳压电源输出晶体管或晶体管导通时间的改变, 这种方式能使电源的输出电压在工作条件变化时保持恒定, 是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术[1]。简单来说, 它就是按照一定的频率来连接和断开电源, 并在应用中根据实际情况来改变“连接”和“断开”电源的时间。电机的转速是通过改变电机上的平均电压来实现的, 而平均电压值需要改变电压的占空比来。如图2所示, 在接电时, 电机加速, 在断电时, 电机减速。如此, 根据PWM技术原理按照一定的周期通电和断电, 就能控制电机的速度。

假设在电机持续接通电源, 转速达到最大时, 其两端的电压设为Vmax。我们知道, 占空比D=t/T, 平均速度V=Vmax*D, 所以电机的平均转速V=Vmax* (t/T) 2。

从公式V=Vmax* (t/T) 2可知, 在不改变T的情况下, 通过改变t电机就能得到相应的电压, 以此来改变电机的转速。在实际的应用中, 我们可近似地把占空比和电压看为线性关系。

本文通过对单片机编程生成PWM信号, 单片机根据PWM信号改变电机的电压, 从而控制电机的速度。在这里, 我们使用定频调宽的方式改变电机接通电源和断开电源的时间比得出平均值, 通过改变平均电压值来控制小车的速度。

四、PWM调速的优势

与其他可控调速控制技术相比, PWM具备以下几点优势:

1) 调节范围宽。PWM开关的频率较高, 只需要依靠滤波电路中的电感作用就能得到脉动较小的直流, 而且电流容易持久连续, 系统在低速时也能够平稳运行, 调速的范围比较大。与其他系统相比, PWM调速系统电机的发热和损耗都比较小。

2) 动态响应好, 抗干扰能力强。由于PWM开关的频率较高, 同时配备响应快速的电机, 就可获取比较宽的频带。

3) 效率高。由于PWM元件处于开关状态, 所以损耗较小, 使用的效率较高。

4) 智能化。PWM是用脉冲频率进行调节, 是线性的, 是智能的。

5) 噪声少。PWM从处理器到被控系统信号都是数字形式的, 无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时, 也才能对数字信号产生影响。

正是由于PWM调速的显著优势, 使得它受到很多电子厂家的重视, 并把PWM技术更加广泛应用在从测量、通信到功率控制与变换的许多领域中。

五、结束语

PWM技术在许多领域都有广泛的使用, 特别是对直流电机的调速控制, 更是各大控制领域应用中的典型。本文仅以智能小车中的调速控制进行了简单的研究设计, 相对硬件产生PWM信号, 本文智能小车采用单片机的C语言编程实现要方便简单血多, 不过在实际的操作实践需要更进一步的研究。智能化作为现代化的新产物, 智能小车只是其中的一部分表现, 作为一门前沿的课题, 想要实现完全智能化, 还需要我们的不断探索。

参考文献

[1]何立民, 单片机应用系统设计, 北京:航天航空大学出版社, 2~5, 46~50

[2]李广弟, 单片机基础, 北京:北京航空航天大学出版社, 2001, 56~64

[3]何希才, 新型实用电子电路400例, 电子工业出版社, 2000年, 60~65

[4]赵负图, 传感器集成电路手册, 第一版, 化学工业出版社, 2004, 590~591

[5]陈伯时, 电力拖动自动控制系统, 第二版, 北京:机械工业出版社, 2000年6月, 127~130

基于视觉的智能车转向控制策略 篇8

关键词:智能车,实时图像,舵机,引导线,入弯点

汽车信息化、智能化是当今汽车研究的重点,已经成为衡量各国汽车工业发展水平的重要标志[1],智能汽车作为一种全新的汽车概念和汽车产品,将成为汽车生产和汽车市场的主流产品[2]。而“飞思卡尔”杯全国大学生智能车竞赛由高等学校自动化专业教学指导分委员会主办,飞思卡尔半导体公司协办,并由各个分赛区的承办大学组织。比赛以迅猛发展的汽车电子为背景,涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科交叉的科技创意性,旨在培养大学生对知识的把握和创新能力,以及从事科学研究的能力[3]。

根据“飞思卡尔”智能车大赛规则要求:使用统一车模,核心控制单元采用飞思卡尔MC9S12DG128CPU。在此基础上,自主构思控制方案及系统控制电路的设计。系统控制电路设计包括:传感器信号的采集、处理电路设计、驱动电机及转向舵机控制电路设计以及各类接口电路设计。控制方案设计包括:控制系统的组成设计、各类算法的设计及优化等内容。系统设计、调试完成后,在规定的、标有引导线的赛道上完成自寻迹行走,其赛道是在白色底板上铺设黑色引导线,以完成时间最短者为优胜。比赛分为光电组和摄像头组。笔者为摄像头组,采用的是摄像头寻迹方式。

智能小车(以下简称小车)的控制系统主要由三大部分组成:传感器信号采集及处理、车速控制和转向控制。由摄像头采集道路信息,经处理分析后识别路径,根据不同的路径决策出不同的速度和转向角度[4,5]。在保证安全的基础上,一方面需要考虑如何提高极限速度,另一方面需要考虑如何提高平均速度,其平均速度的大小最终将决定比赛成绩。分析历届比赛可以发现,整个赛道中60%~70%的长度为弯道,因此,小车弯道行驶速度很大程度上决定了小车在整个赛道上平均速度的大小。本文将针对小车在行走过程中,就如何利用图像数据,给出合理的转向策略进行深入探讨。

就普通驾驶员而言,驾驶车辆行驶在公路上,直道时保持高速运行状态,而弯道时会根据不同的弯道做出合理的决策。一般为先减速,然后在一个比较低的速度下通过弯道,过弯后加速,最终回到直道速度。而在赛车场上的情景则不同,赛车选手轻易不会选择普通驾驶员的转弯策略,而是利用前轮转向带来的向心力并结合赛车入弯前的固有惯性达到快速转弯的目的。对于一辆有视觉的智能小车是否也可以模拟这种高速运动过程,从而赢得比赛?笔者在综合分析视觉图像的特点、舵机模型以及圆周运动的特点后提出了一种可以高速入弯而不必减速或轻微减速、同时又能保证小车不会冲出赛道的安全过弯策略。

1 道路信息提取

要实现一个完整的基于视觉寻迹的智能小车,首先需利用摄像头获取道路信息,然后对采集到的原始图像进行数据处理,以获取赛道中引导线在图像坐标系中的位置[6,7,8]。

图1为摄像头安装示意图。其中,Z1为摄像头距地面的高度;w为视野场景的宽度,其大小与摄像机安装的俯角和高度都有关系;b为轮间距。对场景中的特征点,只要知道其在场景中的位置,即可计算出该点与小车的相对位置。由上往下延Z轴反方向看,可得到场景平面,如图2所示。其中,场景平面离小车的距离为d,这段距离为盲区,场景平面宽为W,长为H。定义小车的中线为基准线,由摄像头获得的图像即是场景平面。受MC9S12DG128CPU单片机处理能力的限制,选用356×292 CMOS黑白摄像头,将其设置为逐行扫描模式。单行采样106点。根据实验结果,综合考虑各种因素,选取其中64行信息形成一幅64×106的图像平面,用来判断弯道、直道以及弯道位置,从而达到减小计算量的目的。图像如图3所示。

在图3图像平面的基础上,利用参考文献[9~10]中的方法逐行扫描提取引导线位置。对于没有引导线的行将其标记出来并将没有引导线的边界行记为row_sure,这个值记录着64行数据中从第几行开始没有引导线,简称为出界点。得到引导线在图像中的位置,可根据引导线的图像坐标来控制舵机的转角。单行图像数据的图像坐标与其对应的真实场景坐标呈线性变换关系,即每行任意两像素坐标的列差值乘以一个近似固定的比例系数K就可得到真实场景对应行坐标的差值:

式中△Xworld为真实场景坐标中两点的距离,△Ximage为图像平面对应行上两点的像素坐标的列差值。

利用上面的关系,可以间接测量出小车与目标引导线之间的偏角,如图4所示。若设AB为基准线,即车的中线;AK为引导线;过F点向y轴做垂线,与基准线AB的交点为C,定义C点为基准位置。在三角形AFC中,角β为基准线与引导线之间的夹角:

在理想情况下,控制舵机向左偏转β角度即可让小车追随到引导线。但这样计算角度的计算负担很重,简化参考文献[2]中横向偏差的测量方法,在基准位置固定的情况下,可用CF的长度近似表示角度β的大小:

式中,K为一个比例系数。结合图像平面与场景平面之间的关系,定义CF的长度即为偏差,转化到图像平面为:

式中,linem为基准位置对应的列值,line1为同行引导线的列值,err为位置偏差。因此,在实际的软件设计中,不必得到真实场景坐标,可以直接对引导线实际位置与基准位置间图像坐标的差(line1-linem)设计控制算法。如增量PID控制器可设计为:

式中,KP为比例系数,KI为积分系数,KD为微分系数。△u为舵机给定的增量[7,8,9,10,11]。

2 转向模型

获得道路的位置信息,即获得了此刻小车的转向角。参考文献[11]中的舵机转向模型,在理想状态下,此刻控制舵机使前轮偏转相应角度即可实现小车对道路的跟随。舵机的转向相当于给车一个向心力,在转角不变时,小车做圆周运动;如果控制驱动电机的PWM脉宽不变,则小车做匀速圆周运动,驱动电机的PWM脉宽对应的小车速度相当于匀速圆周运动的线速度。如图5所示,设车的侧轮距为b,舵机转角为θ,O为车做圆周运动的圆心,R为外轮所对应半径,则每一个转角对应圆周运动的半径[2]如下:

设控制周期为T,小车当前速度为V,α为一个控制周期T内小车沿圆周行驶的弧度数,则有:

由以上模型可以看出,不同的速度和转角会在一个控制周期T内得到不同的弧度,对上述公式离散化后可以得到:

实际小车在转弯的过程中,舵机转角受多种因素限制(如:小车转向机构造成的转向的延滞、舵机的时间常数等),是一个渐变的过程,而利用公式(8)进行计算的前提是舵机的方向能随控制量的改变而立即改变。为了简化分析,将舵机模型视为仅具有延滞时间TD的延滞环节而忽略其时间常数。如图6所示,由于TD的存在,速度越大,在滞后时间TD内,小车行走的距离越远。

3 转向策略设计

如图7所示,设小车前方距离D处为弯道,小车此刻速度为V,结合图6小车舵机转向理想模型响应曲线,如果让小车在A点入弯,速度必须满足:

在图4中,对于基准位置1和基准位置2,由道路信息提取的结果,为了保证A点入弯,基准位置2比基准位置1更早地发出转向命令,需要更大的速度才可以在A点入弯,在保证两位置的速度可以安全过弯的前提下,基准位置2得到了更高的入弯速度,所以更早地得到弯道的信息可以提高入弯速度。同时小车要想快速地入弯,必须将基准位置提到一个与此刻速度匹配的位置,才可以抵消舵机延时带来的附加行驶路径。但并不是说只要将基准位置选得足够远就可以得到很大的入弯速度,答案是否定的。小车的转向为一个近似的圆周运动,不同的速度显然对应不同的行驶半径,即不同的路径。速度快时,半径大;速度慢时,半径小。过快的速度会使小车冲出赛道。竞赛赛道的弯道主要由360°、180°、90°、S型赛道组成。在图8所示的180°弯道中,中间的粗实线为引导线,最外围的实线为赛道边界,曲线1、2、3、4为小车行驶路线。设所有行驶路线有同样的入弯角度,曲线1、2、3为B点入弯,速度不同;曲线4为E点入弯,速度与曲线3速度一致。

显然,曲线1、2、3中曲线3速度为最快,但路径却最长,同时还有冲出赛道的危险;曲线2虽“抄近道”,但速度稍慢;曲线1由于速度太慢而无法过弯。不难看出,其实曲线2、3、4的过弯时间相差并不是很大。但是由于曲线2中,由直道AB入弯时需要减速,过弯后需加速,这段时间却比曲线3、4来得长。经综合考虑,曲线3、4过弯时间最短。曲线3、4中曲线3很显然有冲出赛道的危险,因此曲线4为过180°弯的最优路径。可以看出,高速时提前入弯可以使小车以一个比较高的速度驶过弯道,同时保证了安全而又不会冲出赛道。

对于90°弯道,与180°类似,最优的策略是为保持直道高速行驶,通过上述的提前入弯策略保证安全过弯。

对于S道的进入,可以类推。而对于S道的行驶则应适当降低车速并将基准位置适当降低。如图9所示,最短路径也为最快速度,两者是统一的。真实过程中很难做到让车走CD路线,但是如果能使舵机保持在一个小角度左右调节的过程中则可逼近CD路线。实践证明,高速通过S道时避免剧烈的角度变化给定为最优策略。

综合以上分析,可以得到以下两点结论:

(1)基准位置距小车的距离与速度呈正比关系。想要不减速入弯,必须改变基准位置,使之可以满足公式(9)。

(2)速度与转弯半径呈正比关系。保持高速入弯,同时不冲出赛道,提前入弯策略可以有效解决这个问题。

4 策略的实现

由以上分析可知,场景中的基准位置可以近似看成入弯点,并且不同的速度会导致不同的入弯点,也会导致不同的过弯路径。因此,需完成的控制任务是:高速过弯,在入弯前不减速,为了防止冲出赛道还需要提前入弯。可见,需要在与速度适应的入弯点的基础上进一步提前基准位置,即基准位置离小车的前端距离为:

式中,L为基准位置离小车的距离,V为此刻小车的速度,V×TD为抵消延迟时间带来的附加行驶距离,V×τ为提前入弯点的距离。

可以看出,基准位置与小车的距离是一个与小车速度相关的变量,不同的速度需要不同的取值。对于不同的速度将基准位置按照公式(10)设置,这样即可以实现高速入弯。为了得到较佳的入弯点,本策略对图像平面(64×106)做了进一步的处理,针对已经得到的图像平面(64×106),将图像平面平分为10个区域,每个区域求取引导线的平均位置,对于没有引导线的区域使用一个不可能出现的值代替,这样便将引导线信息简化为10行信息表示,记为:average[i],i=1,2,…,10。其中,average[i]记录每行信息中引导线的平均位置的列坐标值,i标表示行值。图10为最终的图像平面。

图10中,row_sure(出界点)用来选择10个点中哪几个点为可用点。average[1]为离车最近的点,随着序号增大,离车越远。在图10的图像平面中,计算偏差改为:

式中,i

当小车车速很高时,选择较远处的点求取偏差,等效于时间上提前入弯。这样由以上策略分析可知,只要入弯点合适,基本不用减速就可以直接入弯,还可以得到不错的安全系数。当速度处于一个较低水平时可使用最近处的点,即average[1],这样就保证车只有走到弯道处才会转向,不会提前入弯,避免提前入弯带来的冲出内道。

5 实验数据

根据比赛要求,赛道中最小弧度半径不小于0.5 m,在参考历届赛道的基础上,笔者设计了如图11的测试赛道,全长约38 m。实验室测试成绩为18 s跑完全程,平均速度达到2 m/s。

图12为90°弯道过弯图,粗实线为引导线,虚线为赛车实际行驶路线。可以看出,小车实现了提前入弯,这是比较好的路径,有效地节省了时间。

过弯速度的测量,由无线模块每40 ms发回编码器测得的速度脉冲,先由直道加速后入弯得到如表1所示的数据。

由表1可以明显看出速度的变化,其中62为入弯速度,折合成标准速度为2.4 m/s;弯道速度为40,折合成标准速度为1.5 m/s,这个速度很接近平均速度。

图13为360°弯道过弯图,粗实线为引导线,虚线为小车实际的行驶路线。可以看出实现了提前入弯,后半程受舵机最大偏转角的限制,无法继续加大偏转,造成有一些跑外道。

图14为S过弯图,粗实线为引导线,虚线为小车实际的行驶路线。可以看出,小车行驶路线已经很逼近直道了,由无线模块每40 ms发回编码器测得的速度脉冲,先由直道加速后入弯得到如表2所示的数据。

可以看出,S道的速度变化很小,同时弯道速度平均在1.5 m/s以上,很好地逼近了预期的路线。

本文根据转向模型,通过分析过弯路径与过弯速度之间的关系,得到了不同速度对应不同入弯路径和入弯点的结论。利用这个结论,改变控制器偏差计算,达到动态地设置入弯点,快速入弯,尽量做到不减速或少减速,缩短弯道行驶时间,从而提高小车行驶速度的目的。该方法在其他智能车跟随引导线的系统中同样适用,由于其良好的超前预测性能,对于短暂的引导线丢失也可以很好地跟随。

参考文献

[1]李军,黎兆衡,张世艺.电子信息与智能化技术在汽车上的应用.重庆交通学院学报,2006(4).

[2]熊和金.智能汽车系统研究的若干问题.交通运输工程学报,2001(2).

[3]刘之琳.全国大学生智能车竞赛与飞思卡尔S12单片机.单片机与嵌入式系统应用,2007(8).

[4]田原嫄,崔高健,黄银花.智能汽车系统.机械,2004(12).

[5]黄开胜,金华民,蒋狄南.韩国智能模型车技术方案分析.电子产品世界,2006(03S).

[6]刘建刚,程磊,黄剑,等.基于CCD图像识别的HCS12单片机智能车控制系统[A].光电技术应用,2007(6).

[7]储江伟,施树明,王荣本,等.视觉导航智能汽车试验平台总体设计.汽车工程,2004(2).

[8]李旭,张为公.基于视觉的智能车辆横向偏差测量方法[A].东南大学学报:自然科学版,2007(1).

[9]刘富强,田敏,胡振程.智能汽车中基于视觉的道路检测与跟踪算法[A].同济大学学报:自然科学版,2007(11).

[10]李颢,贾秀江.摄像头黑线识别算法和赛车行驶控制策略.电子产品世界——高校园地,2006.

智能车内温度监测系统设计 篇9

而对于中低预算的购车者来说,为了一个自动空调而增加过万元的购车成本,并不是最好的选择。本设计刚好为有这种需求的汽车用户提供了一个准确可靠、成本低廉的解决方案。

1 方案简介

图1为智能车内温度监测系统方案框图。对本系统方案简要介绍如下:

(1)系统核心为MCU,目前笔者在测试阶段采用的是深圳宏晶公司的STC89C52,它采用Inte18051架构,并且在此基础上进行扩展,稳定性极高。成本低廉,批量购买可以达到2RMB/片;体积小,PQFP封装只有13.45mm*13.45mm;具有掉电模式和睡眠模式,掉电模式下,电流<0.1uA。这些都是一个优秀温度控制系统的基础。

(2)温度采集采用DS180B20温度传感器,它采用Dallas公司单总线协议,温度测试精度可以达到0.5℃,测量范围-55℃~+125℃。完全满足汽车使用环境需求。

(3)输入和显示分别采用机械按键设置显示格式和温度告警上下限,使用1602液晶显示器显示当前温度。

(4)为了达到降低设备功耗的目标,系统采用HC-SR501人体红外传感器来唤醒MCU和显示器,当车内没有人时,1602关闭,MCU进入掉电模式;当HC-SR501检测到车内有人进入时,唤醒MCU和1602,实时显示车内温度。

(5)当车内温度达到预设的温度上限或下限时,系统将通过蜂鸣器发出告警。提示驾乘者及时调整空调。系统默认的温度区间为26℃-28℃,这是自然环境中,人体体感温度比较舒适的温度范围。

(6)以上模块可以实现对车内温度的检测,由于系统功率很小,可以直接使用干电池供电,从而实现不依赖汽车独立工作。

(7)为了实现对车内温度的自动控制,从而实现自动控制空调的效果,本系统预留了接口,与DS3908相连,DS3908为数字电位器,可以通过MCU编程控制,可以用它作为汽车空调的档位控制开关,工作时将汽车里本来的空调开关断路,将DS3908接入汽车空调电路,根据DS18B20采集的车内温度控制DS3908档位,从而控制汽车压缩机和鼓风机的工作电流,实现温度自动控制。但是此时,本系统将不能独立工作,系统的可靠性直接影响汽车空调系统可靠性,并且在实际安装时需要修改汽车电路,因此DS3908作为可选模块,根据用户需求决定是否安装。

2 具体实现

(1)硬件系统:本系统设计的主要硬件及其功能应在上面章节中说明。为了不占用车内空间,使用PQFP封装和1602,系统的PCB板整体面积只有150mm*30mm。设备厚度15mm,跟一般汽车里的香水盒差不多。

正常工作状态下,系统功耗不超过2mA。

由于89C52中集成了看门口电路,系统采用看门口保证系统的稳定工作,当系统挂死,看门狗自动复位,复位后从E2PROM中读取配置,继续工作,无需用户重新设计。

(2)软件系统:STC89C52提供了8K Flash和512B RAM,因此本系统全部使用C语言来开发。使用模块化设计思想,即提高了系统开发效率,又保证了系统的稳定性和后续可复用程度。

1)由于DS18B20和DS3908都采用了Dallas的单总线结构,需要专门代码解析单总线上的数据,但同时这些代码相对独立,可以提炼出独立的接口供控制程序调用,因此,在软件设计时,首先针对这两个设备写了独立的驱动文件,包括.C和.h文件,调用设备时,只要包含驱动的.h就可以。

2) 1602是目前普遍使用的液晶显示器,笔者直接复用了自己之前在其他产品上写过的驱动程序,极大提高了系统开发效率。

3) HC-SR501传感器在程序设计上非常简单,基本不用为它专门写代码,接入电路后,如果在检测范围内发现有人,就会在输出引脚上输出低电平,把这个信号接入MCU的外部中断,就可以唤醒系统。

4)最后程序的大部分代码和设计都集中在主程序设计上。图2为主程序框图。

3 总结

本系统为解决中低端家用轿车内没有温度检测和控制系统的问题,采用了当前嵌入式设计系统领域中的主流硬件,以可靠、准确、稳定、高性价比为目标进行设计。目前笔者已经通过了系统的全部测试,并在自己的家用车中正常使用。该系统最大特色是采用了MCU作为核心,有接口扩展能力,可以与汽车空调系统甚至ECU进行通信。具有很强的推广和实用意义。

参考文献

[1]程晓锦,徐秀花,李业丽.单片机C语言程序设计实训100例——基于8051+Proteus仿真(第2版)[M].清华大学出版社.

智能车模型控制系统 篇10

关键词:STM32F405,平衡车,控制系统,自主寻迹

0 引言

在科学技术不断取得新突破的今天,机器人走进家庭进入工厂已经成为现实,机器人与人们的联系越来越密切。而两轮移动式机器人因为结构简便、反应灵活、适应性强和操作简单等特点,受到了越来越多的关注[1,2,3]。本文结合自动控制原理、通信技术和传感器应用等相关知识,完成了一个具有自主识别道路的两轮平衡车的设计。该设计以STM32系列单片机为控制核心,运用陀螺仪、加速度计和光电编码器等传感器采集相关的数据信息,在硬件电路设计基础上辅以软件编程实现了平衡车的直立快速运动和不同路径上的转向和自主寻迹。

1 系统硬件结构设计

系统硬件部分主要由微控制器、稳压电源、角度传感器、电机驱动、测速模块、赛道信息采集、人机交互等模块组成。通过单片机内某些控制算法的处理后输出PWM控制信号控制两后轮电机,以完成系统的加减速、转向和自主寻迹等[4,5],系统硬件整体框图如图1所示。

1.1 微控制器模块

该系统选用STM32F405单片机为控制器,该控制器是以CortexTM⁃M4为内核的高性能MCU[6],工作频率能够达到168 MHz;同时STM32F405微控制器集成了单周期的DSP指令和FPU并行计算功能,运算能力被大大提高,能够完成部分更复杂的系统控制。

1.2 稳压电源模块

稳定的电源对于一个控制系统的正常工作是必不可少且及其重要的。因此在设计平衡车系统时为各个模块配置了合适、稳定的电源,并且在电路设计上避免不同电源和相同电源不同模块之间的干扰,从而保证整个系统的稳定运行。该平衡车系统的大部分电路器件为5 V电压供电,单片机核心控制器则为3.3 V低压供电。图2为系统稳压电源模块原理图。

1.3 角度测量模块

1.3.1 加速度传感器

本设计采用MMA7260加速度传感器,其是一款基于重力分量换算原理的低功耗高灵敏度的加速度传感器,能够同时输出x,y,z三个方向的加速度值,用于测量平衡车的运动姿态和方向。

1.3.2 角速度传感器⁃陀螺仪

采用ENC⁃03陀螺仪测量平衡车相对于灵敏轴的倾角。陀螺仪输出的模拟电压信号与角速度成正比;通过将该角速度对时间积分便得到灵敏轴旋转过的角度值,即平衡车的倾角。其具有体积小、重量轻、响应快和功耗低等特征。

1.4 赛道信息采集模块

系统利用TSL1401线性CCD模块[7]对比赛赛道信息进行采集并反馈给中央处理单元,由中央处理单元对采集数据进行处理。

1.5 电机驱动模块

为了实现电机的运行和正反转控制,如图3所示。本设计采用两片IR2101芯片和4个MOS管IRF3205组成了一个H桥型电机驱动电路。IR2101是一款高压、高速并带有独立的高低侧参考输出通道的电力MOS管和IGBT驱动芯片,1片IR2101芯片能够驱动2个MOS管并控制其通断状态。

图3中4个MOS管作为开关元件,当1号IRF3205和3号IRF3205处于导通状态,2号IRF3205和4号IRF3205处于关断状态时,电机正转;反之则电机反转,控制上桥臂MOS管采用PWM方式,下桥臂MOS管只工作在开关状态。为了防止异常情况的发生,保护驱动电路和电机,设计中加入了电流检测电路,电机电流全部流经0.02Ω的采样电阻,转换成电压信号,经过一阶低通滤波和同相比例运算放大器之后送给单片机的模拟量输入口,单片机实时采样该电压即可检测流经电机的实时电流,异常情况即可控制PWM占空比封锁驱动输出电压,已达到保护驱动电路和电机的目的。

2 系统软件结构设计

在该系统中,图像的采集由外部中断来单独处理,且图像采集的优先级高于其他内部中断。传感器信号的采集、电机转速的读取、小车直立控制、小车速度控制、小车方向控制等则放在一个1 ms的定时器中断服务程序中完成,用一个全局变量进行计数,则可实现系统各个子模块有序地执行。图像获取、图像处理和黑线提取、方向偏移量和方差的求取及无线串口数据的接收与发送则放在主程序中。图4为系统主程序流程图。

软件系统首先完成各功能模块的初始化。包括PWM通道、ADC通道及I/O口的设置等。初始化完成后,读取人机交互模块的参数,包括拨码开关的状态和上位机传回的数据。然后开始进入无限循环。三级中断按照优先级先后进入各任务交替完成,首先进入中断优先级最高的图像采集程序,再进入DMA中断服务程序判断图像是否采集完毕,若采集完毕设置图像处理标志位置位,最后进入1 ms的定时器中断,在定时器中断服务程序,基于全局计数变量的值使各子模块的运行任务有序地完成。无中断信号请求时,则在主循环中执行图像去噪处理、黑线提取和赛道形式判断程序[8,9]。若检测到平衡车倾角超过了某一事先设定好的阈值则可认为平衡车跌倒,则应该令平衡车停止运行。

3 结语

本文研究并设计实现了以STM32为控制核心的智能平衡车控制系统。以智能平衡车为研究对象,对硬件电路设计和软件编程进行相关研究,主要有:传感器采集信号的滤波、自平衡控制的PID参数的整定、赛道图像提取、道路形式的识别及小车转向的控制、角度闭环和速度闭环的相互协调等。在实验室环境下的跑道上,该两轮平衡车能很好地沿着模拟路径进行快速运行。

参考文献

[1]张学会,苏洋,徐佳,等.红外遥控两轮自平衡小车设计[J].信息技术,2015(9):91-94.

[2]张伟民,段晓明,赵艳花.两轮自平衡小车控制研究[J].自动化技术与应用,2011,30(4):11-13.

[3]阮晓钢,任红格.两轮自平衡机器人动力学建模及其平衡控制[J].计算机应用研究,2009,26(1):99-101.

[4]姜香菊,刘二林.两轮自平衡机器人角度检测数据融合算法[J].计算机工程与应用,2013,49(8):203-205.

[5]王良成,杨志民,胡聪聪,等.两轮自平衡小车的设计与实现[J].实验室科学,2012,15(6):52-55.

[6]陈启军,余有灵,张伟,等.嵌入式系统及其应用[M].上海:同济大学出版社,2011.

[7]吴苗苗,沈世斌,王亮,等.基于CMOS摄像头的直立循迹智能车系统设计[J].自动化技术与应用,2014,33(7):21-25.

[8]盘书焱,杨明,何启迪,等.基于K60的改进式PID在平衡车中的应用[J].硅谷,2014(24):112.

上一篇:学生所得下一篇:运行故障诊断