《嵌入式智能小车测控系统的设计与实现.pdf》由会员分享,可在线阅读,更多相关《嵌入式智能小车测控系统的设计与实现.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、控制技术计算机测量与控制.2010.18(2)Computer Measurement&Control357收稿日期:20090815;修回日期:20090920。作者简介:董宗祥(1981),男,黑龙江人,硕士研究生,主要从事检测与控制、嵌入式系统的研究。石红瑞(1968),女,博士,副教授,硕士生导师,主要从事过程控制,仪器仪表方向的研究。文章编号:16714598(2010)02035703 中图分类号:TP24216文献标识码:A嵌入式智能小车测控系统的设计与实现董宗祥,石红瑞,杨 杰(东华大学 信息科学与技术学院,上海 201620)摘 要:智能小车作为智能车辆的仿真车,是研究智能车
2、辆的基础;介绍了智能小车测控系统的结构和软硬件实现;系统以ARM9为控制器,采用C/OS2II操作系统,用红外传感器识别路径,采用模糊自适应PID控制策略得到控制量,并最终通过舵机和直流电机对小车的位置和速度进行控制;测试结果表明,在该控制系统下,智能小车具有良好的位置跟踪和快速切换速度性能,该系统可以作为对智能车辆进一步研究的平台。关键词:智能小车;ARM9;C/OS2II;模糊自适应PIDDesign and Implementation of Embedded Smart C ar Measurement and Control SystemDong Zongxiang,Shi Hong
3、rui,Yang Jie(College of Information Science&Technology,Donghua University,Shanghai 201620,China)Abstract:As an emulator of the intelligent auto,the smart car is the basic object for the research of intelligent auto.In this paper,thestructure of the smart car was introduced and the hardware and the s
4、oftware were designed.The smart car control system was designed onthe ARM9 core controller and operated inC/OS2II operation system,with the ultrasonic sensor as the navigation.Fuzzy auto2adjusted PIDwas used as control strategy and the position and the speed are controlled by steer motor and DC moto
5、r respectively.The test results indicatethat,the smart car had a position track and fast speed switch performance under the control system.This system can be used as the platformfor further study of intelligent auto.Key words:smart car;ARM9;C/OS2II;fuzzy auto2adjusted PID.0 引言近年来,随着智能交通、人工智能以及控制技术的发
6、展,智能车辆的研究在智能交通领域已成为热门课题1。但是,现今对智能车辆的结构、运动特性、智能控制策略的研究并不完善,因此有必要对智能车辆的仿真版本 智能小车做更深入的研究。智能小车是一个集环境感知、动态决策与规划、行为控制与执行等多种功能于一体的综合系统,涉及到传感器技术、微处理器控制、信号处理、电机驱动、人工智能、驱动电源的设计等诸多领域2。为了更逼真的模拟智能车辆,智能小车的设计必须具备人工智能、信息交换、自我稳定等性能3。本文设计的智能小车基于ARM9控制器和C/OS2II操作系统。首先概述智能小车的系统结构,然后介绍控制器、导航、无线串口通讯、执行等单元的硬件设计,接着分析C/OS2I
7、I操作系统的移植、路径提取方法和控制策略,最后在赛道参数典型值为25 mm的标准道路上对智能小车的性能指标做了测试,并对测试结果进行分析。1 智能小车系统结构图1(a)为基于ARM9和C/OS2II的智能小车控制系统结构层次图,控制系统主要包括4个模块:探测模块,电源模块,通信模块,控制和执行模块。图1(b)为智能小车实物图。图1(a)系统结构层次图图1(b)智能小车实物图探测模块是智能小车的位置传感部分,起着导航的作用。本文选用红外对射传感器作为探测装置。根据反射原理,智能小车通过判断红外接收管的通断情况识别白色路面上的黑线,并引导智能小车沿着黑色路径平稳地前进。电源模块可以输出712V、6
8、10V、313V、510V电压,分别为直流电机、舵机、控制器和外围电路提供能源。358计算机测量与控制 第18卷 无线串口通讯模块nRF401,作为智能小车与上位机的通讯接口。nRF401采用FSK调制解调技术,具有通讯距离远、低功耗、接口灵活特点4。通过无线串口,上位机给智能小车发送命令,同时接受智能小车反馈的参数信息。控制 器 以 三 星 公 司32位 处 理 器 芯 片 S3C2440A(ARM9内核)为控制器,S3C2440A主频达533 MHz,并提供丰富的输入输出端口、时钟源、PWM、外部中断接口。舵机和直流电机为位置和速度控制的执行机构。2 智能小车控制系统硬件设计智能小车的硬件
9、是整个控制系统能否顺利运行的基础。硬件以ARM9核控制芯片为控制器,用红外传感器识别路径,使用舵机和直流电机分别进行位置控制和速度控制。硬件包括:控制器及外围电路单元,导航单元,执行单元。211 控制器与外围电路单元S3C2440A是整个控制系统的核心部件,它完成从导航单元获取路径信息,采集瞬时速度,进行数据处理,控制算法运算,输出控制量和上位机通讯等功能。为了使得控制器发挥更稳定的处理性能,还需设计电源模块、复位电路、内存扩展、LCD显示和J TAG调试等外围辅助电路,控制器与外围部件框图如图2所示。图2 控制器及外围部件框图212 导航单元选择十二对红外收发对管RPR2220作为路径探测传
10、感器,十二对红外传感器“一”字排开作为智能小车的导航单元,安装在车体的前端。为了提高抗干扰能力和节能,控制器通过十二路通道定时发送高频通断信号驱动RPR2220传感器的发射管。RPR2220接收管接收到的是模拟信号,控制器有两种方式接收信息,一种是将模拟信号先经过放大电路,然后送给比较器变成数字量信号再送给控制器;另一种是将模拟信号直接传送给控制器的AD接口,这样做可简化外围电路,但AD转化需要花费CPU时间,降低了智能小车对路径信息采集的实时性,本文选择了前者。213 执行单元21311 直流电机驱动和速度检测文本选用的用于速度控制的直流电机型号为RS2380S,使用H桥驱动芯片MC3388
11、6驱动直流电机,采用两路PWM控制驱动芯片为直流电机提供电流。选两路PWM可以方便地控制电机的正反转,以达到反转刹车的作用。智能小车前行的过程中受到电池电压降低、电磁场、轮胎磨擦、转向轮转向阻力等不定因素的干扰,开环控制无法满足性能要求,因此闭环控制是必须的。实施闭环控制须对速度进行实时探测,这里使用的速度传感器型号为ISC3004旋转编码器,精确度达到360p/r3。21312 舵机控制本文研究的用于位置控制,舵机选择的是FUTABA公司的S3010型扭力型伺服机,它直接由控制器输出的PWM信号控制。舵机的转角和PWM的占空比存在一定的线性关系,控制器只需改变PWM的占空比即可灵活地控制智能
12、小车行进的方向。舵机的响应速度为0116sec/60(610V),本设计通过延长力臂的方式增强对小车位置控制的实时性。3 智能小车控制系统的软件设计控制系统的软件设计分为3个层次:物理层、操作系统层和任务层。物理层包括存储器分配、启动代码编写等底层软件设计;操作系统层包括C/OS2II移植和任务的分配。任务层主要包括路径提取和控制策略等应用程序的设计。311 物理层软件设计本文设计的启动代码放在s3c2440init.s文件里,启动代码实现定义入口地址,初始化堆栈和外部数据空间,设置中断异常向量表,Nor Flash和Nand Flash启动选择,搬运程序到SDRAM中,搬运完成后跳转到mai
13、n函数执行。ARM要求必须将中断向量表存放在规定的地址内,当有中断发生时,CPU通过中断向量表中存放的跳转指令,转到对应的中断服务程序。ARM要求异常中断向量表必须放在从0地址开始的连续84字节空间,对应ARM的8种中断异常情况。外部中断向量表放在从0 x20到0 xe0的连续地址空间。本设计将中断向量表对应的中断处理程序入口地址统一存放在SDRAM中从0 x33FFFF00开始的一段连续的地址空间中。312 C/OS2II的移植C/OS2II是一个可移植、固化、裁剪的占先式实时多任务内核,它采用标准的ANSIC语言编写,使之可供不同架构的微处理器使用6。ARM处理器完全满足C/OS2II移植
14、到该处理器上要求。下面将移植过程与工作内容描述如下:OS_ CPU.H中用#defines定义的与处理器相关的常量,宏和类型定义。在此文件中设置OS _ CRITICAL _METHOD的值为3,设置OS _ STK _ GROWTH的值为1,用typedef命令定义10种数据类型,定义堆栈的宽度为32位。OS_ CPU _ C.C中编写6个函数,其中5个函数为钩子函数只要声明没必要包含代码。另一个函数是OSTaskSt2kInit(),这个函数实现为任务初始化堆栈,被OSTaskCreate()和OSTaskCreateExt()这两个函数调用,这里初始化了处理器在任务切换时存入堆栈中的15
15、个寄存器为LR、R0R12、CPSR。在OS_ CPU _ A.S文件里用汇编语言编写5个函数:OSCtxSw()任 务 级 的 任 务 切 换 函 数,OSIntCtxSw()中断级的任务切换函数,OSStartHighRdy()优先级最高的就绪任务函数,OS_ CPU _ IRQ _ ISR()IRQ中断服务函数,OSTickISR()时钟节拍中断服务函数。313 应用程序的设计系统启动后首先对处理器和外围电路进行初始化,然后初始化C/OS2II,创建任务,启动系统调度任务等工作。应用第2期董宗祥,等:嵌入式智能小车测控系统的设计与实现 359程序主要由以下几部分组成:通讯模块,实时路径探
16、测模块,实时速度获取模块,位置和速度闭环控制模块,LCD显示模块,电源监控模块。应用程序软件流程图如图3所示。图3 应用程序软件流程图处理器初始化时,通过配置S3C2440A的PLL寄存器使处理器工作在400M的系统频率下。C/OS2II初始化时,OS2Init()初始化全局变量和数据结构,并创建具有最低优先级和永远处于就绪状态的空闲任务OSTaskIdle。调用OSTa2skCreate()函数创建优先级最高的MainTask任务,应用程序划分为6个任务块来实现,这6个任务由主任务MainTask创建,优先级依次降低,各个任务的详细功能描述如下。无线串口监听任务(TaskUart)监听上位机
17、命令,上传位置和速度信息;路径信息采集任务(TaskRoadInf2Det)读取红外传感器探测到路径信息,滤波后提取黑色路径的位置;速度采集任务(TaskSpeedDet)定时读取旋转编码器采集的脉冲个数,根据相应公式计算当前速度;控制策略任务(TaskControl)对速度和位置实现模糊PID闭环控制;LCD显示任务(TaskLCDDisp)显示智能小车现场路况信息、速度及其他性能信息;电源电压探测任务(TaskVoltageDet)对电池电压经由AD转换后计算出当前电池电压。314 路径提取方法要使智能小车能够准确地沿着黑色路径行进,控制器必须通过控制导航单元准确地提取黑色路径位置。路径提
18、取算法描述如下:控制器驱动红外传感器发射管工作,接收管信号经过放大比较电路后送给控制器,如果n号管接受信号为1,则说明n号管对应位置为黑色路径,反之为白色路面。根据黑线宽度(25mm)和传感器排布间距(22mm)分析,某一时刻控制器读取的路径信息(blackLineLocation=0bxxxxxxxxxxxx)里的x位置理论上只有一个“1”或者两个连续的“1”出现,而实际的路面环境受光线和路面平整程度的干扰,所以读取的路径信息要经过滤波处理,首先将上次的有效路径作为基准,预测本次路径的可能区,然后采取求均值的方法处理连续4次采集的数据,如果这个数值在预测的可能区间里,则作为本次路径获取的有效
19、结果,否则说明本次路径提取受到干扰,沿用上次有效路径作为本次获取路径的结果。315 运动控制策略分析导航单元采集来的路径信息,智能小车的有效位置有23种状态,设计两个两维数组,一个来存放每种状态对应的舵机期望旋转角度;另一个存放23种状态下对应的12种最大安全通行速度。所谓最大安全通行速度是指:智能小车在对应的转角情况下不丢失路径,顺利通过弯路的最大速度。当反馈速度小于设定速度时,智能小车加速,大于给定速度时,智能小车则减速,等于给定速度时,智能小车维持原状。采用PID控制速度的算式如(1)所示:u(k)=Kp(e(k)-e(k-1)+Kie(k)+Kd(e(k)-2e(k-1)+e(k-2)
20、(1)u(k)为速度增量,Kp,Ki,Kd分别为比例,积分,微分系数。由于难以精确获取智能小车的数学模型,为了达到更好的动态控制效果,这里根据输入输出的偏差e与偏差的变化率ec设计模糊推理,引入PID控制策略,构成模糊自适应PID控制7,算法框图如图4所示。获取模糊输出量 Kp,Ki,Kd,分别用于在线整定Kp,Ki,Kd,计算公式如公式(2)所示,Kx3为初始值。Kx=Kx+Kx3(2)图4 模糊PID控制算法框图4 智能小车性能测试与结果分析(1)位置控制:位置响应性能是智能小车稳定和高速前进的基础。位置响应的滞后和超调会严重影响过弯速度和稳定性。图5是智能小车在S型弯道上行进路线,实线表
21、示S型黑色路径,虚线表示智能小车实际的行驶路线。经测试,智能小车具有自动识别路径并灵活的跟踪黑色路径行进的性能。通过调试发现参数Kp3,Kd3对智能小车的位置控制影响最大。图5S型弯道上行进曲线(下转第362页)362计算机测量与控制 第18卷类的行为或状态的目的。基于这一原理,本文在监控组件的开发中采用观察者模式来实现。按照测控系统常用的监控需求,本文设计了多个观察者:动态流程观察者,依据所采集的参数值实时地反应设备运行状态动画,例如阀门的开启、电加热器的运行、风机的运转、窗体的参数值以及气流的流动等;曲线观察者,依据所采集的参数值实时绘制监控曲线;数据列表观察者,依据所采集的参数值实时更新
22、数据列表;报警观察者,依据所采集的参数值实现声光报警和显示报警信息。引入观察者模式的类图结构如图4所示。图4 引入观察者模式的类图结构4 结论本文的设计方法已应用于某环境模拟试验台测控系统中。在实际工程项目的开发过程中,通过对通用测控系统的需求分析,进行了组件的划分,并采用生产者/消费者模式设计了统一的组件接口,大大提高了测控软件中各组件的重用性。而且通过将设计模式引入到测控系统的开发中,不仅解决了该系统中的多数据源多任务的测控要求,同时大大提高了系统的可扩展性和易维护性,为测控系统的通用化提供了一种可行的方案。参考文献:1于劲松,李行善.下一代自动测试系统体系结构与关键技术J.计算机测量与控
23、制,2005,13(1):13.2蔡福喜,黄大贵.基于模块化设计思想的测控系统框架设计J.测控技术,2009,28(1):5561.3王丽荣,万建成,孙延涛.基于组件和设计模式的仓库系统框架J.小型微型计算机系统,2003,24(6):10581063.4曾志明,朱江,张立立,等.设计模式在可复用GIS软件开发中的应用J.计算机工程,2006,32(7):6769.5王晓庆,曾文英,王明文,等.设计模式中的面向对象原则及其子模式J.计算机工程,2003,29(9):193194.6 GAMMA E,HELM R,JOHNSON P,et al.Design Patterns:Ele2ments
24、 of Reusable Object Oriented Software M.Beijing:ChinaMachine Press,2002.(上接第359页)(2)速度控制:标准的测试道路上既有直道又有曲率不等的弯道,为使智能小车在不同路径下动态切换速度时具有响应快、超调小和误差小的性能,做如下测试:将智能小车的给定值由1 m/s改为014 m/s,再有014 m/s改为018 m/s,时间间隔为1 s。先用常规PID控制,再用模糊PID控制,经过反复调整PID参数,最后通过无线串口将速度给定值和智能小车的实际行进速度值送给上位机,将数据导入excel,利用ex2cel图表工具做图可得速度
25、响应曲线,如图6所示。图6 速度响应曲线X轴表示时间,Y轴表示速度,曲线1、2、3分别表示给定速度、常规PID控制时速度响应曲线、模糊自适应PID控制时速度响应曲线。分析速度响应曲线可知,智能小车在切换速度时,能够满足快速跟踪给定速度的性能;在对智能小车的控制上,模糊自适应PID控制比PID控制有更好的动态响应特性。5 结束语本文 设 计 的 智 能 小 车 硬 件 系 统 使 用ARM9内 核 的S3C2440A芯片作为控制器,利用红外传感器的导航单元识别路径,采用无线串口方式和上位机通讯,以舵机和直流电机作为执行机构。采用在C/OS2II操作系统下设计应用程序的方式,设计了基于模糊自适应P
26、ID控制策略的控制算法程序。经过测试表明智能小车具有自动识别路径、良好的位置跟踪和速度切换快速性能,智能小车将会成为对智能车辆进一步研究的平台。参考文献:1 Wang Yibing,Han Zengjin.Stability of an automated vehicle pla2toon A.Proceedings of American Control Conference C.1998,2:950954.2刘新杰,王富东.竞赛机器人小车设计的几个关键问题及解决J.苏州科技学院学报,2007,24(4):7073.3 Wan Jian,Chu Xiumin.The Design of Au
27、tonomous Smart Car Usedin Simulation of Vehicle Platoon A.Pacific2Asia Workshop onComputational Intelligence and Industrial Application C.2008,2:885890.4杨 扬,颜文俊.基于C/OS2II的机器人小车系统设计J.机电工程,2006,23(7):3033.5邵贝贝.C/OS2II 源码公开的实时嵌入式操作系统 M.北京:中国电力出版社,2001,108136.6石红瑞,杨小波,文科星.模糊自适应PID模块在PCC上的开发及应用J.控制工程,2008,15(增刊):130133.