网站大量收购独家精品文档,联系QQ:2885784924
  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1 路径识别算法 1.1 抛物插值法 拉格朗日插值多项式: 当n=2时,此公式称为抛物插值。设,且,代入拉格朗日插值多项式可得抛物线方程,并对抛物线方程求导数,令导数等于零,可得: 就是所要得到的车模偏离跑道中心的距离。 1.2 最小二乘法 为保持精度,令m=4,选择函数类型,上式可写成: 令,, 已知是偏移量,把上述式子的解代入化简得: 2 控制算法 2.1数字PID控制 2.1.1 PID控制规律: 比例环节。跟随性好,能即时成比例地反映控制系统的偏差信号e(t),Kp增大,系统动作灵敏。在系统稳定的情况下,增大Kp,有利于减小稳态误差,提高系统控制精度,但随着Kp过大时,系统趋于不稳定。 积分环节。由上式知,它是对误差e(t)进行积分,用于消除静差,提高系统的无差度。Ti过小,积分作用强,系统将不稳定,振荡次数增多;Ti过大,积分作用小,影响控制精度。 微分环节。反映偏差信号的变化速率,并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度。对于滞后时间长的系统应增大微分的作用。 2.1.2 流程图 增量式PID算法流程图 #includestdio.h #includemath.h main() { float a,b,c,u=1,u1; int i; float e0,e1,e2,v; printf(input v: ); /*程序中所用的输入输出函数都只是用于调试*/ scanf(%f,v); a=1.01; b=0; c=0.01; e1=e2=0; e0=v; for(i=0;i=20;i++) { u1=a*e0+b*e1+c*e2; u=u+u1; e2=e1; e1=e0; printf(u=%-10f,u); printf(i=%-10d\n,i); u=3*u+7; e0=v-u; } } 显然,PID的参数是非常难以确定的(当模型是不精确的时候)。 积分分离PID算法 2.1.3 PID参数的整定:(常用方法) 扩充临界比例度法; 扩充响应曲线法; 归一参数整定法; 利用人工智能方法将人工整定PID参数的调整经验作为知识和推理规则存入计算机系统中,从而自动实现对PID参数的最佳调整。 PID控制参数的自动整定: 初始确定PID控制参数; 2.在初定的PID控制参数上,根据系统的响应过程和控制目标期望值,自动修正初定的PID参数,直至系统的控制指标符合要求。 2.2 模糊控制 2.2.1 模糊化 模糊化的主要功能是根据输入变量的隶属度函数,求出精确的输入值相对于输入变量各语言值的隶属度。简单地说,模糊化过程就是在隶属度图形中,已知X轴值求Y轴值的过程。最后得到一个集合,将它作为推理机的输入。其中,重要的一点是如何去确定隶属度函数。通常有以下几种方法: Delphii法;(2)模糊统计法;(3)增量法;(4)因素加权法。 2.2.2 模糊规则推理 模糊规则推理是模糊控制器的核心,它的输入输出都是模糊量。模糊化后得到的集合作为输入,输出量是输出变量各语言值的隶属度。完成这一步骤的必要条件是确定输出模糊变量的隶属度函数及建立模糊规则库。通常把规则库做成表格的形式。 模糊推理的方法有多种,常用的MAX—MIN法: 由于规则前件间用AND操作符连接,因此,每一条规则的强度等于前件中的最小值。这个值就是此规则的强度。 没有相同后件的规则强度就是由(1)所得到的强度;当有相同后件时,模糊输出取其最大值。 2.2.3 反模糊化 模糊规则推理的输出是集合,必需经反模糊化,将模糊的控制量变为精确的控制量。常用方法:最大隶属度法,重心法(加权平均法)。其中重心法能较多地反映有效信息。 2.2.4 模糊规则推理的数学理论 当输入是在某一范围内时,可把它离散化(输入将被压缩或扩大),并将输入输出隶属度函数制成表格的形式(矩阵)。如果推理规则的形式是If A and B then U , 推理过程: (1)。笛卡尔积求模糊矩阵D=AⅹB; (2)。将D改写为D`=[d11,d12,……..d1n,d21,d22,….dnm]; (3)。求关系矩阵R=D`ⅹC; 若模糊化后得E,则输出的模糊量是E0C; 如果论域较大,按这种形式编程,计算量将非常巨大。当硬件不高档时,实用性不强。所以要预先计算出控制表,以此减少计算量。由于输入输出都经过了离散化,控制较生硬。 #includestdio.h int R[3][5]={{60,60,60,60},{20,40,40,40},{20,20,20,20}}; struct tt {float t; float u; }; main() {int i,j,p=0; fl

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档