机器人学数学基础
机器人学数学基础
引言:数学作为机器人学的语言
机器人学作为一门高度交叉的学科,其发展历程始终与数学工具的演进紧密相连。从早期简单的位置控制到如今复杂的多智能体协同系统,数学不仅提供了描述和分析问题的精确语言,更构成了理解机器人感知、决策与控制机制的理论基础。在自主机器人系统的研究中,我们面临的核心挑战——如何在不确定环境中实现精确的状态估计、鲁棒的规划控制——本质上都是数学问题。因此,建立扎实的数学基础对于深入理解机器人学的各个分支至关重要。
本章系统回顾自主机器人系统研究中必需的数学工具,涵盖四个核心领域:向量与矩阵理论、李群与李代数、概率论以及优化方法。这四个领域并非相互独立,而是构成了一个有机的整体:向量空间提供了描述机器人状态的线性框架;李群与李代数处理旋转与平移的非线性表示问题;概率论使系统能够在测量噪声和模型不确定性下进行推理;而优化理论则为轨迹规划、控制律设计和状态估计提供了统一的求解框架。掌握这些数学工具的内在联系,将为后续章节中感知、规划、控制算法的学习奠定坚实基础。
向量与矩阵:状态表示的线性框架
向量空间的基本结构
向量是机器人学中最基本的数学对象之一。无论是描述机械臂关节的角度与角速度,还是表示传感器在三维空间中的坐标位置,向量都提供了简洁而统一的表示方式。从严格数学意义上讲,向量空间(也称线性空间)是一个定义了加法运算和标量乘法运算的集合,满足八条公理:加法交换律、加法结合律、零向量存在性、负向量存在性、标量乘法对向量加法的分配律、标量乘法对标量加法的分配律、标量乘法结合律以及标量乘法单位元性质。
在机器人学的具体应用中,我们主要关注$n$维欧几里得空间$\mathbb{R}^n$,其中的向量可表示为有序实数元组:
$$\mathbf{v} = \begin{bmatrix} v_1 \\ v_2 \\ \vdots \\ v_n \end{bmatrix} = (v_1, v_2, \ldots, v_n)^T$$
其中上标$T$表示转置运算。这种列向量表示在机器人文献中最为常见,与之对应的行向量形式则多用于表达紧凑关系式。选择行或列形式会影响矩阵乘法的维度匹配,这一点在后续推导中尤为重要。
向量空间的维度由线性无关基向量的个数确定。对于$\mathbb{R}^n$,标准基$\{\mathbf{e}_1, \mathbf{e}_2, \ldots, \mathbf{e}_n\}$是常用的选择,其中$\mathbf{e}_i$的第$i$个分量为1,其余分量为0。任何向量$\mathbf{v}$可唯一表示为这些基向量的线性组合:$\mathbf{v} = \sum_{i=1}^n v_i \mathbf{e}_i$。这一分解的系数$(v_1, \ldots, v_n)^T$正是该向量在标准基下的坐标表示。
范数:向量大小的度量
范数是向量空间中衡量向量"大小"或"长度"的基本工具。形式上,范数是一个从向量空间到非负实数的函数$\|\cdot\|: V \to \mathbb{R}$,满足以下三条公理:正定性($\|\mathbf{v}\| \geq 0$,且$\|\mathbf{v}\| = 0$当且仅当$\mathbf{v} = \mathbf{0}$)、齐次性($\|c\mathbf{v}\| = |c|\|\mathbf{v}\|$)、以及三角不等式($\|\mathbf{v} + \mathbf{w}\| \leq \|\mathbf{v}\| + \|\mathbf{w}\|$)。
机器人学中最常用的范数包括:
$L_p$范数族:定义为$\|\mathbf{v}\|_p = \left(\sum_{i=1}^n |v_i|^p\right)^{1/p}$,其中$p \geq 1$。两个极端情况具有特殊重要性:当$p=1$时得到$L_1$范数(曼哈顿范数),$\|\mathbf{v}\|_1 = \sum_i |v_i|$,在稀疏优化和异常值处理中广泛应用;当$p=2$时得到欧几里得范数($L_2$范数),$\|\mathbf{v}\|_2 = \sqrt{\sum_i v_i^2}$,是连续空间中最自然的距离度量。
$L_\infty$范数:定义为$\|\mathbf{v}\|_\infty = \max_i |v_i|$,等价于$p \to \infty$时的极限形式。该范数在对各个分量都有约束的优化问题中经常出现。
加权范数:$\|\mathbf{v}\|_P^2 = \mathbf{v}^T \mathbf{P} \mathbf{v}$,其中$\mathbf{P}$为正定矩阵。这种范数在状态估计的协方差加权问题中至关重要,允许根据不同分量的可靠性差异进行差异化处理。
范数的选择对算法行为有深远影响。以$L_1$范数为例,其在原点处不可微的特性导致最优解倾向于落在坐标轴上(稀疏性),这在同时定位与地图构建(SLAM)的鲁棒估计中被广泛利用。相比之下,$L_2$范数的良好可微性使其便于解析求解,但对方差较大的测量值过于敏感。理解这些差异是设计恰当代价函数的基础。
内积与几何运算
内积(也称点积或标量积)在向量空间中引入了角度和正交性等几何概念。两个向量$\mathbf{u}$和$\mathbf{v}$的标准欧几里得内积定义为:
$$\langle \mathbf{u}, \mathbf{v} \rangle = \mathbf{u}^T \mathbf{v} = \sum_{i=1}^n u_i v_i$$
由内积可诱导出向量夹角的余弦公式:$\cos\theta = \frac{\langle \mathbf{u}, \mathbf{v} \rangle}{\|\mathbf{u}\|\|\mathbf{v}\|}$。当$\langle \mathbf{u}, \mathbf{v} \rangle = 0$时,称两向量正交(垂直)。正交性在线性代数和函数分析中具有根本重要性,它使得我们可以将向量空间分解为相互独立的子空间,这在信号处理和降维分析中尤为有用。
向量外积(叉积)则是$\mathbb{R}^3$中特有的运算,其结果仍为三维向量。对于$\mathbf{u} = (u_1, u_2, u_3)^T$和$\mathbf{v} = (v_1, v_2, v_3)^T$,外积定义为:
$$\mathbf{u} \times \mathbf{v} = \begin{bmatrix} u_2 v_3 - u_3 v_2 \\ u_3 v_1 - u_1 v_3 \\ u_1 v_2 - u_2 v_1 \end{bmatrix}$$
外积具有几何意义:$\|\mathbf{u} \times \mathbf{v}\| = \|\mathbf{u}\|\|\mathbf{v}\|\sin\theta$给出平行四边形面积,而方向由右手定则确定。在机器人学中,外积主要用于描述旋转的生成元和李代数的结构,将在后续章节详述。
外积与反对称矩阵存在一一对应关系。定义 skew 算符$[\cdot]_\times: \mathbb{R}^3 \to \mathfrak{so}(3)$:
$$[\mathbf{u}]_\times = \begin{bmatrix} 0 & -u_3 & u_2 \\ u_3 & 0 & -u_1 \\ -u_2 & u_1 & 0 \end{bmatrix}$$
则恒有$\mathbf{u} \times \mathbf{v} = [\mathbf{u}]_\times \mathbf{v}$。这一对应关系是连接向量运算与矩阵运算的桥梁,在姿态控制和旋转表示中频繁出现。
矩阵代数与线性变换
矩阵是线性代数的基本研究对象,在机器人学中承担着多重角色:表示坐标变换、描述系统动力学、编码优化问题的约束条件等。一个$m \times n$的矩阵$\mathbf{A} \in \mathbb{R}^{m \times n}$可视为从$\mathbb{R}^n$到$\mathbb{R}^m$的线性映射:$\mathbf{y} = \mathbf{A}\mathbf{x}$。这种映射的复合对应于矩阵乘法,而线性变换的核与像则分别对应齐次方程组的解空间和列向量张成的子空间。
矩阵的基本运算规则包括加法(要求同维度)、标量乘法、矩阵乘法(维度匹配:$\mathbf{A} \in \mathbb{R}^{m \times n}$与$\mathbf{B} \in \mathbb{R}^{n \times p}$相乘得到$\mathbf{C} \in \mathbb{R}^{m \times p}$)、转置(行变列)、求逆(仅对方阵且满秩时存在)。这些运算构成后续推导的基础工具。
矩阵的秩(rank)是其线性无关行/列的最大数目,反映了线性映射的"信息量"。满秩矩阵($n \times n$时行列式非零)的逆存在,使得方程$\mathbf{A}\mathbf{x} = \mathbf{b}$有唯一解。奇异值分解(SVD)是矩阵最重要的分解形式之一:
$$\mathbf{A} = \mathbf{U} \boldsymbol{\Sigma} \mathbf{V}^T$$
其中$\mathbf{U} \in \mathbb{R}^{m \times m}$和$\mathbf{V} \in \mathbb{R}^{n \times n}$为正交矩阵,$\boldsymbol{\Sigma} \in \mathbb{R}^{m \times n}$为对角矩阵,其对角线元素为奇异值$\sigma_1 \geq \sigma_2 \geq \ldots \geq 0$。SVD的几何意义清晰:任何线性变换可分解为旋转($\mathbf{V}^T$)、缩放($\boldsymbol{\Sigma}$)、再旋转($\mathbf{U}$)三个步骤。这在机器人视觉中的本质矩阵分解、传感器标定以及数据降维中都有重要应用。
正定性与二次型:对称矩阵$\mathbf{Q} \in \mathbb{R}^{n \times n}$若对所有非零向量满足$\mathbf{x}^T \mathbf{Q} \mathbf{x} > 0$,则称正定;若$\geq 0$则称半正定。正定矩阵的逆仍为正定,正定矩阵的和(若系数为正)仍为正定。这些性质在优化理论和概率论中具有根本重要性:正定矩阵保证二次函数$\mathbf{x}^T \mathbf{Q} \mathbf{x}$具有唯一全局最小点,这在梯度下降收敛性分析和卡尔曼滤波的协方差递推中都是关键。
导数与梯度运算
向量和矩阵的导数运算是连接数学分析与工程应用的桥梁。考虑标量函数$f: \mathbb{R}^n \to \mathbb{R}$对向量$\mathbf{x}$的导数,梯度定义为:
$$\nabla_\mathbf{x} f = \begin{bmatrix} \frac{\partial f}{\partial x_1} & \frac{\partial f}{\partial x_2} & \cdots & \frac{\partial f}{\partial x_n} \end{bmatrix}^T$$
梯度的几何意义是函数值增长最快的方向,其大小表示增长率。当梯度为零向量时,达到函数的(局部或全局)极值点,这构成求解优化问题的核心条件。
对于向量函数$\mathbf{f}: \mathbb{R}^n \to \mathbb{R}^m$,雅可比矩阵(Jacobian)定义为:
$$\mathbf{J} = \frac{\partial \mathbf{f}}{\partial \mathbf{x}} = \begin{bmatrix} \frac{\partial f_1}{\partial x_1} & \frac{\partial f_1}{\partial x_2} & \cdots & \frac{\partial f_1}{\partial x_n} \\ \frac{\partial f_2}{\partial x_1} & \frac{\partial f_2}{\partial x_2} & \cdots & \frac{\partial f_2}{\partial x_n} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial f_m}{\partial x_1} & \frac{\partial f_m}{\partial x_2} & \cdots & \frac{\partial f_m}{\partial x_n} \end{bmatrix}$$
雅可比矩阵的秩决定了向量映射的局部可逆性和自由度,在误差传播分析和传感器融合中具有重要意义。
海森矩阵(Hessian)则是标量函数的二阶导数:
$$\mathbf{H} = \nabla^2 f(\mathbf{x}) = \frac{\partial^2 f}{\partial \mathbf{x}^2}$$
海森矩阵刻画了目标函数的局部曲率,对于判断极值点的类型(二阶充分条件)和设计二阶优化方法(如牛顿法)至关重要。
矩阵微积分有其特殊规则,需要特别注意。以向量范数的梯度为例:$\|\mathbf{x}\|_2^2 = \mathbf{x}^T\mathbf{x}$的梯度为$2\mathbf{x}$;$\|\mathbf{A}\mathbf{x} - \mathbf{b}\|_2^2$的梯度为$2\mathbf{A}^T(\mathbf{A}\mathbf{x} - \mathbf{b})$。这些公式在目标函数构造和求导中频繁出现,熟练掌握可显著提高推导效率。
李群与李代数:旋转与平移的数学描述
群论基础与刚体变换
刚体变换是机器人学中描述物体位置和姿态的基本工具。一个刚体在三维空间中的位姿由旋转(orientation)和平移(translation)两部分组成,这种组合在数学上构成李群SE(3)(特殊欧几里得群)。为深入理解SE(3),我们首先引入群论的基本概念。
群的定义:集合$G$配备二元运算$\cdot: G \times G \to G$若满足以下四条公理,则称$(G, \cdot)$为群:封闭性(对任意$g_1, g_2 \in G$有$g_1 \cdot g_2 \in G$)、结合律($(g_1 \cdot g_2) \cdot g_3 = g_1 \cdot (g_2 \cdot g_3)$)、单位元存在(存在$e \in G$使得$e \cdot g = g \cdot e = g$对所有$g \in G$成立)、逆元存在(对每个$g \in G$存在$g^{-1} \in G$使得$g \cdot g^{-1} = g^{-1} \cdot g = e$)。
特殊正交群SO(3):三维旋转矩阵构成的群:
$$\text{SO}(3) = \{\mathbf{R} \in \mathbb{R}^{3 \times 3} \mid \mathbf{R}^T \mathbf{R} = \mathbf{I}, \det(\mathbf{R}) = +1\}$$
SO(3)中的每个元素是一个正交矩阵(列向量相互正交且模为1),行列式为+1保证旋向一致性(而非反射)。SO(3)是紧致群(所有元素构成的集合有界闭),这意味着其上可定义统一的测度,在概率分布的构造中具有重要意义。
特殊欧几里得群SE(3):三维空间刚体变换构成的群:
$$\text{SE}(3) = \left\{ \mathbf{T} = \begin{bmatrix} \mathbf{R} & \mathbf{t} \\ \mathbf{0}^T & 1 \end{bmatrix} \in \mathbb{R}^{4 \times 4} \mid \mathbf{R} \in \text{SO}(3), \mathbf{t} \in \mathbb{R}^3 \right\}$$
SE(3)的元素可直观理解为"齐次变换矩阵",其中$\mathbf{R}$表示旋转,$\mathbf{t}$表示平移。变换的复合规则为矩阵乘法:$\mathbf{T}_1 \mathbf{T}_2$表示先应用$\mathbf{T}_2$再应用$\mathbf{T}_1$(注意顺序,因刚体变换作用于空间点坐标时为右乘)。SE(3)的单位元为$\mathbf{I}_4$(4×4单位阵),逆元为:
$$\mathbf{T}^{-1} = \begin{bmatrix} \mathbf{R}^T & -\mathbf{R}^T \mathbf{t} \\ \mathbf{0}^T & 1 \end{bmatrix}$$
李代数的引入
李群作为光滑流形,其切空间在单位元处构成李代数。李代数是一个向量空间配备双线性括号运算,满足雅可比恒等式和反对称性。在机器人学中,李代数提供了局部线性化表示,使得我们可以用向量参数化旋转和变换,并利用指数/对数映射在李群与李代数之间相互转换。
SO(3)的李代数$\mathfrak{so}(3)$:定义为所有3×3反对称矩阵的集合:
$$\mathfrak{so}(3) = \{ \boldsymbol{\Phi} = [\boldsymbol{\phi}]_\times \in \mathbb{R}^{3 \times 3} \mid \boldsymbol{\phi} \in \mathbb{R}^3 \}$$
反对称性意味着$\boldsymbol{\Phi}^T = -\boldsymbol{\Phi}$,该性质保证了矩阵指数$\exp(\boldsymbol{\Phi})$必为正交矩阵。$\mathfrak{so}(3)$的李括号定义为矩阵交换子$[\boldsymbol{\Phi}_1, \boldsymbol{\Phi}_2] = \boldsymbol{\Phi}_1 \boldsymbol{\Phi}_2 - \boldsymbol{\Phi}_2 \boldsymbol{\Phi}_1$。
$\mathfrak{so}(3)$与$\mathbb{R}^3$之间存在同构关系:通过skew算符$[\cdot]_\times$及其逆(vee算符)$\vee: \mathfrak{so}(3) \to \mathbb{R}^3$,李代数元素可唯一对应到一个三维旋转向量。这一对应关系使得我们可以用"旋转向量"(rotation vector)来参数化旋转:$\boldsymbol{\phi} = \theta \mathbf{u}$,其中$\theta$为旋