不同方式控制算法精髓

2019-08-09 11:19:04 来源:电子工程世界
标签:

通常我们在控制小车运动的时候不知道如何精确的对小车轨迹进行控制。在不懂得小车控制算法精髓的时候,我们是无法对小车进行精确的控制的。目前绝大多数小车都是用PID控制算法来实现对小车的运动控制的。现在很多玩家就只知道一种调节方法,就是比例调节,即向左偏就向右调节,向右偏就向左调节,最容易想到,也是最容易用软硬件实现的,但是结果也是最容易出问题的。当时的感觉就是小车太灵敏了,忽左忽右,不是很稳定。后来查了资料后知道了其他的调节方式。小车的实物图如下图所示。

 


小车实物图


控制算法:

电机控制算法的作用是接受指令速度值,通过运算向电机提供适当的驱动电压,尽快地和尽快平稳地使电机转速达到指令速度值,并维持这个速度值。换言之,一旦电机转速达到了指令速度值,即使在各种不利因素(如斜坡、碰撞之类等使电机转速发生变化的因素)的干扰下也应该保持速度值不变。为了提高机器人小车控制系统的控制精度,选用合适的控制算法显得十分必要。

 

控制算法是任何闭环系统控制方案的核心,然而并非越复杂、精度越高的算法越好,因为比赛要求非常高的实时性,机器人必须在非常短的时间内作出灵敏的反应,所以现代的一些先进控制算法,比如模糊控制、神经元网络控制等就不能应用到小车控制系统里。本系统选用了最常规、最经典的PID控制算法,通过实际应用取得了很好的效果。下图是PID控制原理结构图。

 


PID控制系统原理结构框图


比例项
控制回路中的第一个偏差转换环节就是比例项。这一环节简单地将偏差信号乘以常数K 得到新的CV值(值域为-100~100)。基本的比例控制算法如下:
loop:
PV=ReadMotorSpeed()
Error=SP-PV
CV=Error*Kprop
Setpwm(cv)
Goto loop


其中SP为设定值,PV为反馈值,Error为误差。


上一段程序中的SetPWM()函数并非将CV值作为绝对的PWM占空比来对待。否则,不断降低的偏差值会使输出值接近零,而且由于电机工作时需要持续的PWM信号,控制系统将会使电机稳定在低速运转状态上,从而导致控制系统策略失败。

 

相反,CV值一般被取作当前PWM占空比的改变量,并被附加到当前的PWM占空比上。这也要求SetPWM()函数必须将相加后得到的PWM占空比限制在0%~100%。正的CV值将使电机两端电压增加。负的CV值将使电机两端电压降低。如果CV值等于0,则无需改变但前占空比。较低的K 值会使电机的速度响应缓慢,但是却很平稳。较高的K 值会使速度响应更快,但是却可能导致超调,即达到稳定输出前在期望值附近振荡。过高的K 值会导致系统的不稳定,即输出不断震荡且不会趋于期望值。

 

积分项
积分正好与微分相对。假如有一个描述变化率(微分)的表达式,那么对该表达式的积分就将得到随时间变化的原物理量。如加速度的积分是速度,速度的积分是位移。

 

在PID控制回路中,偏差的积分代表从控制开始时算起所有偏差积累的总和。该总和被常数K 所乘后再添加到回路输出中。在回路中,如果没有积分环节,尽管控制系统也会趋于稳定,但是由于某种原因输出值可能最终也无法达到SP值。

 

一个简单但完全的PID控制器地伪代码实现如下:
loop:
PV=ReadMotorSpeed()
LastError=Error
Isum=Isum+Error
Error=SP-PV
Rate=Error-LastError
CV=Error*Kprop+Krate*Rate+Kint*Isum
SetPWM(CV)
Goto loop


由于积分项会越来越大,这就会使控制回路在SP值的改变时响应变慢,某些应用场合在CV值达到取值边界(如为:-100~100)时会停止累加Isum。在SP值改变时,也可以除去Isum项。

 

微分项
pk10开奖历史 任何变量的微分项被用来描述该变量是如何相对于另一个变量(多位时间)变化的。换句话说,任何变量的微分项就是它随时间的变化率。如位移随时间的变化率是速度。速度相对于时间的微分是加速度。

 

在PID控制器中,值得关心的是偏差信号相对于时间的微分,或称变化率。绝大多数控制器将微分项定义为:
Rate=(E-E )/T


式中,E为当前偏差,E 为前次偏差值,T为两次测量的时间间隔。负的变化率表明偏差信号的改善。当微分项被具体应用于控制器中时,将一个常数乘以该微分项,并将它加到比例项上,就可以得到最终的CV值计算公式:
CV=( K E)+( K Rate)


当偏差信号接近零时,CV值将为负,所以当偏差信号开始改善时,微分项的作用将逐渐减弱校正输出量。在某些场合下,微分项还有利于超调量的消除,并可以允许使用较大的K 值,从而可以改善响应的快速性。微分环节还预示了偏差信号的变化趋势。当控制对象对控制器的输出响应迟缓时,微分环节的作用尤为明显。

 

含有微分项的控制算法的伪代码实现如下:
loop:
PV=ReadMotorSpeed()
LastError=Error
Error=SP-PV
Rate=Error-LastError
CV=Error*Kprop+Krate*Rate
SetPWM(CV)
Goto loop

 

PID的整定方法
在整定PID控制器参数时,可以根据控制器的参数与系统动态性能和稳态性能之间的定性关系,用实验的方法来调节控制器的参数。有经验的调试人员一般可以较快地得到较为满意的调试结果。在调试中最重要的问题是在系统性能不能令人满意时,知道应该调节哪一个参数,该参数应该增大还是减小。

 

为了减少需要整定的参数,首先可以采用PI控制器。为了保证系统的安全,在调试开始时应设置比较保守的参数,例如比例系数不要太大,积分时间不要太小,以避免出现系统不稳定或超调量过大的异常情况。给出一个阶跃给定信号,根据被控量的输出波形可以获得系统性能的信息,例如超调量和调节时间。应根据PID参数与系统性能的关系,反复调节PID的参数。

 

如果阶跃响应的超调量太大,经过多次振荡才能稳定或者根本不稳定,应减小比例系数、增大积分时间。如果阶跃响应没有超调量,但是被控量上升过于缓慢,过渡过程时间太长,应按相反的方向调整参数。

 

如果消除误差的速度较慢,可以适当减小积分时间,增强积分作用。

 

反复调节比例系数和积分时间,如果超调量仍然较大,可以加入微分控制,微分时间从0逐渐增大,反复调节控制器的比例、积分和微分部分的参数。

 

pk10开奖历史总之,PID参数的调试是一个综合的、各参数互相影响的过程,实际调试过程中的多次尝试是非常重要的,也是必须的。

 

具体有以下几种方法:
(1)试凑法

试凑法就是人工选择PID参数,使控制系统响应达到预定要求,这种方法既简单又复杂,说简单是,如果你有经验和运气的话,那么在SIMULINK中,可能很快就达到了目标,说难的是,在现场实战中,可能费了很大时间和精力来调整三个参数,也没有完成任务。

 

(2)临界比例度法
临界比例度法就是仅在P作用下,调整比例度使系统等幅振荡,然后根据公式算出PID值,效果如图1所示,图中左半部分是系统等幅振荡,右半部分是控制效果。下图是通过MATLAB 仿真的PID临界比例度法控制的曲线效果图。

 


pk10开奖历史 PID临界比例度法控制的曲线


(3)衰减曲线法
衰减曲线法 就是仅在P作用下,调整比例度使系统响应曲线以4:1或10:1比率衰减,然后根据公式算出PID值,效果如图2所示,图中左半部分是系统衰减曲线,右半部分是控制效果。下图是通过MATLAB 仿真的PID衰减曲线法控制的曲线效果图。

 


PID衰减曲线法控制的曲线


(4)反应曲线法
反应曲线法就是在开环状态下,加阶跃信号,然后用一阶加纯滞后系统逼近原系统,然后根据由Z-N或C-C公式算出PID值,效果如图3所示,图中左半部分是系统 响应曲线 , 右半部分是控制效果。图4是一个三阶系统,临界比例度法 求得的有关参数。下图是通过MATLAB 仿真的PID反应曲线法控制的曲线效果图。

 


PID反应曲线法控制的曲线

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
最简单也是最经典,PID 控制算法究竟是怎样的一种存在?
最简单也是最经典,PID 控制算法究竟是怎样的一种存在?

在工业应用中PID及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法,如果能够熟练掌握PID算法的设计与实现过程,对于一般的研发人员来讲,应该是足够应对一般研发问题了,而难能可贵的是,在很多控制算法当中,PID控制算法又是最简单,最能体现反馈思想的控制算法,可谓经典中的经典。经典的未必是复杂的,经典的东西常常是简单的,而且是最简单的

如何驱动一个直流电机?直流电机驱动电路大全
如何驱动一个直流电机?直流电机驱动电路大全

大家都知道直流电机有可以精确控制的优点,但是功耗大,效率低,力矩小。如果选用大功率步进电机,为了降低功耗,可以采取PWM恒流控制的方法。

气体检测传感器的种类有哪些?一文读懂其工作原理及分类方式
气体检测传感器的种类有哪些?一文读懂其工作原理及分类方式

目前,工业生产安全,环境污染等问题倍受关注。所发生的事故中,有一类是由于有毒、易燃、易爆气体的泄漏所造成。因此,对于此类气体的检测,预警及其防范有其重要意义。越来越多的企业致力于有毒/有害气体的监测。

适用于小骨骨科应用的新款 9 号有槽无刷直流电机

Portescap 很高兴地宣布推出 3 种新款小骨骨科应用手术电机。B0912N1016 小骨骨科电机(9。6V - 38K RPM)、B0912N4023 小骨骨科减速电机(9。6V - 1。1K RPM)和 B0912N4024 小骨骨科减速电机(9。6V 12。8K RPM)均是可消毒 BLDC 电机,可为骨钻、骨锯和骨铰刀提供最

PID 的原理和方法介绍

PID控制应该算是应用非常广泛的控制算法了。小到控制一个元件的温度,大到控制无人机的飞行姿态和飞行速度等等,都可以使用PID控制。这里我们从原理上来理解PID控制。

更多资讯
印刷电路板上一根走线的电阻如何估算?
印刷电路板上一根走线的电阻如何估算?

我们通常需要快速地估计出印刷电路板上一根走线或一个平面的电阻值,而不是进行冗繁的计算。虽然现在已有可用的印刷电路板布局与信号完整性计算程序,可以精确地计算出走线的电阻,但在设计过程中,我们有时候还是希望采取快速粗略的估计方式。

直击增益范围:利用仪表放大器获得多个增益范围

我有一个仪表放大器,但我需要更宽的动态范围,而不是单一增益。我可以通过多路复用增益电阻来获得可编程增益吗?

当固定约束规则已经无法满足你的PCB设计需求,你应该用什么来约束你的PCB?
当固定约束规则已经无法满足你的PCB设计需求,你应该用什么来约束你的PCB?

如今PCB设计考虑的因素越来越复杂,如时钟、串扰、阻抗、检测、制造工艺等等,这经常使得设计人员要重复进行大量的布局布线、验证以及维护等工作。

PCB晶振布局中辐射超标解析
PCB晶振布局中辐射超标解析

某行车记录仪,测试的时候要加一个外接适配器,在机器上电运行测试时发现超标,具体频点是84MHZ、144MH、168MHZ,需要分析其辐射超标产生的原因,并给出相应的对策。

欧姆龙发布适合于紧凑型物联网应用的CP2E系列一体化控制器

欧姆龙有限公司会社(OMRON Corporation)宣布,公司将于10月在全球发布其新款CP2E系列一体化控制器(*1),该控制器可为紧凑型机器提供先进控制和物联网连接。物联网机器的性能可通过简单的编程实现可视化,有助于提高制造业和其他行业用机器的生产效率和质量。

英飞凌汽车生态圈
pk10开奖历史_V!+K*#&Vj pk10开奖历史pk10开奖历史_vfua5B-Ur pk10开奖历史_Pt=y9M!Tq pk10开奖历史_Od7Jp#ksJ pk10开奖历史_4B%iC0=Cn pk10开奖历史_9AtvRXqeZ pk10开奖历史_Eh4~M%unB pk10开奖历史_Bk48!U5Bn pk10开奖历史_x!GW%!p+L pk10开奖历史_wvZr32dIc