避障机器人技术报告_第1页
避障机器人技术报告_第2页
避障机器人技术报告_第3页
避障机器人技术报告_第4页
避障机器人技术报告_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、避障机器人技 术 报 告学 校: 班级: 姓名: 学号: 目 录摘 要IAbstractII第一章 引 言11.1 比赛背景介绍11.2 本文章节安排及文献综述2第二章 方案选择32.1 测量模块方案选择32.1.1 路径检测模块32.1.2 速度检测模块52.2 控制模块方案选择62.2.1 路径控制模块62.2.2 方向控制模块92.2.3 速度控制模块102.3 执行模块方案选择102.3.1 路径执行模块102.3.2 方向执行模块132.3.3 速度执行模块132.4本章小结13第三章 机械结构设计153.1 车模组装与改造153.1.1 车模组装153.1.2 前轮定位的调整153

2、.1.3 差速的调整163.1.4 舵机力臂的调整163.2 摄像头的安装163.3 光栅编码器的安装183.4 电路板的固定与安装19第四章 硬件系统设计与实现214.1 电源模块214.1.1 降压稳压电路设计224.1.2 升压稳压电路设计224.1.3 电源模块小结234.2 路径识别模块244.3 电机模块264.4 舵机模块264.5 测速传感器模块264.6本章小结28第五章 理论分析与算法实现295.1 模型建立295.1.1 基于后轮差速的运动模型295.1.2 基于速度和前轮转角的运动模型325.2 运动模型仿真375.3 控制算法405.3.1 控制算法的简单介绍405.

3、3.2 方向控制435.3.3 速度控制48控制算法的优化部分50算法的程序实现51第六章 软件系统设计与实现536.1 系统初始化536.2 视频图像信号采集546.3 图像处理和黑线提取556.3.1 图像处理556.3.2 黑线的提取56第七章 开发与调试597.1 软件开发环境介绍597.2 智能车整体调试61第八章 结论638.1 总结638.2 展望63参考文献I附录:控制程序I摘 要本系统主要由主控制模块、传感器检测模块和直流电机驱动模块组成,以美国Cygnal公司的单片机C8051F360为控制核心,通过红外传感器探测障碍物的信息由主控制系统经过处理后,驱动电机做出相应的避让动

4、作。从而达到避障机器人的避障功能。本文详细的介绍了避障机器人的构硬件电路设计,系统软件设计合理论分析以及系统的仿真环境。关键词:避障,红外传感器,直流电机第一章 引 言随着信息化技术的发展,嵌入式系统已经成为当前IT产业界一个非常热门的话题。因其高效、低成本、高可靠性、丰富的代码以及应用程序可扩展性、可移植性等一系列优点,目前已越来越成为工业系统和民用系统的主力军,尤其在信息化产品中,越来越多地应用到嵌入式系统的概念。嵌入式系统主要由嵌入式处理器、相关支撑硬件和嵌入式软件系统组成,它是集软硬件于一体的可独立工作的“器件”。嵌入式处理器主要由一个单片机或微控制器(MCU)组成。相关支撑硬件包括显

5、示卡、存储介质(ROM和RAM等)、通讯设备、IC卡或信用卡的读取设备等。嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用闪存(Flash Memory)作为存储介质。嵌入式软件包括与硬件相关的底层软件、操作系统、图形界面、通讯协议、数据库系统、标准化浏览器和应用软件等。总体看来,嵌入式系统具有便利灵活、性能价格比高、嵌入性强等特点,可以嵌入到现有任何信息家电和工业控制系统中。从软件角度来看,嵌入式系统具有不可修改性、系统所需配置要求较低、系统专业性和实时性较强等特点。我们设计的避障机器人就是嵌入式系统的一种,能够实时的测量前方障碍物的信息做出相应的避让动作

6、,并且能够将测量的数据实时的显示在LCD显示屏上。1.2 本文章节安排及文献综述本文系统的介绍了制作本避障机器人的各项技术。具体章节安排如下:第一章 引言 介绍了嵌入式系统,引出下文。第二章 机械结构设计 详细介绍避障机器人的组装方法第三章 硬件系统设计及实现 介绍了避障机器人的电源,液晶显示屏,红外测距传感器,直流电机。第四章 软件系统设计及实现 介绍避障机器人的编程环境,仿真环境以及Silicon Labs IDE软件的使用方法。第五章 总结与展望 第二章 机械结构设计避障机器人是具有避开障碍物形式功能的机器人。先看看机器人的全貌:避障机器人主要是由C8051F360控制器主板;行走装置;

