星空·体育中国官方网 智能车速度控制pid(电机闭环控制算法)
智能车电机闭环控制算法,标题未标注为智能车电机PID闭环控制算法,原因是PID算法并不十分适合智能车这类变化迅速的系统,智能车电机调速需持续进行,我之前描述的经典PID算法,主要针对惰性系统,即变化缓慢的系统,因此完整PID算法用于智能车电机调速是不可行的,即便使用也必须进行相应调整和优化。此番概述仅为个人见解,若有偏差,恳请各位前辈纠正。此刻或许有人会困惑,PID调节不适用于智能车辆驱动电机,那么何种方法才合适呢?
我之前参与过智能车项目,根据我的认识,P算法用于调控电机时,即比例控制最为理想,它响应迅速,调控精准,无需考虑积分和微分影响,特别适合周期性短的控制系统,不过,针对某些特定的逻辑控制需求,或许需要选用PD算法,借助微分功能进行修正,以此避免出现振荡和过冲现象,现在,我将阐述电机控制算法从初步构建到最终确立的流程
首先必须确保编码器已经安装到位,车辆速度能够得到回传,只有配备编码器,形成速度反馈,才能构成一个闭环系统,这是必要条件。此外,也可以选用码盘或者霍尔开关,或者任何其他能够提供车速信息的装置,它们都能达到同样的效果。
初始阶段应当选择在速度较低的情形下,运用PID方法对电机实施调控,之所以最初推荐您选用PID,关键在于帮助您透彻认识PID的核心内涵星空体育平台官网入口,掌握其调试流程与技巧,进而为今后对控制理论进行更进一步的探究和编写奠定基础。关于PID三个系数的设定方式,许多资料都有介绍,这里做简要说明:首先将所有D参数归零,接着先调整P系数,使其大致符合目标速度,即基本稳定在目标脉冲值,当然此时会出现明显波动,无需担忧,然后调整I系数,调整后波动会显著减弱,但车辆响应会变慢,存在一定滞后,最后调整D系数,调整后能提升调节的灵敏度和预见性,在目标速度变化时实现平稳过渡,且能长时间稳定在目标速度附近,至此PID三个系数的大致范围就确定了,之后需根据实际车辆运行情况微调这些系数,当然在您调试PID之前,务必充分学习PID相关理论,这有助于调试和理解,当您将PID调整到位后,就基本掌握了PID的核心要义,这对今后的调试工作大有裨益。这个数值就是对应于前面那个关于温度的设定值,含义完全相同。
学会PID控制后,能实现设定多少速度就稳定在多少,可以略为提速,慢慢看结果,会发现速度越高,控制难度越大,反应迟缓,不灵活。现在可以尝试取消I积分部分,接着重新设置参数,依照先前说明,然后继续监测表现,试着加快速度,再继续监测,由于车速确实很慢,许多细节都能显现出来,因此可以观察到PID转为PD之后,实际效果提升了多少,这算是一种提升,此时经典的PID公式已经被我们简化,无需担忧,可以多进行尝试多加留意,或许在这个转变过程中,能获得很多启示,激发许多想法,这对今后调试车辆都有益处。因此钻研自动驾驶技术,通过逐步探索积累知识,所收获的远非从特定网店购置现成方案可比,领悟更深,视野更宽。
当车辆速度不超过三米每秒时,我极力建议使用PD算法,该算法调整起来最为便捷,控制起来也最为简单。现在我也极力提议您整合P调节功能,P调节并非仅通过P乘以偏差来计算PWM值,而是必须融入特定的控制逻辑星空体育app官方下载,若忽略控制逻辑而直接套用比例公式确定PWM数值,会引发诸多麻烦,详细的控制逻辑说明,我将在后续撰写相关资料,感谢。增量式编码器反馈的智能车电机闭环调速系统:其实通过我前面提到的案例,到现在,您或许已经理解对于智能车而言闭环系统是必不可少的,无法替代的。当然,您可能已经完全掌握智能车电机闭环调速系统的实现方法,并且您可能也做得更出色,比我这里阐述的更加前沿更加有新意更加有成效。所以在这里我只是简单的说说。
要确保实时将智能车的即时行驶速率通报给单片机或ARM,以便系统掌握这一数据,这对实施有效操控很有必要。
我们首先解释为何需要报告车辆行驶速率,以及为何要了解车辆实时速度,因为中央处理器借助感应设备获取道路状况,经由中央处理器汇集并分析动态数据,系统能够掌握车辆当前情形,例如是处于上坡路段,抑或是驶入弯道,又或是行进于弯道之中,亦或是正要驶出弯道,亦或是正在爬升坡度,亦或是已经越过了起点线。掌握这些资料后,我们首要任务是对舵机实施操控,依据道路状况来引导车辆转向,确定转弯的走向,调整转弯幅度,这些操作均依赖这些数据完成,同时当前速度也是影响舵机转向幅度的一个辅助条件,这样能更有效地应对各种弯道。明白了这些内容,就像我们驾驶车辆,需要转向时,必须了解当前行驶的快慢星空综合体育app下载,如何得知呢,就是依据车辆自带的测速装置,这样我们就能借助调节制动或油门以及转向盘,使车子平稳地完成转弯动作,不同的弯道,不同的行驶速度,转弯的操作和制动的操作都是不一样的。若对现行速率不甚明了,极有可能因弯道速率过高,致使车辆倾覆,或发生侧滑,由此引致风险。智能车辆运行状况与常规车辆相似,我们必须掌握其即时行驶速率,例如智能车辆转弯时的安全速率设定为3米每秒,此速率确保车辆在转弯过程中平稳且无显著侧滑,当前智能车辆在进入弯道前的行驶速率为4米每秒,当传感器探测到即将进入弯道时,通过将当前速率与安全速率进行比对,发现智能车辆的速率远超转弯安全速率,此时需执行制动操作,迅速将车辆速率降至3米每秒,以此确保车辆能够平稳且高效地完成转弯动作。您或许会好奇3M/S的安全速度是如何确定的,其实道理很简单,这个速度是通过实验获得的,无需进行复杂的计算,完全属于经验数据,它取决于跑道的材质、车辆机械状况以及弯道的曲率,因此我们比赛前必须进行试车,试车过程中最关键的步骤就是了解比赛跑道所使用的材料,这有助于我们确定实验车辆的安全速度。关于智能车的速度信息反馈,我这里以增量式编码器为例,实际上码盘和霍尔传感器的运作方式是类似的。光电增量式编码器与绝对值编码器存在差异,后者在旋转一周的各个固定点会产生唯一数值的反馈,而前者转动整圈仅产生固定数量的脉冲信号,无法指示具体位置,其输出形式多为方波,便于微控制器进行信息获取。借助编码器,我们运用齿轮、皮带等部件将其与电机或传动轮相接,电机转动时会驱动编码器同步旋转,编码器便会产生方波信号,传输至单片机,我们即可读取编码器发出的脉冲量。获得脉冲后,或许您会思考脉冲数量并无固定模式,随转动不断累积,究竟如何判定速度?现在您稍微操作一下,留意一下数据规律,就会发现,当车辆行驶速度较快时,脉冲数量增加得比较迅速,也就是说,发动机转速越高,信号频率就越强,每秒钟内接收到的脉冲信号就越多,由此立刻获得了思路,我们采用定时装置设定一个触发信号,这个触发信号的时间间隔是5毫秒,那么每过5毫秒,我们就检测一次编码器的脉冲读数,在检测完成后,立即将脉冲计数器归零,这样在5毫秒的时间段内,测得的脉冲数量越多,就表明车辆行驶得越快,至此,车速的问题就得到了有效处理。您或许会问:为何尚未得出速度?需将脉冲依据距离和时间换算成确切的XX米/秒速率。此思路虽佳,却非必需,我们根本无需耗费时间进行此计算,毕竟原本目的就是求速度,脉冲数量本身即可反映速度高低,何必多此一举转为具体数值?一段时间内的脉冲数量已经达标了,达到了底层硬件进行运算判断的标准了。由于我们提供的数据形式是脉冲数量,因此设定的速度也会以脉冲数量来体现,比如50个脉冲对应着3米每秒的速度,80个脉冲则对应着4米每秒的速度,这样通过设定道路的种类来决定脉冲数量,就能完成电机的闭环管理了,这难道不简便吗?有人会问,脉冲数和速度的对应关系是怎么算出来的,比如50个脉冲对应3M/S,80个脉冲对应4M/S,其实计算方法很简单,很多人在制作智能车时,容易把简单的问题想得太复杂,实际上很多问题只需要几行代码就能解决,例如处理坡道的情况,有些人用了许多复杂的设计,比如增加一个开关装置,或者加入加速度传感器,甚至使用陀螺仪,但这些完全没必要,用几行程序就能轻松完成。设定一个脉冲值,让车辆完成整圈行驶,记录所用时间,用跑道总长度除以该时间,即可得出该脉冲值对应的速度数值,只需大致了解这种对应关系即可,无需逐一进行测试,我们通常感知到的X米每秒这种宏观速度,与单片机的工作原理毫无关联。
我要评论