介绍部分常用的基础数学知识(持续更新…)。
泰勒级数、矩阵指数函数、向量的斜对称矩阵、向量叉乘是在机器人控制中常用的基本数学知识,本文对这些知识做一个汇总,为将来的机器人研究做铺垫。为了能正常浏览公式,推荐使用Chrome浏览器,并添加一款名为TeX All the Things
的插件。在Markdown文本中编写公式的语法参见如下链接:
Markdown文本中编辑数学公式的语法规则
通过上述语法规则所编写的大部分公式可以通过浏览器正常观看,但是矩阵除外。为了能正确显示矩阵,可以通过在线LaTeX公式编辑器(链接如下)将公式转为.png(建议分辨率为120),再插入文中。
在线LaTeX公式编辑器
个人博客的同步文章见:常用的数学基础知识集锦
常用的矩阵指数函数如下所示。
e A t = ∑ k = 0 ∞ A k t k k ! = I + A t + ( A t ) 2 2 ! + ( A t ) 3 3 ! + ⋯ (2-1) e^{\pmb A t} = \sum_{k=0}^\infty \frac{\pmb{A}^{k} t^k}{k!} = \pmb{I} + \pmb{A}^{t} + \frac{(\pmb{A}t)^2}{2!} + \frac{(\pmb{A}t)^3}{3!} + \cdots \tag {2-1} eAAAt=k=0∑∞k!AAAktk=III+AAAt+2!(AAAt)2+3!(AAAt)3+⋯(2-1)
sin A t = ∑ k = 0 ∞ ( − 1 ) k A 2 k + 1 t 2 k + 1 ( 2 k + 1 ) ! (2-2) \sin\pmb{A}{t} = \sum_{k=0}^\infty \frac{(-1)^k \pmb{A}^{2k+1} t^{2k+1}}{(2k+1)!} \tag {2-2} sinAAAt=k=0∑∞(2k+1)!(−1)kAAA2k+1t2k+1(2-2)
cos A t = ∑ k = 0 ∞ ( − 1 ) k A 2 k t 2 k ( 2 k ) ! (2-3) \cos\pmb{A}{t} = \sum_{k=0}^\infty \frac{(-1)^k \pmb{A}^{2k} t^{2k}}{(2k)!} \tag {2-3} cosAAAt=k=0∑∞(2k)!(−1)kAAA2kt2k(2-3)
正弦、余弦函数的泰勒级数展开如式(2-4)~(2-5)所示。
sin x = ∑ k = 0 ∞ ( − 1 ) k ( 2 k + 1 ) ! x 2 k + 1 (2-4) \sin x = \sum_{k=0}^\infty \frac{(-1)^k}{(2k+1)!} x^{2k+1} \tag {2-4} sinx=k=0∑∞(2k+1)!(−1)kx2k+1(2-4)
cos x = ∑ k = 0 ∞ ( − 1 ) k ( 2 k ) ! x 2 k (2-5) \cos x = \sum_{k=0}^\infty \frac{(-1)^k}{(2k)!} x^{2k} \tag {2-5} cosx=k=0∑∞(2k)!(−1)kx2k(2-5)
给出一个一阶线性微分方程:
y ˙ ( t ) = x y ( t ) (3-1) \dot{y}(t) = xy(t) \tag {3-1} y˙(t)=xy(t)(3-1)
即:
d y ( t ) d t = x y ( t ) (3-2) \frac{\mathrm{d} y(t)}{\mathrm{d}t} = xy(t) \tag {3-2} dtdy(t)=xy(t)(3-2)
将式(3-2)变形,可得:
1 y ( t ) d y ( t ) = x d t (3-3) \frac{1}{y(t)}\mathrm{d}y(t) = x\mathrm{d}t \tag {3-3} y(t)1dy(t)=xdt(3-3)
对上式两边进行积分:
∫ 1 y ( t ) d y ( t ) = ∫ x d t (3-4) \int {\frac{1}{y(t)}\mathrm{d}y(t)} = \int {x\mathrm{d}t} \tag {3-4} ∫y(t)1dy(t)=∫xdt(3-4)
即:
ln y ( t ) = x t + C (3-5) \ln y(t) = xt + C\tag {3-5} lny(t)=xt+C(3-5)
上式中, C C C是常数,对上式两边取指数,有:
y ( t ) = e x t y ( 0 ) (3-6) y(t) = e^{xt}y(0) \tag {3-6} y(t)=exty(0)(3-6)
式(3-6)中, y ( 0 ) y(0) y(0)表示 y ( t ) y(t) y(t)在零时刻的取值。
定义向量 ω = [ ω 1 ω 2 ω 3 ] T \pmb\omega = \begin{bmatrix} \omega_1 & \omega_2 & \omega_3 \end{bmatrix}^{\mathrm T} ωωω=[ω1ω2ω3]T 及其斜对称矩阵(又称为反对称矩阵) ω ^ \pmb{\bf{\hat \omega }} ω^ω^ω^ 为:
ω ^ = [ 0 − ω 3 ω 2 ω 3 0 − ω 1 − ω 2 ω 1 0 ] (4-1) \pmb{\bf{\hat \omega }}= \begin{bmatrix} 0 & -\omega_3 & \omega_2 \\ \omega_3 & 0 & -\omega_1 \\ -\omega_2 & \omega_1 & 0 \end{bmatrix} \tag{4-1} ω^ω^ω^=⎣⎡0ω3−ω2−ω30ω1ω2−ω10⎦⎤(4-1)
斜对称矩阵的性质如下:
ω ^ T = − ω ^ (4-2) \pmb{\bf{\hat \omega }}^\mathrm{T} = -\pmb{\bf{\hat \omega }} \tag {4-2} ω^ω^ω^T=−ω^ω^ω^(4-2)
ω ^ 2 = ω ω T − ∥ ω ∥ 2 I (4-3) \pmb{\bf{\hat \omega }}^2 = \pmb{\bf{ \omega }}\pmb{\bf{ \omega }}^\mathrm{T} - {\lVert \pmb\omega \rVert}^2 \pmb{I} \tag{4-3} ω^ω^ω^2=ωωωωωωT−∥ωωω∥2III(4-3)
ω ^ 3 = − ∥ ω ∥ 2 A ω ^ (4-4) \pmb{\bf{\hat \omega }}^3 = -{\lVert \pmb\omega \rVert}^2 \pmb{A}\pmb{\bf{\hat \omega }} \tag{4-4} ω^ω^ω^3=−∥ωωω∥2AAAω^ω^ω^(4-4)
向量的叉乘,又称为向量积。
两个平面向量 a \pmb a aaa、 b \pmb b bbb的叉乘记为 a × b \pmb a \times\pmb b aaa×bbb,模长的计算方法如下:
∣ a × b ∣ = ∣ a ∣ ⋅ ∣ b ∣ ⋅ sin θ (5-1) {\lvert \pmb a \times\pmb b\rvert} = {\lvert \pmb a\rvert} \cdot {\lvert \pmb b\rvert} \cdot \sin\theta \tag{5-1} ∣aaa×bbb∣=∣aaa∣⋅∣bbb∣⋅sinθ(5-1)
方向为:向量积的方向与这两个向量所在平面垂直,且遵守右手定则。(一个简单的确定满足“右手定则”的结果向量的方向的方法是这样的:若坐标系是满足右手定则的,当右手的四指从 a \pmb a aaa 以不超过180度的转角转向 b \pmb b bbb 时,竖起的大拇指指向是叉乘的方向。)
在上图中, a × b \pmb a \times\pmb b aaa×bbb 的方向是垂直指向屏幕外侧。
物理意义:向量的叉乘常用来表示平行四边形的面积。从上图可以看出: a × b \pmb a \times\pmb b aaa×bbb 表示的是平行四边形面积, a × c \pmb a \times\pmb c aaa×ccc 表示的是矩形面积,显然有:
a × b = a × c (5-2) \pmb a \times\pmb b = \pmb a \times\pmb c \tag{5-2} aaa×bbb=aaa×ccc(5-2)
这意味着, a \pmb a aaa 与任意以 a \pmb a aaa 所在直线上一点为起点、以 b \pmb b bbb 的终点为终点的向量进行叉乘,得到的结果都是一样的。
将二维平面内的向量拓展到三维空间,若 a = [ a 1 a 2 a 3 ] T \pmb a = \begin{bmatrix} a_1 & a_2 & a_3 \end{bmatrix}^{\mathrm T} aaa=[a1a2a3]T与 b = [ b 1 b 2 b 3 ] T \pmb b = \begin{bmatrix} b_1 & b_2 & b_3 \end{bmatrix}^{\mathrm T} bbb=[b1b2b3]T进行叉乘,则有如下结果:
a × b = [ a 2 b 3 − a 3 b 2 a 3 b 1 − a 1 b 3 a 1 b 2 − a 2 b 1 ] = [ 0 − a 3 a 2 a 3 0 − a 1 − a 2 a 1 0 ] [ b 1 b 2 b 3 ] = a ^ b (5-3) \pmb a \times \pmb b = \begin{bmatrix} a_2b_3 - a_3b_2 \\ a_3b_1 - a_1b_3 \\ a_1b_2 - a_2b_1 \end{bmatrix} = \begin{bmatrix} 0 & -a_3 & a_2 \\ a_3 & 0 & -a_1 \\ -a_2 & a_1 & 0 \end{bmatrix}\begin{bmatrix} b_1 \\ b_2 \\ b_3 \end{bmatrix}=\pmb{{\hat a }}\pmb b \tag{5-3} aaa×bbb=⎣⎡a2b3−a3b2a3b1−a1b3a1b2−a2b1⎦⎤=⎣⎡0a3−a2−a30a1a2−a10⎦⎤⎣⎡b1b2b3⎦⎤=a^a^a^bbb(5-3)
上式建立起了向量叉乘与向量斜对称矩阵之间的联系。