7、多路直流电机驱动板;红外测距传感器;128*64点阵(含一级汉字库)LCD显示屏,直流电源和充电电池组 组成。C8051F360控制器主板行走装置一套(包含4电机和轮子)多路直流电机驱动板红外测距传感器128*64点阵(含一级汉字库)LCD显示屏一块;直流电源和充电电池组 安装步骤:1 找到四个直流电机,四个固定直流电机的支架以及底板 2 将四个固定直流电机的支架安装在底板上3 将支撑主板的四根螺杆安装在底板上4.将四个电机安装在电机的支架上5.把三个固定红外测距传感器的支架安装在底板上6.将红外测距传感器安装在支架上红外测距传感器起到了环境数据采集及处理的作用,它把处理的数据传给机器人控器系

8、统。它有模拟量传感器系统和数字量传感器系统组成。 7.将多路直流电机驱动板安装在四根螺杆上8.将主板安装在螺杆上9.把LCD显示模块装在主板上10.安装车轮第三章 硬件系统设计与实现 电源基于机器人项目驱动的嵌入式教学实训平台主控制器由9V/12V电源供电,使用电源适配器或者使用电池供电,经DC-DC变换电路分别产生5V,3.3V,2.5V电源给各个功能模块供电,分别是:9V/12V给电机供电;5V给I/O口驱动、数字和模拟传感器等供电;3.3V给主控芯片、传感器采集系统、串口等供电。基于机器人项目驱动的嵌入式教学实训平台主控制器电源供电系统框图如图1-2-17所示。电源系统所用芯片如表1-2

9、-4。表1-2-4 电源系统芯片列表芯片VS2576AMS1117-3.3数量11功能9V转5V5V转3.3V(1) 9V12V转5V电源设计这部分电源设计采用开关稳压芯片VS2576,该芯片输出5V电压,输出电流可达3A,稳定度高,加上滤波电容,性能可以满足要求。电路如图1-2-18所示。图1-2-17 系统供电电源框图图1-2-18 9V12V转5V电源电路图(2)5V转3.3V电源设计采用开关稳压芯片AMS1117-3.3,该芯片输出电压3.3V,输出电流可达5A。电路如图1-2-19所示。图1-2-19 5V转3.3V电源电路接口A说明如表1-2-5所示:表1-2-5接口A说明名称说明

