96SEO 2026-02-20 03:04 0
在上一篇文章中我们已经成功的把编码器的反馈值给计算出来这篇文章将会讲解怎么使用反馈回来的速度值进行PID计算从而闭环控制电机的速度。

system)是指被控对象的输出(被控制量)对控制器(controller)的输出没有影响。
在这种控制系统中不依赖将被控量反送回来以形成任何闭环回路。
system)的特点是系统被控对象的输出(被控制量)会反送回来影响控制器的输出形成一个或多个闭环。
闭环控制系统有正反馈和负反馈若反馈信号与系统给定值信号相反则称为负反馈(
NegativeFeedback)若极性相同则称为正反馈一般闭环控制系统均采用负反馈又称负反馈控制系统。
闭环控制系统的例子很多。
比如人就是一个具有负反馈的闭环控制系统眼睛便是传感器充当反馈人体系统能通过不断的修正最后作出各种正确的动作。
如果没有眼睛就没有了反馈回路也就成了一个开环控制系统。
另例当一台真正的全自动洗衣机具有能连续检查衣物是否洗净并在洗净之后
function加到系统上时系统的输出。
稳态误差是指系统的响应进入稳态后﹐系统的期望输出与实际输出之差。
控制系统的性能可以用稳、准、快三个字来描述。
稳是指系统的稳定性(stability)一个系统要能正常工作首先必须是稳定的从阶跃响应上看应该是收敛的﹔准是指控制系统的准确性、控制精度通常用稳态误差来(Steady-state
error)描述它表示系统输出稳态值与期望值之差﹔快是指控制系统响应的快速性通常用上升时
将偏差的比例Proportion、积分Integral和微分Differential通过线性组合构成控制量用这一控制量对被控对象进行控制这样的控制器称
年历史它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。
当被控对象的结构和参数不能完全掌握或得不到精确的数学模型时控制理论的其它技术难以采用时系统控制器的结构和参数必须依靠经验和现场调试来确定这时应用
控制器就是根据系统的误差利用比例、积分、微分计算出控制量进行控制的。
占空比可以实现电机调试编码器可以检测当前电机转速。
那现在我需要控制电机转速为
并且是不同负载下都控制在这个速度。
开始电机处于停止状态此时PWM占空比为0
然后我们改变占空比为45%电机旋转通过编码器我们得到当前的速度只有
上面的占空比修改过程是通过我们人为根据编码器反馈回来的数据数据经过我们大脑处理后优化出来的调整过程。
如果我现在想要编程实现这个自动调整过程就是不管增加负载还是减少负载
程序自动调整占空比过程不外乎当速度小了就加大占空比速度大了就减少占空比主要是问题是究竟大多少或者减多少我们大脑的一般想法就是当前速度与目标速度差别大那占空比修改的幅度就大差别小那就修改幅度小。
但是这些终究是我们自己想的在程序里边要怎么实现呢比较高效的做法就是使用一个数学计算公式实现该公式有一个变量
当前速度与目标速度的速度差值有正负值之分公式的计算结果是占空比的修改幅度值有正负值之分。
一般在程序中的实现方法都是把这个数学计算公式用一个函数实现。
PID
实际上我们不仅仅想通过数学公式实现占空比自动调整并且是希望可以在很短的时间内就可以实现稳定在目标速度。
比例控制是一种最简单的控制方式。
其控制器的输出与输入误差信号成比例关系。
当仅有比例控制时系统输出存在稳态误差Steady-state
在积分控制中控制器的输出与输入误差信号的积分成正比关系。
对一个自动控制系统如果在进入稳态后存在稳态误差则称这个控制系统是有稳态误差的或简称有差系统System
Error。
为了消除稳态误差在控制器中必须引入“积分项”。
积分项对误差取决于时间的积分随着时间的增加积分项会增大。
这样即便误差很小积分项也会随着时间的增加而加大它推动控制器的输出增大使稳态误差进一步减小直到等于零。
因此比例积分(PI)控制器可以使系统在进入稳态后无稳态误差。
在微分控制中控制器的输出与输入误差信号的微分即误差的变化率成正比关系。
自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。
其原因是由于存在有较大惯性组件环节或有滞后(delay)组件具有抑制误差的作用其变化总是落后于误差的变化。
解决的办法是使抑制误差的作用的变化“超前”即在误差接近零时抑制误差的作用就应该是零。
这就是说在控制器中仅引入“比例”项往往是不够的比例项的作用仅是放大误差的幅值而目前需要增加的是“微分项”它能预测误差变化的趋势这样具有比例微分的控制器就能够提前使抑制误差的控制作用等于零甚至为负值从而避免了被控量的严重超调。
所以对有较大惯性或滞后的被控对象比例微分(PD)控制器能改善系统在调节过程中的动态特性。
由于计算机控制是一种采样控制它只能根据采样时刻的偏差计算控制量而不能像模拟控制那样连续输出控制量量进行连续控制。
公式1-1的积分项和微分项不能直接使用必须进行离散化处理。
离散化处理的方法为以
对应着连续时间t用矩形法数值积分近似代替积分用一阶后向差分近似代替微分可作如下近似变换
上式中为了方便表示将类似于e(kT)简化为ek,将(式1-2)代入(式1-1)就可以得到离散的PID表达式为
Kp*Td/T如果采样周期足够小则离散控制过程与连续控制过程十分接近。
是指数字控制器的输出只是控制量的增量∆uk。
当执行机构需要的控制量是增量而不是位置量的绝对数值时可以使用增量式
将公式1-3与公式1-5相减并整理得到增量式PID控制算法的公式为
PID代码文件在Middlewares/PID.cpp中具体内容如下
measured_value;if(abs(error)0.1)error0;integral_
{switch(configParam.RobotType){case
motor1_pid.update(-configParam.Max_PWM,
configParam.p_M1.K_i,configParam.p_M1.K_d);motor2_pid.update(-configParam.Max_PWM,
configParam.p_M2.K_i,configParam.p_M2.K_d);}break;case
转向舵机两个减速电机motor1_pid.update(-configParam.Max_PWM,
configParam.p_M1.K_i,configParam.p_M1.K_d);motor2_pid.update(-configParam.Max_PWM,
configParam.p_M2.K_i,configParam.p_M2.K_d);}break;
motor1_pid.update(-configParam.Max_PWM,
configParam.p_M1.K_i,configParam.p_M1.K_d);}}break;case
5:{//o3motor1_pid.update(-configParam.Max_PWM,
configParam.p_M1.K_i,configParam.p_M1.K_d);motor2_pid.update(-configParam.Max_PWM,
configParam.p_M2.K_i,configParam.p_M2.K_d);motor3_pid.update(-configParam.Max_PWM,
configParam.p_M3.K_i,configParam.p_M3.K_d);}break;case
7:{//m4motor1_pid.update(-configParam.Max_PWM,
configParam.p_M1.K_i,configParam.p_M1.K_d);motor2_pid.update(-configParam.Max_PWM,
configParam.p_M2.K_i,configParam.p_M2.K_d);motor3_pid.update(-configParam.Max_PWM,
configParam.p_M3.K_i,configParam.p_M3.K_d);motor4_pid.update(-configParam.Max_PWM,
configParam.p_M4.K_i,configParam.p_M4.K_d);}break;}
motor1_pid.compute(mDeb_p.M1.Expectations,mDeb_p.M1.Feedback);
motor2_pid.compute(mDeb_p.M2.Expectations,mDeb_p.M2.Feedback);
motor3_pid.compute(mDeb_p.M3.Expectations,mDeb_p.M3.Feedback);
motor4_pid.compute(mDeb_p.M4.Expectations,mDeb_p.M4.Feedback);
通过函数update()对参数进行赋值根据期望值和反馈值调用compute计算PID系统的输出PWM值。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback