第1章:数学基础回顾

各位同学,欢迎来到《运动控制鲁棒控制算法实战》。

我是你们这门课的主讲。在开始撸代码、调参数之前,咱们得先把数学底子打牢。说实话,我见过太多工程师,算法背得滚瓜烂熟,一遇到矩阵奇异值分解就卡壳。嗯,这不行。

这一章,咱们就快速过一遍线性代数、拉普拉斯变换和状态空间方程。别嫌基础,这些都是后面鲁棒控制的“砖瓦”。

1.1 线性代数:矩阵、向量与特征值

线性代数,说白了就是研究“线性关系”的数学工具。在控制里,我们用它来描述多变量系统。

1.1.1 矩阵与向量

我个人习惯把矩阵看作一个“变换器”。你输入一个向量,它给你输出另一个向量。比如状态空间方程里的 A 矩阵,就是把当前状态 x 映射到状态导数

  • 向量:可以理解为一组数排成一列。比如 x = [x1; x2; x3]
  • 矩阵:就是数排成行和列。比如 A = [a11, a12; a21, a22]
  • 矩阵乘法:注意,不是对应元素相乘。是“行乘列”。我刚开始学的时候,经常搞混维度。记住:(m×n) * (n×p) = (m×p)

避坑指南:我曾经在调试一个四轴飞行器时,因为状态矩阵维度写错了,导致卡尔曼滤波直接发散。从那以后,我每次写矩阵乘法前,都会先检查维度。

1.1.2 特征值与特征向量

特征值,是线性代数的灵魂。为什么?因为它直接告诉你系统的“固有频率”和“阻尼比”。

定义很简单:对于方阵 A,如果存在非零向量 v 和标量 λ,使得 Av = λv,那么 λ 就是特征值,v 就是特征向量。

你想想看,这个公式意味着什么?意味着矩阵 A 对向量 v 的作用,仅仅是拉伸或压缩,不改变方向。这在分析系统稳定性时太有用了。

特征值位置 系统稳定性 我的经验
所有实部 < 0 稳定 这是理想情况,但实际系统往往有扰动
存在实部 > 0 不稳定 赶紧加控制器,不然系统会炸
实部 = 0 临界稳定 理论上稳定,实际中一点扰动就飘了

小技巧:计算特征值时,别手算。用 MATLAB 的 eig() 或者 Python 的 numpy.linalg.eig()。我当年手算一个 4x4 矩阵,算了一下午,结果还错了。

1.2 拉普拉斯变换与传递函数

拉普拉斯变换,是连接时域和频域的桥梁。为什么需要它?因为微分方程难解,但代数方程好解。

1.2.1 定义与性质

拉普拉斯变换的定义是:F(s) = ∫ f(t) e^(-st) dt。别被这个积分吓到,实际用的时候,我们查表就行。

我个人最常用的几个性质:

  • 线性性质L{af(t) + bg(t)} = aF(s) + bG(s)。简单吧?
  • 微分性质L{f'(t)} = sF(s) - f(0)。这个太重要了,它把微分变成了乘法。
  • 积分性质L{∫f(τ)dτ} = F(s)/s

1.2.2 传递函数

传递函数,就是零初始条件下,输出拉普拉斯变换与输入拉普拉斯变换之比。记作 G(s) = Y(s)/U(s)

举个例子,一个简单的 RC 低通滤波器,传递函数是 G(s) = 1/(RCs + 1)。你看,分母的根 s = -1/(RC) 就是系统的极点,它决定了系统的响应速度。

注意:传递函数只适用于线性时不变系统(LTI)。如果你遇到非线性系统,比如带摩擦的机械臂,传递函数就不够用了。这时候得用状态空间。

1.3 状态空间方程

状态空间方程,是现代控制理论的核心。它用一阶微分方程组来描述系统,特别适合多输入多输出(MIMO)系统。

1.3.1 标准形式

标准的状态空间方程长这样:

ẋ = Ax + Bu
y = Cx + Du

其中:

  • x 是状态向量(比如位置、速度)
  • u 是输入向量(比如电机电压)
  • y 是输出向量(比如传感器读数)
  • A 是系统矩阵,B 是输入矩阵,C 是输出矩阵,D 是前馈矩阵

1.3.2 从传递函数到状态空间

怎么把传递函数变成状态空间?方法很多,我常用的是“可控标准型”。

假设传递函数是 G(s) = (b1 s + b0) / (s^2 + a1 s + a0),那么状态空间可以写成:

A = [0, 1; -a0, -a1]
B = [0; 1]
C = [b0, b1]
D = [0]

你看,是不是很直观?

我的经验:在实际项目中,我更喜欢用状态空间而不是传递函数。因为状态空间可以方便地处理初始条件、非线性项和扰动。比如在无人机控制中,我会把风扰当作一个额外的状态变量加进去。

1.4 本章知识体系

为了让你更直观地理解这三块内容的关系,我画了一张图。你看,线性代数是基础,拉普拉斯变换连接时域和频域,状态空间则是现代控制的起点。

第1章:数学基础回顾 - 知识体系 线性代数 矩阵、向量 特征值、特征向量 系统稳定性分析 拉普拉斯变换 时域 → 频域 传递函数 G(s) 极点、零点 状态空间 ẋ = Ax + Bu y = Cx + Du MIMO系统建模 基础 扩展 矩阵运算支撑 鲁棒控制算法实战

好了,数学基础就复习到这里。这些内容看起来简单,但真正用熟需要大量练习。我建议你拿一个实际系统,比如倒立摆或者电机,试着用这三种方法分别建模,感受一下它们的区别。

课后练习:找一个二阶系统(比如质量-弹簧-阻尼系统),写出它的微分方程、传递函数和状态空间方程。然后计算特征值,判断系统是否稳定。

专注资料整理