PID控制
引言:在工业应用中PID及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法,如果能够熟练掌握PID算法的设计与实现过程,对于一般的研发人员来讲,应该是足够应对一般研发问题了,而难能可贵的是,在我所接触的控制算法当中,PID控制算法又是最简单,最能体现反馈思想的控制算法,可谓经典中的经典。经典的未必是复杂的,经典的东西常常是简单的,而且是最简单的。
PID控制算法的C语言实现一 PID算法原理先看看PID算法的一般形式:PID的流程简单到了不能再简单的程度,通过误差信号控制被控量,而控制器本身就是比例、积分、微分三个环节的加和。这里我们规定(在t时刻): 1.输入量为rin(t);(设定值) 2.输出量为rout(t);(实际值) 3.偏差量为err(t)=rin(t)-rout(t);
理解一下这个公式,主要从下面几个问题着手,为了便于理解,把控制环境具体一下: 1.规定这个流程是用来为直流电机调速的; 2.输入量rin(t)为电机转速预定值; 3.输出量rout(t)为电机转速实际值; 4.执行器为直流电机; 5.传感器为光电码盘,假设码盘 ...
PT与PVT路径规划
本文介绍位置-时间(PT)和位置-速度-时间(PVT)路径插值算法。下面包含了两种算法的优缺点。PT和PVT算法将一系列的点-时间对写入到控制卡中,在每个采样创建一个实时的位置。PVT插值类型还需要附加每个点上的速度。一个点可以有多个维度。在PT模式下:PT算法计算出一个合适的速度曲线。PT算法保证控制卡的轨迹计算符合每一个已知的点和时间,达到这一条件所需的分段速度只需由该分段的位置和时间的差分就可以计算出来。
什么时候适用PT算法?PT算法非常适用于密集点或低速。这是一个非常简单的算法,只需要很少的计算,运算速度很快。由上图可以看到,这里的速度跃变都是理想情况的突变,没有加速度的加入,因而如果点之间的距离太远,运动将很粗糙,存在较大的误差。最好将点间距保持在几个样本内。默认采样率为500微秒。在PVT模式下:在保证PT的同时,这个算法还保证在对应的时间,对应的位置达到对应的速度。这个计算源自标准运动学方程,具体原理不详述。
简单的PVT示例例如,可以使用三个位置、速度和时间点的列表生成梯形速度轮廓运动:
值得注意的是,PVT算法不关心非特征点的位置、速度和时间情况,而只保证特征点满足 ...
快捷键使用
说明这些快捷键对很多编辑器来说都是通用的,建议学一学
窗口操作切换窗口:Alt+Tab窗口移动:Win+↑/↓/←/→
文件操作保存:Ctrl+S关闭文件:Ctrl+W撤销:Ctrl+Z恢复:Ctrl+Shift+Z复制/粘贴:Ctrl+C/V向上/向下翻页:PageUp/PageDown切换到左/右边的文件:Ctrl+PageUp/PageDown
选择操作全选:Ctrl+A选中:Shift+各种移动/跳转
光标操作上/下/左/右移动光标:↑/↓/←/→向上/下插入光标:Ctrl+Alt+↑/↓在下一个匹配项处插入光标:Ctrl+D查找/替换匹配项:Ctrl+F/H全局查找/替换匹配项:Ctrl+Shift+F/H
更改操作行删除:Shift+Delete行上/下交换:Alt+↑/↓
跳转操作跳转到上/下个光标位置:Alt+←/→跳转到词首/尾:Ctrl+←/→跳转到行首/尾:Home/End跳转到列首/尾:Ctrl+Home/End跳转到行:Ctrl+G跳转到括号:Ctrl+Shift+\跳到定义:F12查看定义:Alt+F12
VSCode 其他操作向右拆分编辑器:Ctrl+\行 ...