PID白话式理解说明及智能车闭环控制详解
增量式PID通俗解说

增量式PID通俗解说一开始见到PID计算公式时总是疑问为什么是那样子?为了理解那几道公式,当时将其未简化前的公式“活生生”地算了一遍,现在想来,这样的演算过程固然有助于理解,但假如一开始就带着对疑问的答案已有一定看法后再进行演算则会理解的更快!首先推荐白志刚的《由入门到精通—吃透PID2.0版》看完一、二章之后,建议你先通过实践练习然后再回来看接下来的所有章节,这样你对这本书的掌握会更加牢固、节省时间。
PID就是对输入偏差进行比例积分微分运算,运算的叠加结果去控制执行机构。
实践练习中,如何把这一原理转化为程序?为什么是用那几个error进行计算?以下是我摘录的一段PID程序,我曾用其对智能车的速度进行闭环控制:P:Proportional比例I:Integrating积分D:Differentiation微分Pwm_value:输出Pwm暂空比的值Current_error:当前偏差last_error:上次偏差prev_error:上上次偏差增量式PID计算公式:P=Kp*(current_error﹣last_error);D=Kd*(current_error﹣2*last_error﹢prev_error);I=Ki*current_error;PID_add=Pwm_value+P﹢I﹢D一、为什么是PID_add=Pwm_value+(P﹢I﹢D)而不是PID_add=P+I +D?如上图,有一个人前往目的地A,他用眼睛视觉传感器目测到距离目的地还有100m,即当前与目的地的偏差为100,他向双脚输出Δ=10 0J的能量,跑呀跑,10s之后,他又目测了一次,此时距离为40m,即current_error=40,他与10s前的偏差last_error=100对比,即current_error-last_error=-60,这是个负数,他意识到自己已经比较接近目的地,可以不用跑那么快,于是输出Δ=100+(-60)=40J的能量,40J的能量他刚好以4m/s的速度跑呀跑,10s之后,他发现已经到达目的点,此时current_error=0,大脑经过思考得出curre nt_error-last_error=0-40=-40,两脚获得的能量Δ=40+(-40)=0,即他已经达到目的地,无需再跑。
智能车PID算法实现原理讲解

智能车PID算法实现原理讲解引言智能车是一种能够通过传感器收集环境信息,然后分析、决策、控制并实现自主导航的车辆。
PID(Proportional-Integral-Differential)控制算法是智能车中常用的一种控制方法,可以实现对车辆的位置、速度等参数进行精确调节。
本文将对PID算法的实现原理进行详细讲解。
一、PID控制算法原理PID控制算法是一种经典的反馈控制算法,通过对系统的误差进行连续检测和调整,使得系统能够自动调整到期望值附近并保持稳定。
PID算法由三个部分组成:比例控制(P),积分控制(I)和微分控制(D)。
1.比例控制(P)比例控制是基于误差的当前值来进行控制调整的,它通过将误差乘以一个比例系数来调整控制量的变化。
这意味着当误差增大时,控制量的变化也会增大。
2.积分控制(I)积分控制是基于误差的历史累积值来进行控制调整的,它通过将误差的累积值乘以一个积分系数来调整控制量的变化。
这意味着当误差持续存在时,控制量的变化会逐渐增大,从而更好地调整系统。
3.微分控制(D)微分控制是基于误差的变化率来进行控制调整的,它通过将误差的变化率乘以一个微分系数来调整控制量的变化。
这意味着当误差快速变化时,控制量的变化也会被加大。
二、PID算法实现步骤基于PID算法的智能车控制实现需要按照以下步骤进行:1.设定目标值(设定值)和实际值(反馈值)。
目标值为期望的位置或速度,实际值通过传感器获取。
2.计算误差。
误差可以通过将设定值减去实际值得到。
3.计算比例控制量。
比例控制量可以通过将误差乘以比例系数得到。
4.计算积分控制量。
积分控制量可以通过将误差的累积值乘以积分系数得到。
5.计算微分控制量。
微分控制量可以通过将误差的变化率乘以微分系数得到。
6.将比例控制量、积分控制量和微分控制量相加得到最终的控制量。
7.根据最终的控制量来调整车辆的状态,例如调整轮速、转向角度等。
8.循环执行上述步骤,使得车辆能够持续地调整控制量,使得实际值逐渐接近设定值,从而实现稳定的控制。
智能车速度控制pid(电机闭环控制算法)

智能车速度控制pid(电机闭环控制算法)对于智能车的电机闭环控制算法,我之所以标题没有写上智能车电机PID闭环控制算法是因为PID 算法根本就不是特别好的适用于智能车这种变化很快的系统,对于智能车,电机的调速可以说是时时刻刻再进行调速控制的,我上面说描述的经典PID 算法,都是针对一些惰性系统,也就是说是变化比较慢的系统的,所以对于智能车的电机调速采用完完整整的PID 算法,是根本不可取的,及时采用了,你必须要经过一些变换和改进才能使用。
以上的简述只是鄙人自己的看法,如有错误,请各位高手指正。
现在估计您会疑问,PID 不适用于智能车的电机控制,那什么才适用呢?鄙人原来做过智能车,从鄙人本身的理解,P 算法控制电机,也就是比例控制是最好的,反应速度快,控制精度高,不存在积分和微分效应,非常适用于适用于控制周期短的系统,当然,对于一些特殊的逻辑控制算法,可能要采用PD算法,用微分来做补偿,防止震荡和超调。
下面来说下电机控制算法从开始的加入到最终的确定的方法:当然这一切的前提就是安装了编码器,车速有反馈,只有加上编码器,有了反馈,才能组成一个闭环系统。
当然您也可以加上码盘,或者霍尔开关等一切可以返回车速的东西都可以。
(1)首先建议在车速比较慢的时候,采用PID 算法来控制电机,为什么开始要建议您采用PID 呢?主要是为了让您更加深刻理解PID 算法的精髓和调试步骤方法等,有助于以后对控制算法更加深入的研究和书写。
调试PID 三个参数的方法,很多地方都提供了,我在这里简单的说下:首先将ID 参数都变为0,先调整P 比例参数,调整到速度基本上跟您给定的速度差不多,也就是说基本稳定在您给定的脉冲数,当然这个时候会非常的震荡,不要担心,接下来调整I,调整I 的结果就是震荡会消除很多,但是车速会变化缓慢,也就是说会有一些延迟,然后再调整D,调整D 的结果就是增强调节的灵活性和预见性,在给定速度变化的过程中,能够以一个平稳过渡来变换,而且速度可以长时间稳定在给定速度附近,然后PID 三个参数的基本范围就确定了,然后再根据实际的跑车来微调这些参数,当然在您调试PID之前,请仔细阅读PID 理论知识,这样有助于您的调试和理解,。
PID控制最通俗的解释与PID参数的整定方法

PID控制最通俗的解释与PID参数的整定方法PID控制是一种经典的反馈控制算法,常用于工业自动化领域。
它的基本原理是根据系统的偏差值、积分项和微分项来调整输出控制信号,以实现对系统状态的控制。
在工业领域,PID控制常用于调节温度、压力、流量等参数,以及机器人、无人驾驶车辆等设备的姿态控制。
PID控制的通俗解释是通过将系统的目标与实际输出进行比较,并根据比较结果对输出信号进行调整,使得系统的输出接近目标值。
为了更好地说明PID控制的原理,我们可以将其比喻为一个驾驶员在驾驶汽车时的控制方式。
驾驶员观察车速表,目标是将车速调整到指定的速度,那么驾驶员会采取以下几个步骤来实现控制:1. 比较目标速度与实际速度的差异:驾驶员观察车速表上的显示,将目标速度与实际速度进行比较,得到一个偏差值。
如果目标速度是60km/h,而实际速度是50km/h,那么偏差值就是10km/h。
2.调整加速或刹车力度:根据偏差值,驾驶员会调整加速或刹车的力度,以使得车速逐渐接近目标速度。
当偏差值为正时,表示实际速度低于目标速度,驾驶员会增加油门的踩下程度;当偏差值为负时,表示实际速度高于目标速度,驾驶员会减小油门的踩下程度或踩刹车。
3.跟随目标速度调整力度:为了更加精确地调整车速,驾驶员不仅会根据当前的偏差值调整力度,还会考虑过去的偏差值。
如果过去一段时间内车速一直低于目标速度,表示驾驶员的力度不够,那么他会进一步增加油门的踩下程度;反之,如果过去一段时间内车速一直高于目标速度,表示驾驶员的力度过大,那么他会稍微减小油门的踩下程度。
通过上述步骤的不断迭代,驾驶员可以逐渐将车速调整到目标速度,并保持在目标速度附近,从而实现了对车速的控制。
这种驾驶员调整车速的方式就类似于PID控制的基本原理。
PID参数的整定指的是确定PID控制器中的比例系数(Proportional)、积分系数(Integral)和微分系数(Derivative)。
PID控制以及汽车控制的应用