10、SW1上拨:关闭电源下拨:开启电源JP149V电源插入接口5V05V电源指示灯3V33.3V电源指示灯使用方法:使用前,请将SW1上拨关闭电源,然后插入电源,再将SW1下拨开启电源。 JTAG接口如图1-2-16 接口B所示,JTAG口(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行调试和仿真。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。JTAG模块采用了10PIN仿真调试接口,如图1-2-20所示,表1-2-6为对应管脚定义。20PIN的插座连接C8051F3

11、60芯片的JTAG接口,插座的信号配置要和ARM LM LINK调试器接口一致。JTAG调试电路设计如图1-2-20所示。图1-2-20JTAG插针示意图表1-2-6 F360的JTAG插座管脚定义PIN号名称1VDD 2 , 3 , 9GND5/RST7/RST/C2CK6P4.6/C2D10 NC使用方法:调试程序以及下载程序时将 JTAG接口按照缺口方向接上。不使用时拔下。2.3.3 电机控制信号输出口图1-2-16将电机控制信号输出口分为如下所示的12个组。电机物理版图相对应布局说明如表1-2-7所示:表1-2-7 物理版图相对应布局说明名称JP1电机控制信号输出口1JP2电机控制信号

12、输出口2JP3电机控制信号输出口3JP4电机控制信号输出口4JP5电机控制信号输出口5JP6电机控制信号输出口62.3.4 模拟传感器数据输入接口接口E的定义与说明如表1-2-8所示:表1-2-8 接口C的定义名称说明JP2第 0 通道模拟传感器数据输入接口JP3第 1 通道模拟传感器数据输入接口JP4第 2 通道模拟传感器数据输入接口JP5第 3 通道模拟传感器数据输入接口JP6第 4 通道模拟传感器数据输入接口JP7第 5 通道模拟传感器数据输入接口JP8第 6 通道模拟传感器数据输入接口JP9第 7 通道模拟传感器数据输入接口按照图1-2-16物理版图相对应的模拟设备接口布局说明如表1-

13、2-9所示:表1-2-9 模拟设备接口定义说明管脚JP2JP3JP4JP51VDD5VVDD5VVDD5VVDD5V2ADC0ADC1ADC2ADC33AGNDAGNDAGNDAGND管脚JP6JP7JP8JP91VDD5VVDD5VVDD5VVDD5V2ADC4ADC5ADC6ADC73AGNDAGNDAGNDAGND使用方法: AD0AD7分别是第0通道模拟传感器数据输入接口第7通道模拟传感器数据输入接口的模拟数据输入端。使用时请以电源管脚为参考连接即可。板子上3针的接口右端到左端分别是是电源、ADC、地线。接传感器时请注意不要接反。3.2 液晶显示屏第四章 软件系统设计与实现硬件电路的设

14、计是自动控制器的基础。智能汽车竞赛指定飞思卡尔公司S12系列的16位单片机MC9S12DG128作为核心控制处理器。本智能车采用了组委会提供的开发板MC9S12EVKC作为单片机最小系统,并在此基础上增加了各种接口电路板组成整个硬件系统。下面将对硬件设计中除了单片机最小系统之外的其他几个主要的模块设计进行讨论。4.1 电源模块电源模块为系统其他各个模块提供所需要的电源。设计中,除了需要考虑电压范围和电流容量等基本参数之外,还要在电源转换效率、降低噪声、防止干扰和电路简单等方面进行优化。可靠的电源方案是整个硬件电路稳定可靠运行的基础。全部硬件电路的电源由配发的标准车模用7.2V 2000mAh

15、Ni-cd蓄电池提供。由于电路中的不同电路模块所需要的工作电压和电流容量各不相同,因此电源模块应该包含多个稳压电路,将充电电池电压转换成各个模块所需要的电压。主要包括以下不同的电压。l 5V电压。主要为单片机系统、信号调理电路以及部分接口电路提供电源,电压要求稳定、噪声小,电流容量大于500mA。l 12V电压。主要为CCD图像传感器提供12V的工作电源。l 7.2V电压。这部分直接取自蓄电池两端电压,主要为舵机、后轮电机驱动模块和部分接口电路提供电源。除了7.2V电压可以直接由蓄电池获得,5V电压需要通过降压稳压电路获得,12V电压通过升压稳压电路获得。电机驱动电路的电源可以直接使用蓄电池两

16、端电压。模型车在启动过程中往往会产生很大的冲击电流,一方面会对其他电路造成电磁干扰;另一方面由于电池内阻造成电池两端的电压下降,甚至会低于稳压电路所需要的最低电压值,产生单片机复位现像。为了克服启动冲击电流的影响,可以在电源中增加容值较大的电解电容,也可以采用缓启动的方式控制电机。在启动时,驱动电路输出电压有一个渐变过程,使得电机启动速度略为降低从而减小启动冲击电流的幅度。4.1.1 降压稳压电路设计我们采用的降压稳压芯片是LM1117-5.09。LM1117 5.0是一种低压差的线性稳压器件,最大输出电流为1A,足够提供系统中5V器件所需功率。另外,其输出电压波动范围仅为0.1V,精度较高,

17、经实验证明,能够满足本智能车系统中各项要求。典型电路如图3.1所示。我们最终应用的降压稳压电路就是在图3.1的基础上在输出端加一个1000F的滤波电容即可。图3.1 LM1117典型电路图4.1.2 升压稳压电路设计主要的升压芯片有MC34063A/E,MAX734,MAX632。在去年的比赛中,使用MAX734,MAX632芯片作为升压器件的参赛队伍很少。而MC34063A/E芯片的使用却很多。并且我在很多参考数目上都看到了使用MC34063A/E芯片作为升压电路的实例,所以我决定采用它作为升压器件。MC34063是开关稳压芯片,可构成升压、降压斩波电路。输出开关电流大于1.5A。2.5mA

18、的低静态电流。典型电路如图3.2 所示10。若将MC34063应用到本升压电路,使输入VIN 为7.2V,输出为12V,则应将电路更改为图 3.3 所示。实验表明,这个电路能很好的实现12V升压的功能,满足本智能车硬件电路的需要。虽然有一定的发热,但是完全不影响各部分工作。 图 3.2 MC34063典型电路 图3.3 MC34063得到12V升压4.1.3 电源模块小结综上,可以得到电源模块星型电路结构图3.4:7.2V蓄电池7.2V蓄电池MC3406312VLM11175V舵机CCD传感器电机光栅编码器单片机系统图3.4 电源模块框图4.2 路径识别模块一般来说,面阵CCD已经将芯片的驱动

19、电路集成在一起了,它的输出信号为标准的模拟复合视频信号。该信号中主要包括了同步信号和图像信号,它的幅值为1V左右。对于该信号可以不经过放大直接由单片机的A/D端口采集到视频图像数据。此外,还可以直接通过外部的电压比较器,将模拟视频信号变成高低电平信号,通过单片机的I/0口输入到计算机,这样可以避免由于单片机A/D转换速度而带来的采集图像分辨率低的问题。无论采用哪种方法,都需要专门的视频同步分离电路提供行、场同步信号,这些同步信号一般送到单片机的外部中断端口。本智能车采用LM1881作为视频信号同步分离芯片。基于S12单片机11采集视频图像电路系统框图如图3.5 所示。其中包括有S12单片机最小

20、系统、同步分离电路、5V稳压电路、12V MC34063斩波升压电路等。视频信号同步分离电路如图3.6所示12。其中S12单片机端口资源配置如下:1) AD输入端口PAD00,PAD08:输入视频模拟信号;2) 外部中断口IRQ:输入视频同步信号;3) CS接单片机的PE1口:输出复合同步信号;4) VS接单片机的PH1口:输出场同步信号; 图3.5 视频信号同步分离电路 图 3.6 单片机采集图像系统框图4.3 电机模块直流电机的控制由单片机的PWM信号来完成,驱动芯片采用飞思卡尔半导体公司的半桥式驱动器MC33886。其工作电压为5-40V,导通电阻为120m,输入信号为TTL/CMOS,

21、PWM频率小于10KHz。电路如图 3.7 所示。 图 3.7 MC33886电路示意图其中D1、D2是MC33886的使能端,IN1、IN2为输入端,OUT1、OUT2为其输出端。单片机通过PWM通道的占空比控制电机速度,IN2 和IN1分别接到PP1和 PP0上控制电机的正转和反转速度(因为电机工作频率小于10KHz,所以一个通道控制电机速度就够了),正转为智能车加速,当转弯时利用了反转PWM波来控制电机的减速;D1和D2接到单片机的IO口上控制电机转动方向(正转或反转)。4.4 舵机模块由于舵机工作频率为50HZ,需采用双通道PWM控制舵机转向(合并PP4、PP5)。将舵机的信号线接到P

22、P5口上。4.5 测速传感器模块本智能车的测速采用光栅编码器,它每转动一圈都会输出一定个数的脉冲,通过在单位时间内测量得到的脉冲数,就可以得出电机的转速。光栅编码器由光栅盘和光栅式光电开关组成。光栅盘可以自己制作,光栅式光电开关为配对并集成的LED管和光敏三极管。 LED(发射端)的出射光照射到一小段距离之外的光敏三极管(接收端)上,传感器的状态随出射光是否被遮挡而改变。光电开关外围电路如图3.8 所示。 A B C图3.8 光电开关外围电路电路A为传感器的发射端提供了限流电阻R1。R1可以选2201K。与反射式光电开关不同的是,在这里LED管的亮度不需要很高。事实上,如果LED管过亮,不仅增

23、加功耗,而且红外光容易穿过阻光区域,造成误信号。因此,可以从高阻值的电阻开始选用(越1K),当发生误差信号问题时,只需将电阻值下调。电路B为传感器接收器(光敏三极管)的外围电路。如果接收端使用的是PNP型光敏三极管,则采用电路C。对B与C的两个电路来说,R3决定着灵敏度,其取值范围由具体的接收端光敏三极管所决定,一般为10K20M。但光电开关直接输出的信号并不理想,为了使光电开关的输出信号数字化,提高抗噪声能力,应用施密特触发器。外围电路如图3.9所示:输出送单片机的增强型定时捕捉模块的PT7口进行脉冲记数。 A B C 图3.9 经施密特触发器的光电开关外围电路4.6本章小结根据硬件系统的设

24、计,得出系统硬件参数如下表3.1:表3.1 系统硬件参数项目参数车模几何尺寸(长、宽、高)(毫米)280,162,368车模轴距/轮距(毫米)139车模平均电流(匀速行驶)(毫安)2000电路电容总量(微法)1817.6传感器种类及个数CCD图像传感器,1个新增加伺服电机个数无赛道信息检测空间精度(毫米)3.5赛道信息检测频率(次/秒)50除MC9S12DG128之外其它主要芯片MC33886,LM1881,LM1117,MC34063,74HC14车模重量(带有电池)(千克)1.13第五章 理论分析与算法实现5.1 模型建立5.1.1 基于后轮差速的运动模型在车辆运动模型中,当车速不是很高的

