版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、没有一种控制算法比PID调节规律更有效、更方便的了。现在一些时髦点的调节器基本 源自PID。甚至可以这样说:PID调节器是其它控制调节算法的妈。 为什么PID应用如此广泛、又长久不衰? 因为PID解决了自动控制理论所要解决的最基本问题,既系统的稳定性、快速性和准确性。 调节PID的参数,可实现在系统稳定的前提下,兼顾系统的带载能力和抗扰能力,同时,在 PID调节器中引入积分项,系统增加了一个零积点,使之成为一阶或一阶以上的系统,这样 系统阶跃响应的稳态误差就为零。 PID参数的一 由于自动控制系统被控对象的千差万别, PID的参数也必须随之变化,以满足系统的性能要 求。这就给使用者带来相当的麻
2、烦,特别是对初学者。下面简单介绍一下调试 般步骤: 1负反馈 PID算法时,误差=输 自动控制理论也被称为负反馈控制理论。首先检查系统接线,确定系统的反馈为负反馈。例 如电机调速系统,输入信号为正,要求电机正转时,反馈信号也为正( 入-反馈),同时电机转速越高,反馈信号越大。其余系统同此方法。 2. PID调试一般原则 a.在输出不振荡时,增大比例增益 P。 b.在输出不振荡时,减小积分时间常数 Ti。 C.在输出不振荡时,增大微分时间常数 Td。 3.般步骤 a.确定比例增益P 确定比例增益 P时,首先去掉 PID的积分项和微分项,一般是令Ti=O、Td=0 (具体见PID的 参数设定说明)
3、,使PID为纯比例调节。输入设定为系统允许的最大值的60%70%,由0逐渐 P逐渐减小,直至系统 加大比例增益 P,直至系统出现振荡;再反过来,从此时的比例增益 振荡消失,记录此时的比例增益P,设定PID的比例增益P为当前值的60%70%0比例增益P 调试完成。 b.确定积分时间常数 Ti 比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然后逐渐减小Ti,直至系统出 现振荡,之后在反过来,逐渐加大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分 时间常数Ti为当前值的150%180%。积分时间常数 Ti调试完成。 C.确定积分时间常数Td 积分时间常数 Td一般不用设定,为0即
4、可。若要设定,与确定 P和Ti的方法相同,取不振荡 时的30%。 d.系统空载、带载联调,再对PID参数进行微调,直至满足要求 (第一届清华) 为了实现PID控制所需要的等间隔采样,我们使用了一个定时中断,每2ms进行一次数据 采样和PID计算。与此并行,系统中还设计了一个 转速脉冲检测中断,从而实现了转速检测。 为了调试的需要,程序中还在mainO函数中加入了相关的调试代码,这部分代码有最低的优 先级,可以在保证不影响控制策略的情况下实现发送调试数据等功能。检测环节对整个控制系 统的质量起到至关重要的作用 (第二届武汉科技首安) 4.3.2 PID控制调整速度 vi_Ref 比较,由 本系统
5、采用的是增量式数字PID控制,通过每一控制周期(10mS读入脉冲数间接测得小 车当前转速vi_FeedBack,将vi_FeedBack与模糊推理得到的小车期望速度 以下公式求得速度偏差error1与速度偏差率d error 。 error1 = vi_Ref -vi_FeedBack; (公式3) d_error = error1 -vi_PreError; (公式4) 的平均速 2.5m/s PID调节速度,则 公式4中,vi_PreError 为上次的速度偏差。考虑到控制周期较长,假设按 度计算,则一个控制周期小车大概可以跑过2.5cm,如果按这种周期用上述 会导致加速减速均过长的后果,
6、严重的影响小车的快速性和稳定性。为了解决这个问题,可以 在PID调速控制中加入BANG-BAN控制思想:根据error1的大小,如果正大,则正转给全额 占空比;如果负大,则自由停车或给一个反转占空比;否则就采用PID计算的占空比。 (第一届华中科大) 4. 2.3 PID算法程序实现 PID算法在参数设置合理的情况卜FJ以达到很好的控制效果。通过理论分析, 加入积分环节可以消除稳态误差,加入微分可以提高响应速度。通过实际对小 车的试验中,积分环节效果十分明显,即便在积分系数I很小的时候,依然会造 成舵机响应的缓慢,使得小车难以及时对赛道的变化作出响应;同时在比例控 制匕小车在直道行驶过程中已经
7、基本没有稳态误差存在,因此加入积分环节 意义不大叫 在实际系统中,小车的PID参数是根据路况来进行动态调整的,尽杲最大限 度的扬氏避短。 小车系统中,PID控制器以比例(P)控制为主,对于积分(I)和微分(D) 采取有条件的选用,具体操作方法如卜:当小车进入弯道的时候,加入微分环 节,以使舵机迅速反应,克服弯道扰动;当进入直道时,加入积分控制,使小 车保持平稳运行,但积分系数(I)取值微小,避免山于反应过慢而引起的小车 运行不稳。 图4中的振荡分析模块对于控制过程至关重要,既是采用PI或者PD控制的 依据,同时也是系统对于采用其他辅助控制算法的依据。该模块通过计算近一 段时间(50次传感器采样
8、)内偏差屋的均方差来得出小车运行路线同实际路线 的离散程度即判断小车是否运行稳定,具体细节将在5.1节中进行介绍。 根据振荡分析模块的输出结果,程序会判断是采用PI控制还是PD控制或者 单纯的P控制,使得小年控制更具针对性,效果更好。 图4中的振荡分析模块对于控制过程至关重要,既是采用PI或者PD控制的 依据,同时也是系统对于采用其他辅助控制算法的依据。该模块通过计算近一 段时间(50次传感器采样)内偏差屋的均方差来得出小车运行路线同实际路线 的离散程度即判断小车是否运行稳定,具体细节将在5.1节中进行介绍。 根据振荡分析模块的输出结果,程序会判断是采用PI控制还是PD控制或者 单纯的P控制,
9、使得小车控制更具针对性,效果更好。 积分控制. 聲控制. P +I+D 图4 PID算法示意图 5. 1振荡检测 本项口中小车对于行驶策略的选择都是依据小车对振荡情况的判断。该振荡 检测模块就是实现判别小车振荡剧烈程度(即稳定性系数)的功能。 对于振荡检测,通过分析小车域近一段时间的振荡状况来进行判断。该算法 使用一个链表来存储位S偏差信息,记录瑕近50次的偏差值,在第51次传感 器信息到来时,把最开始第一次的数据整个存储空间中弹出,以保证链表中始 终保存域近50次的位賈信息。将这50次偏差的均方差和标准差,作为稳定性 系数。每次采样结束,程序进行一次链表的操作,进行一次均方差和标准差的 计算
10、,并对稳定系数进行判断,是否进入振荡状态。 的存储空间.当然,具体压缩效率山指令变化频攣程度血仃所不同4, 当小忙肯圈运行结束,通过判断赛道的起始线来确定是否调用记忆的路况. 则在以数圈内,小牛运彳丁到赛道的特定部位时”可以不依赖传感器,而根!)!; 经验来进行更有效的控制.本项U中,小车通过计算进入直道的时间,可以在 弯道到来之前进行减速:在连续小幅弯道到来时时,可以直接从道路中心穿越 而不必完成连续拐弯的动作. (第一届 上海电力) PID控制算法 为了使赛车平滑得保持在黑线中央,即使赛车的偏移量平滑地保持在0,实用了 PID控制 算法。 P为比例参数,D为微分参数。基准值为0,PID输入
11、为水平偏移量X0, PID输出为转角, 转角方向:向左转为正,向右转为负。 P参数在智能车控制器中表示 水平偏差量的权,D参数在智能车控制器中表示 度的权。 水平偏差速 水平偏差量直接反映了赛车 偏离黑线的程度,例如赛车偏向黑线的左边越厉害, 右转角度将越大。水平偏差量,是 PID控制器的P部分。 则赛车的 水平偏差速度则直接反映了赛车的 运动倾向,因为有了赛车的水平偏差速度, 握,将更加精确。例如赛车偏向黑线左边,然而它的运动方向是向右的,那么,他的转角将比 向左运动时的转角要小,因为,我知道赛车已经开始朝正确的方向调整了。 水平偏差速度,是 PID控制器的D部分。 对赛车的掌 通过两个相隔
12、一定采样时间的水平偏差量的差,来得到赛车的水平偏差速度。然而,这个 时间间隔多少比较合适呢? 爪水平幅移a -J 水水f徧參速度(柑袖个H问间湖 爪水平偏移逸度(相邻3个时仙耐隔 -2 爪水平偏移速度(利邻名个时何间隔) 图3.3 上述函数图像的横坐标为采样时间t,每小格为4ms第1幅图像的纵坐标为赛车水平偏 差量;第2幅图像的纵坐标为间隔为1的时候水平偏差速度;第3幅图像的纵坐标为间隔为3 时候水平偏差速度;第3幅图像的纵坐标为间隔为5的时候的水平偏差速度。 由上图可知:相邻采样点越远,数据的值域越大,更有利于描述车辆的偏差程度,但是, 会降低赛车判断的响应度;相邻采样点越近,数据的值域越小
13、,0状态越多,不利于描述赛车 的偏差程度,但是有利于响应赛车的偏差程度,所以,这个相邻的数量要适中。上图中,间隔 3比较合适。 来看一下PID控制器的结构。 ttdefine typedef LAST_ERftOR_HUM 10 struct int SetPoint; / Desired Ualue int int Proportion; Deriuative; /Z / Const Const int LastErrot-LAST ERROR NUM); / Last Error PD; /Create a Global PID object for Angle Change PD sPD
14、; Proportion 为的P参数,Derivative 为的D参数,LastError 为的水平偏差量队列,水 平偏差速度即队尾-队头,队列长度为LAST_ERROR_NU即表示间间隔。通过实验,长度 20 比较合适。 有了偏差 Error,有了 dError=LastError0- LastErrorLAST_ERROR_NUM,输出值为 PID_Out put = Prop orti on * Error + Derivative * dError。 3.6 PID控制算法的改进 通过实验和软件仿真,发现,PID控制器并不是在任何情况下,都是最优的选择,比如, 在直线上,PID控制器的
15、调整时间,远大于枚举调整法,而在严重偏离的时候,由于赛车的水 平偏移量已经固定不变,所以,也没有必要使用PID控制了。所以,将赛车的状态分成了 3 种,下面逐一介绍并说明智能车在这一状态下的控制算法。 1:赛车处于直线状态:如果赛车居中,则转角 =00如果赛车在右边,则转角=2。如果赛 车在左边,则转角=-2。电机占空比均为最高。 2:赛车处于严重偏离状态:如果赛车严重偏左,则赛车右转最大角度。如果赛车严重偏 右,则赛车左转最大角度。电机占空比均反向,表示刹车。 :则将赛车的水平偏移量作 最后,通过一个一次函数, 第1种,是稳定过弯,即水 3:赛车处于一般弯道状态(即赛车有偏移,但能检测到黑线
16、) 为PID控制器的输入,然后经过PID运算,得出的值为转角的映射。 将输出映射成转角的值即可。对于电机的控制,抽象出3种情况。 平偏移速度很小,这时候,米用加速过完的策略。第 2种,是极不稳定的情况,即水平偏移速 度很大,这时候,采用刹车策略。第3种,是一般情况,此时,采用匀速通过转弯的策略。实 验证明,这种抽象可以使赛车适应几乎任何曲率半径小于500mn的弯道。 模拟量的采集和PD控制 模拟量的采集和位置、角度计 模拟量采集 传感器仍然是红外光耦传感器,接收管输出不经过施密特触发器转化成数字量,而是接到 单片机的A/D转换接口进行转换。 位置计算 较简单的办法是用类似于长杆求重心 除以所有
17、传感器输出之和即可得到连 全局求位置法 通过各个传感器的信号可以计算出连续的黑线位置, 的方法,将各个传感器输出分别乘以传感器位置再求和, 续的位置信息。这之前需要做一些准备工作,由于不同传感器具有差异,直接用A/D转换的结 果计算位置误差较大。为了避免传感器差异造成的影响, 我们采用了先定标再用相对值进行加 权计算的办法,具体过程为:程序开始前让每个传感器在赛道上进行扫描,分别记录每个传感 器输出信号的最大值 max(对应读到黑线中心的情况)和最小值 min (对应远离黑线读到白色 赛道的情况),用最大值减去最小值得到每个传感器在赛道上的输出范围,小车行使过程中, 将每个传感器输出的信号减去
18、最小值, 再除以该传感器的输出范围即可得到其相对输出值,再 用每个传感器的相对值与传感器位置作加权平均得到的结果即为黑线位置。公式为 POS =(艺VnPn)/(送Vn),其中pos为位置,V为第n个传感器的相对输出值,Pn为第 n个传感器的位置。y 这种方法消除了传感器差异造成的影响,并能够得到相对十分连续的位置信息,相邻两次 位置间隔小于0.5mm然而,全局求位置法在某些入弯情况会造成计算错误,黑线与传感器排 列方向夹角越小错误越大。这是由于此时多个传感器离黑线较近,因此输出值较大,原本黑线 位置较大时经过全局加权平均计算结果将偏小,用LCD(自制的调试手段,用LCD实时显示程 序变量等信
19、息)显示测量结果,误差可达 36% (正确位置为7cm显示值为4.5cm),这种情况 将造成小车转向不足,冲出赛道。解决办法是采用下面介绍的对称求位置法。 1.1.1.1.对称求位置法 对称求位置法的准备工作与全局求位置法相同,使用的是传感器的相对输出值,先判断出 输出值最大的传感器,也就是离黑线最近的传感器,然后根据该传感器进行对称加权平均求黑 线位置。对称求位置又分为奇数对称求位置和偶数对称求位置 ,参与计算传感器个数在传感器 总个数的约束下应尽可能大,即两端的传感器总是至少有一个参与计算。 在前面所述情况下,误差为7%(正确位置为7cm显示值为6.5cm)。对称求位置法与全局 求位置法相
20、比稳定性强,但由于有公式的切换,位置的连续性不如全局求位置法。 但当传感器 调节得较好时,二者可以有相同的连续性,因为公式切换时被舍弃的传感器和新加入计算的传 感器输出均为0,这一点可以通过后面介绍的去除定标误差办法实现。 1.12角度计算 1.1.2.1.多项式逼近 双排直线传感器分别计算黑线位置, 将结果之差除以传感器间距再进行反正切运算即可得 到角度值。反正切运算通过多项式逼近用多项式计算实现,我们的传感器测量角度范围约为 也0。,与舵机转向范围相同,在这个范围内,一次多项式对反正切函数的逼近效果很好。 1.1.3.去除干扰 1.1.3.1.去除定标误差 由于程序开始前确定每个传感器的最
21、大值和最小值过程存在一定误差,即该最大值和最小 值并不分别等于小车运行时传感器读到黑线中心和读到远离黑线的白色赛道时的输出值,这就 造成很可能所有传感器相对输出均不为 0,在用对称求位置法计算时,切换公式时会使计算结 果产生跳动,连续性变差,影响微分控制的效果。解决这一问题的办法是:扫描求出最大值和 最小值后,将最小值加上输出范围的a%(如10%得到新的最小值,再计算每个传感器的输出 范围。通过调整传感器角度、位置,调节接收管上拉电阻和a的值,用LCD显示每个传感器的 相对输出值,得到以下效果为最好:相对输出不为 0的传感器个数只为2或3,若最边上的传 感器相对输出不为0,则该个数只能为2。这
22、个条件不难满足,满足条件后(实际条件要更宽 松一些)对称求位置法的连续性将与全局求位置法的连续性相同。 1.1.3.2. 去除地图干扰 由于地图中的十字线、起点线和地图外的场地会导致计算出错误的黑线位置,使小车控制 出错,通过设定以下约束可以解决这些问题:a.所有传感器输出都低于一个阈值时不计算新位 置b.输出超过阈值的所有传感器并非连续安放的传感器时不计算新位置c.输出最大且超过阈 值的传感器与上一个满足该要求的传感器不相邻时不计算新位置。 1.1.4.连续性检测 用LCD输出位置计算结果,相邻两次位置间隔小于0.5mm相邻两次角度间隔小于o.1 1.2. PD 控希 y 1.2.1. 比例控制 位置控制中的比例控制采用了 分段比例控制 ,位置较小时与位置较大时设置不同的比例 带,原因是传感器宽度有限,检测的位置范围也就有限,统一的比例带过大会导致小车振荡, 过小导致最大控制量偏小, 小车转向不足, 过弯时冲出赛道。 使用分段比例控制既方便又可以 解决以上两种问题。 角度控制设置了死区, 由于检测角度为 0 时,即使在直道上小车轴线与黑 线也不严格平行,因此角度控制需要设置死区,以避免由此引起的小
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 本科生招生信息
- 学生保送及加分政策解读
- 2025年度个人住宅买卖委托合同(含税费结算)
- 2024校园安全教育宣传合同
- 2024年09月江苏华夏银行无锡分行支行行长招考笔试历年参考题库附带答案详解
- 2024版礼堂场地租赁合同范本
- 2024食品配料行业研发中心员工保密合同书范本3篇
- 2025年度运动装备试用销售合同范本3篇
- 2025年度数据中心物业委托管理与维护合同4篇
- 二零二五年度门窗配件进口代理合同4篇
- 河南省郑州市2023-2024学年高二上学期期末考试 数学 含答案
- 2024年资格考试-WSET二级认证考试近5年真题集锦(频考类试题)带答案
- 试卷中国电子学会青少年软件编程等级考试标准python三级练习
- 公益慈善机构数字化转型行业三年发展洞察报告
- 饲料厂现场管理类隐患排查治理清单
- 2024年公需科目培训考试题及答案
- 【名著阅读】《红岩》30题(附答案解析)
- Starter Unit 2 同步练习人教版2024七年级英语上册
- 分数的加法、减法、乘法和除法运算规律
- 2024年江苏鑫财国有资产运营有限公司招聘笔试冲刺题(带答案解析)
- 2024年辽宁石化职业技术学院单招职业适应性测试题库含答案
评论
0/150
提交评论