未来展望
随着智能控制技术的发展,PID控制算法将与人工智能、机器 学习等技术相结合,实现更加智能化和自适应的控制策略。
未来研究方向包括发展新型PID控制算法、提高控制精度和鲁 棒性、以及探索多目标优化和控制等问题。同时,也需要加 强基础理论和实验研究,推动汽车控制技术的不断创新和发 展。
THANKS
在汽车控制中,PID控制算法广泛应用于发动机控制、底盘控制和车身控制等领域,对提高汽车的动力 性、经济性和舒适性具有重要意义。
实际应用与挑战
Hale Waihona Puke 在实际应用中,PID控制算法需要根 据具体的汽车系统和工况进行参数调 整和优化,以适应不同的行驶条件和 性能要求。
挑战主要来自于系统非线性和不确定 性,以及复杂的行驶环境和多变的驾 驶员意图。为了实现更好的控制效果 ,需要深入研究系统动态特性和驾驶 员行为特征。
控制精度与鲁棒性
控制精度
PID控制器在汽车控制中需要高精度 的控制效果,以满足汽车运行的安全 性和稳定性。
鲁棒性
由于汽车运行环境复杂多变,PID控制 器需要具备良好的鲁棒性,以应对各 种干扰和不确定性。
实时性要求
快速响应
汽车控制需要快速响应,以应对突发情况, PID控制器需要具备高效的计算能力和优化 算法,以满足实时性要求。
详细描述
通过传感器检测车辆的横摆角速度和侧向加速度,PID控制器计算期望横摆力矩并与实际横摆力矩进 行比较,产生一个附加横摆力矩,通过制动系统施加到内侧车轮上,使车辆保持稳定。PID控制器能 够根据车辆的动态响应实时调整附加横摆力矩,提高车辆的操控性和稳定性。
自动泊车系统
总结词
自动泊车系统是利用PID控制算法实现自 动寻找停车位和自动泊车的智能化系统 。
智能车的PID控制

智能车的 PID 控制 智能车的转向控制和速度控制是一体的,合理的速度分配以及最优的行驶路线,才能使智能车在最短时间内完成比赛。
从我们开始提速调试的过程中,曲率半径为50cm 的最小弯几乎都会冲出去,究其原因是当初赛道判断出错,入弯时速度调整太迟,当速度调整过来时,车子已经冲出赛道。
经过长期的调试发现,如果在入弯前能及时调整速度,智能车在弯道内可以很好的以比较高的速度行驶,同时可以切线以最优路径行驶以单行黑线点与图像中心的偏差来对转向进行控制。
最终采用了PD 对转向进行控制,P ——某一行的偏差,D ——本次偏差与上一次偏差的差值。
PD 值是我们调好的一组固定值。
只是P 的参考行我们采用的是动态设定,根据我们外部按键设定的速度值的不同,也通过外部按键设定不同的参考行,保证智能车的沿线及切弯。
设定速度低时,参考行设定距车子近的方向,如果此时设定的距车子太远的地方,智能车在过弯道时,很容易切弯过度,行驶出赛道。
当设定速度高时,参考行设定距车子远的方向,这样可以在高速行驶下,使车子提前转弯我们采用的是增量式PID 算法。
PID 控制器原理图如图3.13所示,图3.13 PID 控制器原理框图 图3.13中,r(t)是电动机的速度设定值,c(t)是转速的实际测量值,e(t)是控制器的输入偏差信号,u(t)是控制器的输出控制量,则PID 控制算式如下:公式1其中Kp是比例系数,Ti是积分时间常数,Td是微分时间常数。
把上式离散化处理后得:公式2其中Ts为采样周期。
由于采用的是增量式PID算法,因此PID调节器只需计算出控制量的增量,所以增量式PID控制算式如下:公式3公式4令A=(Kp+Ki+Kd),B=(Kp+2Kd),C=Kd,则有:公式5我们只需确定上式中的A,B,C三个变量的值,寻找一组最为合适的PID参数,在这里推荐经验调试来确定三个变量的值,先把B,C置0,调参数A,然后在A 的基础上依次来确定B和C。
PID通俗易懂的讲解