25、情况下,车辆转向中一般可以参考下面的一个模型 图 5.1 Ackman汽车运动模型当小车转角为时候可以根据车长来求出小车当前的转弯半径 公式 1式中是小车的轴长,为小车的转角,为后轮转弯半径。然而这个模型只是适合在低速的情况下才能够得出较为精确的结果,鉴于本智能车的速度不高,在后轮差速很好的情况下,侧滑的因素将得到有效的抑制,可以考虑用这个模型来处理。考虑图5.2所示的以小车驱动轴中点为参考的运动模型,和为参考点运动的两个连续位置,、为后轴中点的速度方向,即小车的纵向,为小车初始的方向角,为小车的转向中心,那么可以得到13:图 5.2 智能车后轴中点运动模型 公式2其中是到时间内小车所走过的的

26、距离,是小车的横向角速度,是小车的后轮的转弯半径。由图中的几何关系可以得到: 公式3上式的结果即为小车后轴中点在运动过程中的轨迹方程,在足够小的情况下,随着和,的不断变化可以画出其运动轨迹。当给出小车的初始方向角和初始坐标时,就可以推导出任何时刻小车的坐标值。在下面考虑小车整个模型的时候,用后轮差速的已知量,或者前轮转角和后轮速度值来替换图中的变量就可以得到,基于后轮差速和基于前轮转角和后轮速度的运动方程。接下来我们考虑小车的整个模型,如图5.3所示。其中表示小车的轴间的距离,表示轮距的一半,表示小车的转角,表示小车后轮的转弯半径,中间的方向轮为虚轮。由图中所示的几何关系可以得到: 公式4将公

27、式2带入公式4可以得到: 公式5 图 5.3 智能车整车转向模型将图5.2的中反映的情况运用到整车的模型中去,当已知转角的情况下,用虚轮的转角近似等于前轮的转角,当后轮中点运动经过时,小车各个轮经过的距离和转角情况如图5.413所示: 图 5.4 智能车运动模型从上图的小车模型的几何关系中,我们很容易就能得到以下的结果: 公式6 公式7其中表示小车左后轮行驶的距离,表示小车右后轮行驶的距离,表示小车虚轮行驶的距离。由式6和7可以得到: 公式8那么只要能测量出小车两个后轮的行驶距离,就可以得出和的值,因此在小车两个后轮上分别安装上两个测速反馈,就能够得到想要的结果。结合式和公式8可以得到: 公式

28、9公式9所表示的模型就是基于后轮差速的运动模型,只要给出一开始小车的位置和方位角,就能够根据已知的几何关系递推的算出小车的后轴中点任何时刻的位置。 5.1.2 基于速度和前轮转角的运动模型当小车在运动中,如果在后轮安装上测速反馈,再根据当前小车转角的控制量的大小,就能够及时的得到小车的速度和转角的反馈值,那么由,结合公式3可以得出后轮中点的坐标为: 公式10也就是后轮中点连续两个位置的坐标变化为: 公式11 根据图5.2中的几何关系可以由后轮中点位置得出前轮中点位置的坐标,那么在连续两个状态的情况下前轮中点的坐标如下: 公式12 公式13 那么由公式12和公式13可以得到前轮中点在连续两个位置

29、上的坐标变化为: 公式14由上面的分析可以得出:只要知道当前的转角和速度值,以及图像处理时间间隔,结合小车一开始时候给出的位置和方位角,就能够逐步递推出小车前后轴中点在任何时候的位置,进而可以得出小车的运动轨迹。 在小车的运动过程中,小车根据当前采集到的图像,由控制算法可以得出小车在下一个运动区间内的该给出多大的速度和转角。那么如果在小车上建立一个动坐标系,只根据当前的图像计算出小车的速度和转角的控制量,就能够满足小车运动需求。如下图,在已经知道小车速度和转角的情况下,以小车的后轴中点为坐标原点,小车的后轴为轴,以小车的纵向为轴,由上面得出的结果可以很容易的得出下一个小车后轴中点和前轴中点位置

30、的坐标。从图中很容易得到后轮中点的坐标变化为: 公式15其中为小车在处理周期内经过的距离,即。因此由采集来的图像中知道坐标,时候,也可以由该公式反推出小车应该转过的角度,同时根据小车的机械性能和跑道的材质可以得出在该角度下不发生侧滑的最大速度,从而给出速度的参考量,详细的算法设计将在下面的内容中涉及。为了能够更好的实现控制算法及在实际情况下运用,可以将,在的情况下用泰勒公式展开可以作如下近似: 公式16将公式16代入道公式15中,则可以得到:将上式化简,进一步可以得到: 公式18经过测量小车前后轮距离,在速度约为两米每秒的时候,转角约为30度时,即。代入各量估算各项的值,经比较舍去较小量,得:

