我正在尝试为机器人设计一个平衡控制器。使用 MATLAB simulink,我得到了机器人的输入和俯仰角之间的传递函数。我在下面绘制了波特图和奈奎斯特图。
如您所见,奈奎斯特图看起来很奇怪,并且在波特图中,低频信号被衰减了。为了解决这个问题,我在幅度图的峰值处添加了一个零,所以
这会产生一个 I-term,如下所示:
当我将它添加到控制器时,波特图现在变成了。
现在我还想添加一个前置项来防止过冲,但我通常这样做的方式是改变交叉频率这样有良好的相位裕度,定义一些常数,然后用公式找到前导项. 然后我可以用
但是当我查看当前的相位图时,看起来相位裕度没有问题。相位永远不会接近所以我不确定如何处理这种看起来很奇怪的相位图。
所以我的问题是,当相位图看起来像这样时,我如何找到我的提前期?除了我提出的建议之外,还有其他方法吗?
编辑
输入和俯仰角之间的开环传递函数是 在 MATLAB 中使用“pole”命令,我注意到 RHP 中有一个极点,这应该会导致一些不稳定。