很多同学都不清楚PID是个什么东西,因为很多不是自动化的学生。
他们开口就要资料,要程序。
这是明显的学习方法不对,起码,首先,你要理解PID是个什么东西。
本文以通俗的理解,以小车纵向控制举例说明PID的一些理解。
首先,为什么要做PID?由于外界原因,小车的实际速度有时不稳定,这是其一,要让小车以最快的时间达达到既定的目标速度,这是其二。
速度控制系统是闭环,才能满足整个系统的稳定要求,必竟速度是系统参数之一,这是其三.小车调速肯定不是线性的,外界因素那么多,没人能证明是线性的。
如果是线性的,直接用P就可以了。
比如在P WM=60%时,速度是2M/S,那么你要它3M/S,就把PW M提高到90%。
因为90/60=3/2,这样一来太完美了。
完美是不可能的。
那么不是线性的,要怎么怎么控制PW M使速度达到即定的速度呢?即要快,又要准,又要狠。
(即快准狠)系统这个速度的调整过程就必须通过某个算法调整,一般PID就是这个所用的算法。
可能你会想到,如果通过编码器测得现在的速度是2.0m/s,要达到2.3m/s的速度,那么我把pwm增大一点不就行了吗?是的,增大pwm多少呢?必须要通过算法,因为PWM和速度是个什么关系,对于整个系统来说,谁也不知道。
要一点一点的试,加个1%,不够,再加1%还是不够,那么第三次你还会加1%吗?很有可能就加2%了。
通过PID三个参数得到一个表达式:△PW M=a *△V1+b *△V2+c *△V3,ab c是通过PID的那个长长的公式展开,然后约简后的数字,△V1 ,△V2 ,△V3 此前第一次调整后的速度差 ,第二次调整后的速度差,第三次。
pid通俗讲解 -回复