31、 公式19 图5.5中虚轮的位置即为前轮中点的位置,因此可以由所建立的坐标系求出前轮中点在整个运动过程中位置坐标的变化。 在不考虑侧滑的情况下,前轮中点的运动的圆心为,半径为,因此可得: 公式20其参数方程为: 公式21那么由图5.5中的几何关系可以得到: 公式22运用和差化积公式化简可以得到: 公式23再根据各量的值可以近似为: 公式24将式6(泰勒公式)代入到式24中,可以进一步得到: 公式25近似化简可以得到: 公式26由上面所得出的结果可以得出建立如上图的坐标系时前轮中点的变化为: 公式27 后轮中点的变化为: 公式28由于存在着一定的侧滑现像,且小车在行进过程中存在着舵机延时的问题,

32、所以上述公式在近似过程中,要偏小一点,会要大一点,这样在小车运动模型就能更好的接近现实情况。5.2 运动模型仿真根据上述的小车运动模型公式,并考虑到实际中舵机的延时问题。在假定小车速度为匀速,并且不发生侧滑的情况下,根据上面所得到的公式,用VC+14得到小车在运动过程中前后轮中点的位置坐标,再用Matlb仿真出小车的运动轨迹。小车的控制系统中图像采集和控制程序执行的时间约为,舵机的分析参数中可以得到舵机在这一段时间内能转过的角度约为15度,即约为0.25弧度。在以小车的后轴中点为原点,后轴为轴,小车的纵向为轴的坐标系中,本人用C+程序结合上述得出的公式,给出了小车在从0度转过45度角的过程中前

33、后轮中点各个坐标值。如图5.5即为小车的前后轴中点的坐标变化,对上面所得到的数据,用Matlab来仿真小车转过45度角的过程,可以得到图5.6的结果:图 5.5 前后轴中点坐标变化图5.6中两条曲线即为小车在转弯过程中前轮中点和后轮中点的变化曲线,将小车的前后轮中点连接起来,就可以得到小车在各个时刻的姿态变化,图5.7所示。如上述,对小车在各种转角(5度、10度、15度、20度、25度、30度)的情况下都作如上分析,那么就可以近似得出在理想情况下小车下一个状态的参数。这为下面的算法设计提供了理论上的依据和数据基础。 图5.6 智能车前后轴中点变化曲线 图 5.7 小车纵向变化5.3 控制算法对

34、智能车的控制就是对小车的速度与方向进行控制,我们比较了模糊控制和PID控制的优缺点,鉴于模糊控制在控制智能车运动方面的天然优势,我们选用了模糊控制算法法来控制小车,达到了较理想的效果。在横向上,即对小车的方向控制,我们采用了由采集图像上的绝对位置、相对位置和模型车速度三个变量组成的模糊控制器来控制;在纵向上,即对模型车的速度控制,我们采用了基于模型车当前速度和转角为输入的模糊控制。首先从采集到的图像进行分析,本智能车采用的是CCD图像传感器,能够得到足够多的图像信息,对采集来的信息均匀的取出90行30列,由于摄像头本身备旋转90度,所以得到的图像为30行90列,用边缘检测算法从信息中提取出黑线

35、的中心位置,这样的由黑线的中点位置就可以按一定的算法得出小车下一个状态。比赛的跑道路况不外乎3种,如下图:图5.8 跑道的三种情况要使智能车在最短的时间内完成比赛,那么在直道上要以全速行驶,在“S”道转向不大的情况下要尽量按直道行驶,在进入弯道时要减速,以使得在弯道上能够及时的转向,在弯道中和出弯的时候要加速,以使得在小车在进入直道时候就能够很快的达到最高速度。 控制算法的简单介绍PID控制介绍PID控制算法是根据偏差的值,按照一定的函数关系进行计算,用所得的运算结果对系统进行控制。PID控制有位置式控制和增量式控制,方程如下: 公式29 公式30在本智能车控制算法中,我们用位置式PID控制小

36、车的横向运动,即小车的转角。PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控

37、制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。例如:采用临界比例法。利用该方法进行 PID控制器参数的整定步骤如下:(1)首先预选择一个足够短的采样周期让系统工作;(2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期;(3)在一定的控制度下通过公式计算得到PID控制器的参数。在实际调试中,只能先大致设定一个经验值,然后根据调节效果修改。对于温度系统:P(%)20-60,I(分)3-10,D(分)0.53对于流量系统:P(%)40-100,I(分)0.11对于压力系统:P(%)30-70,I(分)0

38、.43模糊控制介绍15模糊控制实质上是用计算机去执行操作人员的控制策略,因而可以避开对像复杂的数学模型,力图对人们关于某个控制问题的成功与失败的经验进行加工,总结出知识,从中提炼出控制规则,实现复杂系统的控制。模糊控制有以下的特点:1) 模糊工程的计算方法虽然是运用模糊集理论进行的模糊算法,但最后得到的控制规律是确定性的、定量的条件语句。2) 不需要根据机理与分析建立被控对像的数学模型,对于某些系统,要建立数学模型是很难的,甚至是不可能的。3) 与传统的控制方法相比,模糊控制系统依赖于行为规则库,由于是用自然语言表达的规则,更接近于人的思维方法和推理习惯,因此,便于现场操作人员的理解和使用,便

