已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机检测与控制技术X课程设计报告题 目: PID对智能小车的应用姓 名: 吕振班 级: 电信14-1班学 号: 3140718181摘要:在智能车比赛过程中,小车需要不停的检测前方道路信息以及自身的行驶信息,在检测过程中会有复杂信息需要采集并多种干扰因素需要抗拒。将检测到的道路信息与自身行驶信息相结合,以确定下一步动作,直道就加速,入弯道就减速入弯,由弯入直再加速。在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。关键词:智能车;PID控制;检测;PID vague control and its application in smartcarAbstract: In a Smartcar game, there is a need for cars to detect the information of the front road and the car itself. There will exist so much interference during the detection which are required to be resisted. Combining the two types of information, we can decide the next action: speed up when in straight road, speed down when go into a tortuous path and speed up again when it goes into the straight path. In an engineering project, the most widely used control principles are proportion, integration, differential, we call it PID for short or PID regulation. It becomes one of the main techniques for its simple structure, good stability, reliability for work, convenience for regulations. When it is impossible for us to completely control the structure and parameter of the controlled subject, or we are unable to gain a exact math model, other techniques are hard to be put into apply, and the structure and parameter of the controller must be relied on the experience and scene, it is the best time to apply PID regulation. That is to say that when we do not gain enough information about a system or a controlled subject, or we cant achieve systemic parameter by effective methods, it is the right time to take PID technique. In practical, there are still PI control and PD control. PID control is a way to control according to the systematic deviation and proportion, integration and differential to calculate the controlled variable.引言本文以通俗的理解,以小车控制举例说明PID的一些理解。由于外界原因,小车的实际速度有时不稳定。其二,要让小车以最快的时间达达到既定的目标速度(小车通过PWM波来控制小车的速度)。其三,速度控制系统是闭环,才能满足整个系统的稳定要求,必竟速度是系统参数之一。PID控制,速度快,调节灵敏,能实现准确性,实时性,这样使智能车在比赛过程中速度调整上升了一个高度。也为智能车在比赛过程中获得更好的名次做成了很大的贡献。1 PID简介1.1目前工业自动化水平已经成为衡量各行各业现代化水平的一个重要标志。同时,控制理论的发展也已经经历了古典控制理论,现代控制理论和智能控制理论三个阶段。智能控制的典型实例是模糊全自动洗衣机等。自动控制系统可分为开环控制系统和闭环控制系统。一个控制系统包括控制器,传感器,变送器,执行机构,输入输出接口。控制器的输出口经过输出接口,执行机构,加到被控系统上;控制系统的被控量,经过传感器,变送器,通过输入接口送到控制器。开环控制系统:开环控制系统(Open-loop control system)是指被控对象的输出(被控制量)对控制器的输出没有影响。在这种控制系统中,不依赖将被控量反送回来以形成任何闭环回路闭环控制系统:(Closed-loop control system)特点是系统被控对象的输出会反送回来影响控制器的输出,形成一个或多个闭环。闭环控制有正反馈和负反馈。若反馈信号与系统给定值信号相反,则称为负反馈,若极性相同,则称为正反馈。阶跃响应:是指一个阶跃输入加到系统上时,系统的输出。Kpe+UYKi/s对象+-+Kds图1 PID控制流程如图所示,其中,D(S)为控制器,完成PID控制规律。比例(P)控制器U(t)=e(t)比例+积分(PI)控制器U(t)= e(t)+比例+积分+微分(PID)控制器U(t)= e(t)+以上各式中,Kp比例放大系数; Ti积分时间; Td微分时间1.2 PID一般有两种:位置式PID和增量式PID+eyurPID置位控制受控对象图2 位置式PIDPID算法表示为 U(k)=Kpe(k)+KiKde(k)-e(k-1)+Uo式中U(k) 第K个采样时刻的控制 Kp 比例放大系数Ki= 积分放大系数Kd= 微分放大系数Ts 采样周期ye+步进电机u受控对象rPID增量式算法_图3 增量PID算法增量式PID算法为Uk=U(k)-U(k-1) =Kpe(k)-e(k-1)+位置式PID的输出与过去的所有状态有关,计算时要对e(每一次的控制误差)进行累加,这个计算量非常大,而明没有必要。而且小车的PID控制器的输出并不是绝对数值,而是一个,代表增多少,减多少。换句话说,通过增量PID算法,每次输出是PWM要增加多少或者减小多少,而不是PWM的实际值。因此,在小车控制中我们常用增量式PID控制。下面均以增量式PID说明.打个比方,如果现在的输出是1,目标输出是100,那么P的作用是以最快的速度达到100,把P理解为一个系数即可;关于I,通过高等数学的知识,0的积分才能是一个常数,I就是使误差为0而起调和作用;关于D,微分是求导数,导数代表切线是吧,切线的方向就是最快到至高点的方向。这样理解,最快获得最优解,那么微分就是加快调节过程的作用了。Uk=A*e(k)+B*e(k-1)+C*e(k-2)这里KP是P的值,TD是D的值,1/Ti是I的值,都是常数,哦,还有一个T,T是采样周期,也是已知。而A,B,C是由P I D换算来的,按这个公式,就可以简化计算量了,因为 P I D 是常数,那么A B C可以用一个宏表示。这样看来,只需要求e(k) e(k-1) e(k-2)就可以知道Uk的值了,按照Uk来调节PWM的大小就OK了。图4 PID调节结果2 PID参数调试1负反馈 自动控制理论也被称为负反馈控制理论。首先检查系统接线,确定系统的反馈为负反馈。例如电机调速系统,输入信号为正,要求电机正转时,反馈信号也为正(PID算法时,误差=输入-反馈),同时电机转速越高,反馈信号越大。其余系统同此方法。 2PID调试一般原则 a.在输出不振荡时,增大比例增益P。 b.在输出不振荡时,减小积分时间常数Ti。 c.在输出不振荡时,增大微分时间常数Td。 3一般步骤 a.确定比例增益P 确定比例增益P 时,首先去掉PID的积分项和微分项,一般是令Ti=0、Td=0(具体见PID的参数设定说明),使PID为纯比例调节。输入设定为系统允许的最大值的60%70%,由0逐渐加大比例增益P,直至系统出现振荡;再反过来,从此时的比例增益P逐渐减小,直至系统振荡消失,记录此时的比例增益P,设定PID的比例增益P为当前值的60%70%。比例增益P调试完成。 b.确定积分时间常数Ti 比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然后逐渐减小Ti,直至系统出现振荡,之后在反过来,逐渐加大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%180%。积分时间常数Ti调试完成。 c.确定积分时间常数Td 积分时间常数Td一般不用设定,为0即可。若要设定,与确定 P和Ti的方法相同,取不振荡时的30%。 d.系统空载、带载联调,再对PID参数进行微调,直至满足要求3 PID与智能车控制的联系小车调速及转向通过输出PWM波得占空比来控制。肯定不是线性的,外界因素那么多,没人能证明是线性的。如果是线性的,直接用P就可以了。比如在PWM=60%时,速度是2M/S,那么你要它3M/S,就把PWM提高到90%。因为90/60=3/2,这样一来太完美了。完美是不可能的。那么不是线性的,要怎么怎么控制PWM使速度达到即定的速度呢?即要快,又要准,又要狠。(即快准狠)系统这个速度的调整过程就必须通过某个算法调整,一般PID就是这个所用的算法。可能你会想到,如果通过编码器测得现在的速度是2.0m/s,要达到2.3m/s的速度,那么把PWM增大一点不就行了吗?是的,增大PWM多少呢?必须要通过算法,因为PWM和速度是个什么关系,对于整个系统来说,谁也不知道。要一点一点的试,加个1%,不够,再加1%还是不够,那么第三次你还会加1%吗?很有可能就加2%了。通过PID三个参数得到一个表达式:PWM=a *V1+b *V2+c *V3,a b c是通过PID的那个长长的公式展开,然后约简后的数字,V1 ,V2 ,V3 此前第一次调整后的速度差 ,第二次调整后的速度差,第三次依次类推。一句话,PID要使当前速度达到目标速度最快,需要建立如何调整PWM和速度之间的关系。输入就是前次速度,前前次速度,前前前次速度。输出就是PWM应该增加或减小多少。就从控制效果来说,加入了PID控制后,小车的速度能够上一个台阶,因为空度的实时性与精度提高了。4 PID小车控制例程 /定义PID结构体/*typedef struct PID int SetPoint; /设定目标 Desired Value double Proportion; /比例常数 Proportional Const double Integral; /积分常数 Integral Const double Derivative; /微分常数 Derivative Const int LastError; /Error-1 int PrevError; /Error-2 PID;/*/定义相关宏/*#define P_DATA 100#define I_DATA 0.6#define D_DATA 1#define HAVE_NEW_VELOCITY 0X01/*/声明PID实体/*static PID sPID;static PID *sptr = &sPID;/*/PID参数初始化/*void IncPIDInit(void)sptr-LastError = 0; /Error-1sptr-PrevError = 0; /Error-2sptr-Proportion = P_DATA; /比例常数 Proportional Constsptr-Integral = I_DATA; /积分常数Integral Constsptr-Derivative = D_DATA; /微分常数 Derivative Constsptr-SetPoint =100; 目标是100/*/增量式PID控制设计/*int IncPIDCalc(int NextPoint) int iError, iIncpid; /当前误差 iError = sptr-SetPoint - NextPoint; /增量计算 iIncpid = sptr-Proportion * iError /Ek项 - sptr-Integral * sptr-LastError /Ek1项 + sptr-Derivative * sptr-PrevError; /Ek2项 sptr-PrevError = sptr-LastError; sptr-LastError = iError; /存储误差,用于下次计算 return(iIncpid); /返回增量值Int g_CurrentVelocity;Int g_Flag;void main(void)DisableInterruptInitMCu();IncPIDInit();g_CurrentVelocity=0; /全局变量也初始化g_Flag=0; /全局变量也初始化EnableInterrupt;While(1)if (g_Flag& HAVE_NEW_VELOCITY)PWMOUT+= IncPIDCalc(CurrentVelocity);g_Flag&= HAVE_NE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年宿州市立医院医护人员招聘考试备考试题及答案详解
- 2026年吉林市第三人民医院医护人员招聘考试参考题库及答案详解
- 2026年荆州市中医医院医护人员招聘笔试参考试题及答案详解
- 2026年首都医科大学附属北京地坛医院医护人员招聘考试参考试题及答案详解
- 2026年湖南省老年医院医护人员招聘笔试备考试题及答案详解
- 2026年内江市第一人民医院医护人员招聘笔试参考题库及答案详解
- 2026年南阳市张仲景医院医护人员招聘笔试参考试题及答案详解
- 2026年上饶市卫校附属医院医护人员招聘考试备考试题及答案详解
- 2026年武汉科技大学附属天佑医院医护人员招聘考试备考试题及答案详解
- 2026年铜陵市皮肤病防治所医护人员招聘考试备考题库及答案详解
- 2026长沙海关缉私局警务辅助人员招聘6人考试备考试题及答案解析
- 2026年中学入团知识测试题及答案
- 2026春小学信息技术浙教版四年级下册期末练习卷含答案
- 业务部费用管理制度
- 金属非金属矿山采空区安全风险分级标准
- 质量检验计划(完整版)
- 2026苏州名城保护集团第二批招聘13人笔试参考试题及答案详解
- 2026年山东卷物理试题及答案解析
- (新)医师定期考核题库人文医学(含答案)
- 2024年人教版六年级下册数学期末真题卷(含答案)
- 甘肃日报报业集团招聘笔试题库2026
评论
0/150
提交评论