pid通俗讲解-回复PID(Proportional, Integral, Derivative)是一种经典的控制器设计方法,广泛应用于工业控制系统中。
它通过对反馈信号进行比例、积分和微分处理,从而实现对被控对象的精确控制。
PID控制器的一种基本结构由比例环节、积分环节和微分环节组成,其调节参数分别为比例系数Kp、积分时间Ti以及微分时间Td。
PID控制器具有简单、快速、稳定等特点,被广泛用于工业过程控制、机器人控制等领域。
1. 比例环节比例环节是PID控制器的第一部分,也是最基本的部分。
它通过比较给定值和实际值的偏差大小,乘以一个比例系数Kp,产生控制器的输出。
比例系数决定了控制器对于偏差的响应速度和稳定性。
当比例系数过大时,系统响应过度,可能出现振荡;当比例系数过小时,系统响应较慢,可能无法及时达到控制目标。
2. 积分环节积分环节是PID控制器的第二部分,用于消除稳态误差。
积分环节将偏差的累积值乘以一个积分时间Ti,再加到控制器输出中。
积分环节的作用是将系统的积分误差逐渐降低为零,稳定系统的稳态性能。
如果积分时间设置不当,可能导致系统过度调节或者产生振荡。
3. 微分环节微分环节是PID控制器的第三部分,用于抑制系统的过冲和振荡。
微分环节通过测量偏差的变化率,乘以一个微分时间Td,将微分项加到控制器的输出中。
微分环节的作用是对系统进行预测,减小偏差的变化速率,从而提高系统的稳定性和响应速度。
在实际应用中,微分环节的设置需要考虑到噪声的影响,避免对系统引入不必要的干扰。
4. PID控制器的参数调节PID控制器的性能取决于比例系数Kp、积分时间Ti以及微分时间Td的选择。
传统的PID控制器参数调节方法有经验法、试错法和优化算法等。
经验法是根据工程经验和实际情况,通过调整参数来实现控制效果。
试错法是通过不断调节参数,观察系统响应,直至达到满意的控制效果。
优化算法则是利用数学方法和计算机模拟,找到最优的PID参数组合。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PID白话式理解说明及智能车闭环控制详解By jiahangsonic编码器专卖 本文只是技术交流,仅仅是鄙人对一些知识的看法和认识,由于鄙人学疏才浅,必然会在本文中出现定义理解不深刻,原理叙述有误等错误,敬请各位高人理解,如有错误之处,请大家指出,我将积极学习改进。
其实很早就应该写这么一个东西,由于学习和工作太忙,一直没有时间去写,春节放假,偶尔有了时间,决心一定要写好,本文只是针对初学者,对于那些老鸟和大神们,基本上没有看的必要,所以再您看这篇文章之前,还要对我多多的理解和宽容,写不好,我改进学习,写的好,希望对您有帮助。
(一) PID的背景和一些原理上理解PID控制技术,是最简单的闭环控制技术之一,一般都是利用单反馈或者多反馈来实现对控制对象的调节,实现被控对象的可控性和可预知性的控制。
使得设备运行的更加的可靠,合理且平稳。
PID的全称为比例积分微分控制,P即为比例,I即为积分,D即为微分。
PID往往都是应用于惰性系统,所谓惰性系统就是变化较慢且无法精确控制和调节的对象,其中最最重要的特点就是变化速度慢,调节速度慢,控制周期较长,最经典的控制对象就为温度的温控。
下面就举一个简单的例子进行说明:比如我们要对一个水箱里面的水进行加热,我们的目标加热温度为100℃,首先我们不用闭环对水温进行加热,也就是说我们只是靠人为观察温度计的温度值来对加热器进行人工的干预。
当温度加热到100℃以后,我们就停止加热,这个时候,虽然水温已经到达100且加热器已经不再通电加热,但是由于加热器的预热和水本身传递温度的惰性,导致水温会继续上升,经过一段时间后,水温会继续升高,并且超过100℃,那么该系统就无法达到我们所预期的要求。
这个时候您谁想,停止加热后本身会继续散热继续升温,那等到温度到90摄氏度左右以后,我们停止加热,然后利用水的惰性和加热器的散热,让水温继续升温,正好达到100℃,这样不就解决问题了吗?这么想是对的,但是水温要达到90几度的时候我们停止加热呢?还有就是从停止加热到100℃的时间是多少?经过一段时间后,温度没有达到100℃,而是小于100摄氏度以后温度就达到了顶峰,这样怎么办?上述所有的办法,可能能够解决水温到达100℃的要求,但是其中很多环节很多结果都是无法预测和无法控制的,即便经历了很麻烦的人为干预同时经过了一个较长的时间达到了我们对水温加热到100℃的要求,也要经历一个相当复杂和相当漫长的时间才能达到,并且整个过程一直要有人为的干预,实在是属于劳民伤财。
不只是对温度的控制,还有其他很多领域的过程控制,都遇到了这些让人很困惑问题,所以科学家就针对此类问题发明了闭环控制原理,其中最经典最简单最实用的就是PID闭环控制。
该控制原理简单可靠,参数调整简便,实用性强,广泛的受到人们的支持。
利用PID控制原理对水温进行加热控制,我现在进行举例说明:目标温度还是我们之前设定的100℃,加热前我们首先要把这个温度值输入到加热器控制器中,此时温度计只是作为我们认为观察温度的一个参考,我们在水中放入一个电子温度计,电子温度计测量的温度可以传送到控制器,以使得我们的PID 控制器知道当前的水温,在刚刚通电加热的时候,水温假定为室温20℃,当前的水温会通过电子温度计测量并传输到PID控制器中,此温度作为当前温度值C_TEM,我们的目标温度值设定的为100℃作为T_TEM,那么CPU通过计算T_TEM-C_TEM=80,二者的差值较大为80,说明水温远远没有达到我们所需的100℃,那么这个时候CPU就给加热器通上最高的供电电压,以全速对水箱里面的水进行加热,随着加热的进行,水温会慢慢的增加,某一时刻,水温达到了80℃,那么目标温度与当前温度做差,差值仅仅为20,那么CPU就知道了当前的温度跟实际我们所希望的温度差别已经很小了,那么这个时候控制器就减小加热器的供电电压,以一个适当的加热量对水温进行加热。
当到了一个时刻,水温达到了95℃,目标温度和他的差值仅仅只有5了,说明温度已经十分接近目标温度,此时控制器可能已经早已停止对加热器供电或者以一个更加低电压的加热量对水温进行加热,直到水温加热到100℃。
当然水温不可能一直恒定在100℃,水温一定会超过100摄氏度,但是由于采用PID闭环控制,水温不会超过的太多,比如某一时刻水温到达了105℃,做差后,差值为-5℃,CPU就知道此时温度已经超过了目标温度,那么将会在一段时间内停止加热,直到温度降低到100℃或者100℃以下后再进行进一步控制,所以当水温到达100摄氏度附近的时候,CPU控制器将会频繁的对加热器进行控制,从而导致水温永远维持在100℃左右附近,而且水温与100℃的目标温度相差不会很大,宏观上通过平均测量,水温就是认为在100℃了,其实根本上,水温是永远不会达到正好的100℃,只能是在100℃左右进行震荡,但是震荡始终不会太大,从而达到了我们控制目标对象的要求,使得加热系统变得更加科学更加可控。
当然上述所说明的PID加热状态是PID各项参数调节比较好的情况下的状态,PID三个参数调整不好,会带来很多问题,比如系统震荡,超调等问题,所以调整PID参数也是一个比较重要的环节,这个我将会在下面进行说明。
上述对水温的PID控制已经基本上说明了PID控制的核心,我们之所以利用PID进行闭环控制,就是为了让被控制对象快速稳定的达到目标值,从而实现对被控制对象的可控性,可预知性。
一个人无法控制就是一个疯子,一个车子速度无法控制就是一个疯车。
(二) 智能车电机闭环控制算法对于智能车的电机闭环控制算法,我之所以标题没有写上“智能车电机PID 闭环控制算法”是因为PID算法根本就不是特别好的适用于智能车这种变化很快的系统,对于智能车,电机的调速可以说是时时刻刻再进行调速控制的,我上面说描述的经典PID算法,都是针对一些惰性系统,也就是说是变化比较慢的系统的,所以对于智能车的电机调速采用完完整整的PID算法,是根本不可取的,及时采用了,你必须要经过一些变换和改进才能使用。
以上的简述只是鄙人自己的看法,如有错误,请各位高手指正。
现在估计您会疑问,PID不适用于智能车的电机控制,那什么才适用呢?鄙人原来做过智能车,从鄙人本身的理解,P算法控制电机,也就是比例控制是最好的,反应速度快,控制精度高,不存在积分和微分效应,非常适用于适用于控制周期短的系统,当然,对于一些特殊的逻辑控制算法,可能要采用PD 算法,用微分来做补偿,防止震荡和超调。
下面来说下电机控制算法从开始的加入到最终的确定的方法:当然这一切的前提就是安装了编码器,车速有反馈,只有加上编码器,有了反馈,才能组成一个闭环系统。
当然您也可以加上码盘,或者霍尔开关等一切可以返回车速的东西都可以。
(1) 首先建议在车速比较慢的时候,采用PID算法来控制电机,为什么开始要建议您采用PID呢?主要是为了让您更加深刻理解PID算法的精髓和调试步骤方法等,有助于以后对控制算法更加深入的研究和书写。
调试PID三个参数的方法,很多地方都提供了,我在这里简单的说下:首先将ID参数都变为0,先调整P比例参数,调整到速度基本上跟您给定的速度差不多,也就是说基本稳定在您给定的脉冲数,当然这个时候会非常的震荡,不要担心,接下来调整I,调整I的结果就是震荡会消除很多,但是车速会变化缓慢,也就是说会有一些延迟,然后再调整D,调整D的结果就是增强调节的灵活性和预见性,在给定速度变化的过程中,能够以一个平稳过渡来变换,而且速度可以长时间稳定在给定速度附近,然后PID三个参数的基本范围就确定了,然后再根据实际的跑车来微调这些参数,当然在您调试PID之前,请仔细阅读PID理论知识,这样有助于您的调试和理解,当您把PID调整好以后,您就基本上领会了PID的精髓,对于以后的调试作用非常大。
这里的给定速度,就相当于上面对温度例子中说的设定温度。
意思是一样一样的。
(2) 当您对PID掌握以后,您能做到给定多少速度,就能让车速稳定在这个给定速度左右,可以适当的提高点车速,慢慢的观察效果,你会发现当速度增加的时候,车速的控制会变得越来越糟糕,调节缓慢,灵活性差。
这个时候您就可以试着去掉I积分环节,然后再重新调整参数,按照上面说的,然后继续观察效果,试着提高速度,继续观察,因为车速毕竟很慢,很多细节我们都能看到,所以您就可以看到PID到PD变换以后,实际的效果是增加多少,也算是一种进步,这个时候,经典的PID公式已经被我们简化,不要担心,您可以多多实验多多观察,可能在这个变换之间,您能受到很多启发,会产生很多思路,谁以后的调试车子都是有好处的。
所以搞智能车,自己一步一步的进步学习,远远比去某些淘宝店铺购买现成的程序学到的东西更多,体会的也更多,思维开阔的也更多。
(3) 在您的车速在3M内的时候,我强烈建议您采用PD算法,因为PD算法是最好调整,最容易控制的。
当然这个时候我也强烈建议您加上P控制,P控制的话,不是说就单纯的P*偏差然后得到的值给定PWM,而是一定要加上一些逻辑控制,不加上逻辑控制而是直接运用比例公式来给定PWM值,将会带来很多问题,具体的逻辑控制讲解,在以后我会写出相关的文档,谢谢。
采用增量式编码器为反馈的智能车电机闭环调速系统:其实借助于我上面举得例子,到这里,您可能已经明白对于智能车来说闭环系统是一个必须的,不可脱离的。
当然,您可能已经完全明白智能车电机闭环调速系统怎么做,并且您可能也做的更好,要比我在这里所说的更加的先进更加的有创意更加的有效果。
所以在这里我只是简单的说说,谢谢。
首先,我们需要时刻反馈当前的智能车速度给单片机或者ARM,让系统知道当前速度,有助于控制。
我们先说说为什么我们要反馈车子速度,要知道车子当前的速度?因为我们的CPU利用传感器采集道路信息,通过CPU收集和处理变化,系统就能知道车子当前的状态,比如是在直到上?还是在进入弯道?还是在弯道内?还是正在出弯道?还是在上坡?还是穿过了起跑线?有了这些信息,我们首先就是对舵机的控制,控制车子根据什么道路情况来进行转弯,转弯的方向,大小,都是靠这些数据来实现,当然当前的速度值也是控制舵机转向大小的一个附加因素,这样更加的有利于我们及时处理不同弯道。
知道了这些信息,就跟我们开车一样,我们要转弯了,得感知我们车的速度,怎么感知啊,就靠汽车自带的速度表,这样我们就可以通过控制刹车或者油门还有方向盘来控制车子平稳的转过弯道,不同的弯道,不同的速度,转弯的控制和刹车的控制都是不同的。
如果我们不知道当前的速度,那么很可能因为拐弯速度过快,导致翻车,或者侧滑,造成危险。
智能车情况跟真车是一样的,我们必须知道车子当前速度,比如我们智能车拐弯安全速度是3M/S,所谓安全速度就是车子顺利安全且没有较大侧滑过弯时的速度,在进入弯道前我们车子的速度是4M/S,当传感器感知要进入弯道了,通过跟安全速度对比,我们发现智能车的速度远大于安全弯道速度,这个时候我们就要刹车,把车子速度快速降低到3M/S,这样保证我们顺利快速的过弯。