39、于人机对话,以得到更有效的控制规律。4) 模糊控制与计算机密切相关。从控制角度看,它实际上是一个由很多条件语句组成的软件控制器。目前,模糊控制还是应用二值逻辑的计算机来实现,模糊规律经过运算,最后还是进行确定性的控制。模糊推理硬件的研制和模糊计算机的开发,使得计算机将像人脑那样随心所欲地处理模棱两可的信息,协助人们决策和进行信息处理。模糊控制器是模糊控制系统的核心,是模糊控制系统控制品质的主要保证,因此,在模糊控制系统中,设计和调整模糊控制器的工作是很重要的。模糊控制是以控制人员的经验为基础实施的一种智能控制,它并不需要精确的数学模型去描述系统的动态过程,因此,它的设计方法与常规控制器的设汁方

40、法有所不同。模糊控制器的设计,一般是先在经验的基础上确定各个相关参数及其控制规则,然后在运行中反复进行调整,以达到最佳控制效果。模糊控制器的设计主要考虑以下几项主要内容:1) 确定模糊控制器的输人变量和输出变量(即控制量);2) 设计模糊控制器的控制规则;3) 确立模糊化和解模糊的方法;4) 选择模糊控制器的输入变最及输出变量的论域,并确定模糊控制器的参数(如量化因子、比例因子等);5) 编制模糊控制算法的应用程序。5.3.2 方向控制PID算法设计16现在假设图像中每行的黑点中心位置依次存在数组CCDData里面,为了能够更好的反映曲线的变化方向性,我们取黑线的最远点偏离图像中心点位置的差值

41、作为控制的偏差,即,那么所得到的位置式PID控制量为:,其中4500位舵机控制量的中心位置,并用最远一点和最近一点的斜率来作为积分控制,这样做的好处是使得位置式算法中的积分量只是根当前图像中的信息有关系,而不是跟过去整个状态都有关,这样不容易产生较大的误差。在这里我们根据前面所得到的数学模型来推导出舵机PID控制的大概系数。首先我们只适用一个比例控制,由于舵机存在一定的延时,每处理一次图像只能转过15度左右,所在设定系数时候要予以考虑。摄像头高40cm,能够采集的图像位于小车前方8cm到58cm,宽为20cm到60cm,取其后十点的来作为控制参考点。下表给出了当后十点的平均偏差给定时候,由第三

42、章数学模型可得到其对应的前轮应该给出的角度值,以及由应该给出的舵机的比例系数。表 5.1 舵机控制的比例系数偏移单位358111417202628344045前轮转角369121518212427303336比例系数3340373635353530322927.527(表中偏移单位为所采集进来图像的行像素间的单位距离,前轮转角为虚轮的角度,单位为度)从上表中可以求出系数平均值为33,只有比例控制的时候,在直道上又可能存在抖动的情况(图5.9),且在“S”道上完全是跟踪黑线,没有优化效果,在大弯道的情况下有可能存在转向不够及时的情况。图5.9 比例控制时“S”道上的情况为了克服上面的问题,使得小

43、车的在直道上的抖动减弱,并且在在不是很大弧度“S”道上能够尽量按直线行驶的话,那么就需要加入积分量,这里指的是斜率分量,即;要使得小车的转向响应更快更及时,要适当的加入微分量,即。在对三个系数进行调节的时候,要注意下面的规律: 曲线振荡很频繁,比例度盘要放大; 曲线漂浮绕大湾,比例度盘往小扳; 曲线偏离回复慢,积分时间往下降; 曲线波动周期长,积分时间再加长; 曲线振荡频率快,先把微分降下来; 动差大来波动慢,微分时间应加长。模糊控制算法设计我们考虑到影响模型车转向的因素,不仅仅是模型车采集到的当前的图像信息,还有模型车当前的速度,在模型车的速度较低的情况下,模型车输出的转角应该较小,在模型车

