智能无人驾驶汽车计算机控制系统资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智能无人驾驶汽车计算机控制系统
一、智能无人驾驶汽车计算机控制系统简介
1、智能无人驾驶简介
智能无人驾驶汽车是一个集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,对车辆的操作实质上可视为对一个多输入、多输出、输入输出关系复杂多变、不确定多干扰源的复杂非线性系统的控制过程。驾驶员既要接受环境如通路、拥挤、方向、行人等的信息,还要感受汽车如车速、侧性偏移、横摆角速度等的信息,然后经过判断分析和决策,并与自己的驾驶经验相比较,确定出应该做的操纵动作,最后由身体、手、脚等来完成操纵车辆的动作。因此在整个驾驶过程中,驾驶员的人为因素占了很大的比重。一旦出现驾驶员长时间驾车、疲劳驾车、判断失误的情况,很容易造成交通事故。
二、系统的控制要求
(1)系统中心控制部件(单片机)可靠性高,抗干扰能力强,工作频率最高可达到25MHz,能保障系统的实时性。
(2)系统在软硬件方面均应采用抗干扰技术,包括光电隔离技术、电磁兼容性分析、数字滤波技术等。
(3)系统具有电源实时监控、欠压状态自动断电功能。
(4)系统具有故障自诊断功能。
(5)系统具有良好的人性化显示模块,可以将系统当前状态的重要参数(如智能车速度、电源电压)显示在LCD上。
(6)系统中汽车驱动力为500N时,汽车将在5秒内达到10m/s的最大速度。
一、系统总体方案设计
1、系统总体结构
整个系统主要由车模、模型车控制系统及辅助开发系统构成。
智能车系统的功能模块主要包括:控制核心模块、电源管理模块、路径识别模块、后轮电机驱动模块、转向舵机控制模块、速度检测模块、电池监控模块、小车故障诊断模块、LCD 数据显示模块及调试辅助模块。每个模块都包括硬件和软件两部分。硬件为系统工作提供硬件实体,软件为系统提供各种算法。
2、控制机构与执行机构
智能车主要通过自制小车来模拟执行机构,自制小车长为34.6cm,宽为24.5cm,重为1.2kg,采样周期为3ms,检测精度为4mm。
控制机构中,主控制核心采用freescale16位单片机MC9S12DG128B。系统在CodeWarrior 软件平台基础上设计完成,采用C语言和汇编语言混合编程,提供强大的辅助模块,包括电池检测模块、小车故障诊断模块、LCD数据显示模块以及调试辅助模块。在路径识别模块,系统利用了freescaleS12系列单片机提供的模糊推理机。
3、控制规律
因为系统电机控制模块控制小车的运动状态,其在不同阶段特性参数变化很大,故采用数字PID控制器,该控制器技术成熟,结构简单,参数容易调整,不一定需要系统的确切数字模型。
4、系统各模块的主要功能
控制核心模块:使用freescale16位单片机MC9S12DG128B,主要功能是完成采集信号的处理和控制信号的输出。
电源管理模块:对电池进行电压调节,为各模块正常工作提供可靠的电压。
路径识别模块:完成跑道信息的采集、预处理以及数据识别。
后轮电机驱动模块:为电机提供可靠的驱动电路和控制算法。
转向舵机控制模块:为舵机提供可靠的控制电路和控制算法。
速度检测模块:为电机控制提供准确的速度反馈。
电池监控模块:对电池电量进行实时监控,以便科学的利用,保护电池。
小车故障诊断模块:对小车故障进行快速、准确的诊断。
LCD数据显示模块:显示系统当前状态的重要参数。
调试辅助模块:使得小车调试更加方便。
5、系统的开发平台
系统软件开发平台采用CodeWarrior for S12
二、系统硬件和软件设计
1、系统的硬件设计
系统硬件系统框图如下:
以下按各模块来分别设计本硬件电路:
(1)电源管理模块:
电源管理模块的功能对电池进行电压调节,为各个模块正常工作提供可靠的工作电压。电源管理模块采用7.2V、2000mAh镍镉电池以及LM2576(5V),LM317(6V)稳压芯片构成。
(2)微处理器:采用微处理器MC9S12DG128
(3)路径识别模块:
红外发射管和红外接收管以及达林顿管ULN2803A作为路径识别的传感器。采用双排传感器的策略,第一排传感器专门用于识别路径以及记忆路径的各种特征点,第二排传感器专门用于识别起始位置与十字交叉路口,由于不同传感器的功能不一样,因此它们的布置与安装位置也是不同。
(4)后轮驱动和速度检测模块:
驱动直流电机的型号为RS—380SH,输出功率为0.9W—40W。电机驱动部分采用了两块MC33886组成的全桥式驱动电路,可以控制电机的反转以达到制动的目的。
(5)转向舵机模块:
凡是需要操作性动作时都可以用舵机来实现。本设计采用的舵机型号为HS—925(SANWA),尺寸为39.4*37.8*27.8,重量56kg,工作速度0.11sec/60(4.8V),0.07sec/60(6.0V),堵转力矩6.1kg。
(6)电源电压检测模块
智能车采用镍镉电池供电,本模块用到的主要器件为光电耦合芯片TLP521—2以及运算放大器LM324。
(7)液晶显示模块:LCD 控制器HD44780。
(8)辅助调试模块(红外遥控):
本模块主要用红外接收器HS0038A 和红外遥控器来进行遥控控制。
(9)故障诊断模块:
利用单片机的SCIO 口,通过RS —232接口与上位机连接起来,通过软件编程,小车不断的向上位机发送代码,通过故障代码就可以马上诊断出故障源。
2、系统的软件设计
(1)后轮驱动电机控制算法
采用数字控制器的连续化设计技术PID 控制算法来控制本部分电路。
PID 控制器的传递函数为:
2()1()(1)()D p I I p D p D I K s K s K K U s D s K T s K K s E s T s s s ++==++=++=
设定Kp= 1500进行测试,此时仿真静态值与静态误差以及上升时间已基本满足系统需求,从而完全可以通过继续增加比例系数来调节系统特性,进而理论上可以省去积分环节。但是随着比例系数的增加动态过程将让人不满意,其动态变化将过快,从而给驾驶人员带来身体上的不适,增加积分环节:
积分环节的加入可以调节系统的静态误差。设定Kp=1000,Ki= 50系统基本实现设计要求
所以综上所述,我们设计的PID 控制器的传递函数为:
()100050()()U s s D s E s s +==,采样周期为T=0.1s 。
然后,利用数字控制器的离散化设计步骤来设计本系统。通过前面的分析,知道被控对象的连续传递函数为:()1()Y s U s ms b =
+。其中,m=1000,b=50。因为零阶保持器的传递函数为:
1()Ts
e H s S --=。所以得到广义对象的脉冲传递函数为: