一开始只用单环的时候,我发现结果总是与我事与愿违,因为我希望用小车车身角度(roll)作为反馈作用于PID算法,输出值经过处理映射到PWM值上来作为电机的驱动。这个环导致的结果是,角度到达期望值时角速度还是存在的,这时参数十分难调,小车会在期望位置上左右摇摆。
在读完这篇文章后
:飞控算法中双环串级PID如何理解? - zinghd的回答 - 知乎https://www.zhihu.com/question/293450508/answer/1173064155
我才懂得:
你的期望值是什么其实完全取决于你的反馈值,如果不表明反馈值,那期望值就是一个数字,或者一条曲线而已。
这个系统已经不像我之前调滚球系统时控制舵机角度那么简单了,舵机不会有过冲,到达位置时就停下,没有速度,在这里用单环控制 我会以一个无所谓的加速度,和速度,到达我的期望位置
我所能控制的是小车的电机的速度,反馈的是车身角度,我知道改变电机的速度可以改变车身角度 这其中有关系:在车身角度不为0时需要PID去控制减小角度误差,角度达标时要把速度变为0 所以我的PID控制角度是间接的 并且要符合前面的要求