3. 根轨迹的分离点与会合点

各位,咱们接着聊根轨迹。前面我们画出了根轨迹的大致走向,但有个细节很容易被忽略——那就是根轨迹在实轴上的“分分合合”。

你想想看,当系统参数从0变到无穷大时,闭环极点就像一群有组织的小兵,沿着根轨迹移动。有时候它们会从实轴上分开,有时候又会从四面八方汇聚到实轴上。这些“分手”和“碰头”的点,就是我们今天要讲的分离点会合点

核心概念一句话:分离点是根轨迹离开实轴的点,会合点是根轨迹回到实轴的点。说白了,就是闭环极点从实数变成复数(或反过来)的临界位置。

3.1 分离点与会合点的概念

先说说我的理解。我在调试一个电机伺服系统时,发现系统响应突然出现振荡。一查根轨迹,原来是分离点位置没算准,导致实际增益范围超出了预期。从那以后,我对分离点就特别敏感。

分离点:当增益K从0增大时,根轨迹从开环极点出发。如果两个极点都在实轴上,它们会先沿着实轴向中间移动,然后在某个点相遇,接着离开实轴变成一对共轭复数。这个相遇并离开的点,就是分离点。

会合点:反过来,当增益K继续增大,一对共轭复数极点可能会重新回到实轴上,在某个点相遇,然后一个向左、一个向右沿着实轴移动。这个相遇并回到实轴的点,就是会合点。

嗯,这里要注意:分离点和会合点一定出现在实轴上,或者出现在对称的复平面上(但这种情况较少见)。

3.2 求解方法

求解分离点和会合点,我个人习惯用两种方法:

方法一:解方程法(最常用)

根轨迹的幅值条件为:

|G(s)H(s)| = 1/K

在分离点或会合点处,根轨迹的增益K对s的导数为零,即:

dK/ds = 0

对于开环传递函数 G(s)H(s) = K * N(s)/D(s),特征方程为:

1 + K * N(s)/D(s) = 0
→ D(s) + K * N(s) = 0
→ K = -D(s)/N(s)

然后求导:

dK/ds = -[D'(s)N(s) - D(s)N'(s)] / [N(s)]² = 0

所以:

D'(s)N(s) - D(s)N'(s) = 0

解这个方程,得到的根就是候选的分离点或会合点。

我的小技巧:解出来的根不一定都是分离点或会合点。你需要验证:这个点是否在根轨迹上?是否在实轴上的根轨迹段内?只有同时满足这两个条件,才是真正的分离点或会合点。

方法二:试凑法(工程实用)

有时候方程阶数太高,解起来费劲。我建议用试凑法:

  1. 在实轴上找到根轨迹段
  2. 估计分离点的大致位置(通常在两个开环极点之间)
  3. 用幅值条件验证:在该点处,各开环极点到该点的距离乘积,等于各开环零点到该点的距离乘积乘以1/K
  4. 微调位置,直到满足条件

3.3 示例分析

咱们看一个具体的例子。假设开环传递函数为:

G(s)H(s) = K / [s(s+2)(s+4)]

这个系统有三个开环极点:s=0, s=-2, s=-4,没有开环零点。

第一步:确定实轴上的根轨迹段

根据180°相角条件,实轴上的根轨迹段是:(-∞, -4] 和 [-2, 0]。

第二步:判断分离点位置

在[-2, 0]这段上,两个极点s=0和s=-2会相向移动,最终在某个点分离。所以分离点应该在这个区间内。

第三步:求解

特征方程:1 + K/[s(s+2)(s+4)] = 0

所以:K = -s(s+2)(s+4) = -(s³ + 6s² + 8s)

求导:dK/ds = -(3s² + 12s + 8) = 0

解得:s = -2 ± 2/√3 ≈ -2 ± 1.155

即:s₁ ≈ -0.845,s₂ ≈ -3.155

第四步:筛选

s₁ = -0.845 在[-2, 0]区间内,是分离点。

s₂ = -3.155 在(-∞, -4]区间内吗?不在,它在[-4, -2]之间,而这个区间不是根轨迹段。所以s₂不是分离点或会合点。

结论:分离点在 s ≈ -0.845 处。此时对应的增益 K = -(-0.845)(-0.845+2)(-0.845+4) ≈ 0.845 × 1.155 × 3.155 ≈ 3.08。

3.4 分离角与会合角

知道了分离点的位置,我们还得知道根轨迹是以什么角度离开或进入实轴的。这个角度叫分离角会合角

对于实轴上的分离点,如果有l条根轨迹在此分离,那么相邻两条根轨迹之间的夹角为:

θ = 180°/l

在我们刚才的例子中,有2条根轨迹在分离点相遇并分离,所以分离角为90°。也就是说,根轨迹以±90°的方向离开实轴。

我曾经踩过的坑:有一次我算出了分离点,但没算分离角,直接画了个90°离开。结果发现根轨迹走向完全不对,因为忽略了开环零点的影响。记住:开环零点的存在会改变根轨迹的走向,分离角公式只适用于没有有限零点的情况。如果有零点,需要用相角条件重新计算。

3.5 多分离点的情况

有些系统会有多个分离点或会合点。比如开环传递函数为:

G(s)H(s) = K(s+1) / [s(s+2)(s+3)]

这个系统有一个零点s=-1,三个极点s=0, s=-2, s=-3。实轴上的根轨迹段是:(-∞, -3] 和 [-2, -1] 和 [0, ∞)。

在[-2, -1]段上,极点s=-2和零点s=-1之间会有一个会合点。在(-∞, -3]段上,极点s=-3会向左移动,没有分离点。在[0, ∞)段上,极点s=0会向右移动,也没有分离点。

求解过程我就不展开了,但你可以看到:分离点和会合点的数量,取决于开环极点和零点的分布

3.6 知识体系总结

下面这张图帮你理清分离点与会合点的核心逻辑:

分离点与会合点知识体系 分离点与会合点 分离点:离开实轴 会合点:回到实轴 方法一:解方程法 方法二:试凑法 ① 写出特征方程 K = -D(s)/N(s) ② 求导 dK/ds = 0 ① 在实轴根轨迹段上取点 ② 用幅值条件验证并微调 验证:在根轨迹上?在实轴段内?

3.7 实用建议

最后,给各位几个实用建议:

  • 先画实轴根轨迹段:这是判断分离点位置的基础,别跳过。
  • 分离点一定在实轴根轨迹段上:如果解出来的根不在这个区间,直接扔掉。
  • 注意开环零点的影响:零点会“吸引”根轨迹,改变分离点的位置和角度。
  • 用MATLAB验证:我习惯用 rlocus(sys) 画完根轨迹后,再用 [K, poles] = rlocfind(sys) 点选分离点位置,快速验证手算结果。

我的经验:在实际工程中,分离点附近的增益往往对应着系统从过阻尼到欠阻尼的过渡区。如果你想让系统响应快且无超调,就要避开这个增益范围。我曾经在一个温度控制项目中,就是通过调整增益避开分离点,才解决了系统振荡的问题。

好了,分离点与会合点就讲到这里。记住:算对了分离点,根轨迹就画对了一半