44、速度较高的情况下,模型车输出的转角应该较大,为使得模型车能够很好的跟踪黑线,因此在方向控制算法中加入速度反馈的速度量是十分有必要的。我们用模型车采集到的当前图像的中的绝对位置信息和相对位置信息,加上当前反馈回来的速度量设计了下面的模糊控制器:图中的绝对位置信息为黑线与图像中心线的距离值,相对位置信息为黑线的斜率值,速度量为速度传感器的反馈值。 图5.10转向模糊控制器设计根据日常生活中的经验可以得到:1、当模型车在直线上行使时弱化舵机的转向,允许适当的偏离,只有当偏离达到一定的距离时,再进行校正。2、当模型车在“S”道上行使时弱化舵机的转向,使得模型车在“S”道上能够近似的跟踪圆弧的弦,当“S

45、”道上的圆弧的半径较大时候,模型车的轨迹近似为直线。3、进入大弯道的时候要能够给出较大的转角,使得模型车过弯时候更为流畅。下面将模型车得到的图像绝对位置、相对位置和速度信息模糊化,在这里我们使用梯形隶属度函数来表示,结果如图5.11所示。图5.11中(b),(d) 表示由图像坐标求得黑线斜率的隶属度函数,(b)是图像中有效的最远点横坐标减去最近点横坐标的值,因为在差值中存在负数,为了去掉负数,对参数中同时加上90,(d)是图像中有效的最远点的纵坐标减去最近点的纵坐标的值。 (a),(c),(e)表示由图像的绝对位置信息、相对位置信息和模型车反馈的速度值的隶属度函数,由此可以得出模型车当前应给出

46、的舵机控制量,(a)是图像中最远有效行的黑线中心点与图像中心点之间的距离,(c)与(b)相同,(e)为当前的速度量,这里用速度控制量的大小来代表实际反馈的速度值。而(f)则为(b),(d)的输出函数,即图像斜率。(g)则为(a),(c),(e)的输出函数,即舵机控制量的输出函数。图5.11转向控制隶属度函数图5.11中(b)减去90后,左大-89,-88,-65,-40,左小-65,-40,-30,-5,中间-30,-5,5,30,右小5,30,40,65,右大40, 65,88,89。图中(d),极小1,2,4,8,较小4,8,10,14,中间10,14,16,20,较大16,20,22,2

47、6,极大22,26,29,30。 规则表如表5.2所示:表5.2 斜率模糊控制表 纵坐标差横坐标差极小较小中间较大极大左大左大左大左中左小中间左小左大左中左小中间右小中间左中左小中间右小右中右小左小中间右小右中右大右大中间右小右中右大右大图5.11中(a)左大1,2,14, 26,左小14,26,31,43,中间31,43,48,60,右小,48,60,65,77,右大65,77,89,90。图中(c) 1到50为左大,25到85为左小,60到120为中间,95到155为右小,130到180为右大。规则表如表5.3(a)所示:表5.3 方向模糊控制规则表(a) 横坐标斜率左大左小中间右小右大左

48、大左大左大左小左小中间左小左大左小左小中间右小中间左小左小中间右小右小右小左小中间右小右小右大右大中间右小右小右大右大图5.11中(e) 3D到3F为低,3E到41为较低,40到43为较高,42到44为高。那么结合上一个模糊控制表的输出和图(e)中的速度信息便可以得到控制规则表5.4(b):表5.4 方向模糊控制规则表(b) 速度方向控制1低较低较高高左大左中左中左大左大左小左小左小左中左中中间中间中间中间中间右小右小右小右中右中右大右中右中右大右大5.3.3 速度控制模糊控制器的设计: 由常理可以得到,当小车的转角给定时,那么小车的最高速度也是一定的,因此由方向控制算法得出的小车的转角值是速

49、度控制的一个重要的输入量,另外通过测速反馈得到的当前速度也应该是速度控制的输入量。那么速度控制器的输入量为角度量angle和速度量velocity,输出的为控制电机速度的PWM波占空比。控制系统的结构设计如下:图5.12 速度模糊控制器系统结构因为角度控制量的PWM值是与小车的转角一一对应的,所以由角度量就可以知道小车的转角的大小,我们将小车转角的大小分为9种情况。而对小车的速度,我们根据跑道的情况,在转弯的最小速度值到直道上的最大速度值之间分为8种情况。他们的模糊化采用的是常用的三角形隶属度函数,输出的隶属度函数采用单点值,如图5.13。图5.13 速度控制隶属度函数图根据车体的物理运动学规律和日常生活中的经验,为了使车行使的平均速度最大且保证不偏离车道,可以总结出模糊控制规律如下:1、如果小车在直道上,小车以高速行驶,并且黑线在小车的正中,则以小车的最高速度行驶。2、如果小车要进入弯道,则要减速,如果已经进入弯道,则要加速,以使得驶出弯道进入直道

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论