刚体转动下的向量求导公式
1 运动点在惯性系中的速度公式
考虑一个惯性系 \(I\) 和一个运动坐标系 \(B\) ,原点分别记作 \(O_I\) 和 \(O_B\) 。以下所有讨论,都默认以惯性系 \(I\) 为参考。
固定点的位置导数
当 \(B\) 系绕 \(O_I\) 做角速度为 \(\boldsymbol{\omega}\) 的转动时,考虑 \(B\) 系中的任意一个固定点 P:
\[\frac{\mathrm{d}\vec{O_IP}}{\mathrm{d}t}=\boldsymbol{\omega}\times\vec{O_IP}.\]
证明
记 P 点初始位置为 \(P_1\) ,运动 \(\Delta t\) 时间后位置为 \(P_2\) 。记 \(\vec{OP}\) 与角速度向量 \(\boldsymbol{\omega}\) 的夹角为 \(\theta\) . 用 \(\mathbf{r}(t)=\mathbf{r}\) 表示 \(\vec{O_IP_1}\) ,用 \(\mathbf{r}(t+\Delta t)\) 表示 \(\vec{O_IP_2}\) ,则变化量为 \(\mathbf{r}(t+\Delta t)-\mathbf{r}=\vec{P_1P_2}\) .

由图可知,变化量的大小为 \(2r\sin\theta\sin\left(\frac{1}{2}\omega\Delta t\right)\) ,变化量的方向和 \(\boldsymbol{\omega}\times(\mathbf{r}(t+\Delta t)+\mathbf{r})\) 一致。因此
\[\begin{aligned}
&\lim_{\Delta t\to 0}\frac{\mathbf{r}(t+\Delta t)-\mathbf{r}}{\Delta t}\\
=& \lim_{\Delta t\to 0}\frac{\frac{\boldsymbol{\omega}\times(\mathbf{r}(t+\Delta t)+\mathbf{r})}{\|\boldsymbol{\omega}\times(\mathbf{r}(t+\Delta t)+\mathbf{r})\|}\cdot2r\sin\theta\sin\left(\frac{1}{2}\omega\Delta t\right)}{\Delta t}\\
=& \lim_{\Delta t\to 0}\frac{\frac{2\boldsymbol{\omega}\times\mathbf{r}}{2\omega r\sin\theta}\cdot2r\sin\theta\cdot\left(\frac{1}{2}\omega\Delta t\right)}{\Delta t}\\
=& \boldsymbol{\omega}\times\mathbf{r}.
\end{aligned}\]
2 固定于运动坐标系的向量求导
固定在 \(B\) 系中的向量导数公式
在此基础上,考虑固定在 \(B\) 系的一个向量 \(\vec{PQ}\):
\[\frac{\mathrm{d}\vec{PQ}}{\mathrm{d}t}=\boldsymbol{\omega}\times\vec{PQ}.\]
证明
\[\begin{aligned}
\frac{\mathrm{d}\vec{PQ}}{\mathrm{d}t}&=
\frac{\mathrm{d}\vec{O_IQ}}{\mathrm{d}t}-\frac{\mathrm{d}\vec{O_IP}}{\mathrm{d}t}\\
&= \boldsymbol{\omega}\times\vec{O_IQ}-\boldsymbol{\omega}\times\vec{O_IP}\\
&=\boldsymbol{\omega}\times\vec{PQ}.
\end{aligned}\]
3. 向量的导数运输公式
3.1 一阶导数情况
在此基础上,考虑 \(B\) 系下的一个任意向量 \(\mathbf{r}\) 。
\[
\left(\frac{\mathrm{d}\mathbf{r}}{\mathrm{d}t}\right)_{I}
= \left(\frac{\mathrm{d}\mathbf{r}}{\mathrm{d}t}\right)_{B}+\boldsymbol{\omega}\times\mathbf{r}.
\]
Note
\(\left(\dfrac{\mathrm{d}\mathbf{r}}{\mathrm{d}t}\right)_{B}\) 表示向量 \(\mathbf{r}\) 相对于 \(B\) 系求导,在求导过程中,不考虑 \(B\) 系自身的运动。
详细而言,设 \(B\) 系的一组正交基向量为 \(\mathbf{i},\mathbf{j},\mathbf{k}\) ,则 \(\mathbf{r}\) 可以表示为
\[\mathbf{r} = r_x\mathbf{i} + r_y\mathbf{j} + r_z\mathbf{k} .\]
则导数为
\[\left(\frac{\mathrm{d}\mathbf{r}}{\mathrm{d}t}\right)_{B}=\dot{r}_x\mathbf{i}+\dot{r}_y\mathbf{j}+\dot{r}_z\mathbf{k}.\]
证明
沿用上述 \(\mathbf{r}\) 形式,\(\dot{\mathbf{r}}_I\) 可以表示为
\[\begin{aligned}
\dot{\mathbf{r}}_I
&= (\dot{r}_x\mathbf{i} + \dot{r}_y\mathbf{j} + \dot{r}_z\mathbf{k}) + r_x\dot{\mathbf{i}} + r_y\dot{\mathbf{j}} + r_z\dot{\mathbf{k}}\\
\left(\frac{\mathrm{d}\mathbf{r}}{\mathrm{d}t}\right)_{I}
&= \left(\frac{\mathrm{d}\mathbf{r}}{\mathrm{d}t}\right)_{B}+r_x\boldsymbol{\omega}\times \mathbf{i}+r_y\boldsymbol{\omega}\times \mathbf{j}+r_z\boldsymbol{\omega}\times \mathbf{k}\\
&= \left(\frac{\mathrm{d}\mathbf{r}}{\mathrm{d}t}\right)_{B}+\boldsymbol{\omega}\times(r_x\mathbf{i}+r_y\mathbf{j}+r_z\mathbf{k})\\
&= \left(\frac{\mathrm{d}\mathbf{r}}{\mathrm{d}t}\right)_{B}+\boldsymbol{\omega}\times\mathbf{r}.
\end{aligned}\]
应用示例
考虑世界坐标系 \(\mathcal{W}\) ,实际机体坐标系 \(\mathcal{B}\) ,期望机体坐标系 \(\mathcal{B_d}\) 。无人机当前姿态为 \(R\) ,期望姿态为 \(R_d\) 。无人机当前角速度向量 \(\Omega\) ,在机体坐标系下表示为 \(\omega\) ;期望角速度向量 \(\Omega_d\) ,在期望机体系下表示为 \(\omega_d\) ,在实际机体系中表示为 \(R^\top R_d \omega_d\) 。无人机惯性张量为 \(J\) 。
在无人机控制器设计中,我们要考虑引入角加速度前馈项。这个前馈项不是简单的 \(J \dot{\omega}_d\) ,因为 \(\dot{\omega}_d\) 是在期望机体系下表达的,而控制器的前馈项输出是作用在实际机体系下的。因此,我们要计算 \(\left[\dfrac{\mathrm{d}}{\mathrm{d}t}\Omega_d\right]_{B}\) ,其含义是期望角速度向量在实际机体系中的坐标分量,随时间如何变化。
考虑惯性系为世界坐标系 \(\mathcal{W}\),运动坐标系为实际机体坐标系 \(\mathcal{B}\) ,直接套用上述运输公式,有
\[\left[\frac{\mathrm{d}\Omega_d}{\mathrm{d}t}\right]_{\mathcal{B}} = \left[\frac{\mathrm{d}\Omega_d}{\mathrm{d}t}\right]_{\mathcal{W}} - \Omega\times\Omega_d.\]
针对等式右侧第一项,我们考虑运动坐标系为期望机体坐标系 \(\mathcal{B_d}\) 的情况,再次套用运输公式,有
\[\begin{aligned}\left[\frac{\mathrm{d}\Omega_d}{\mathrm{d}t}\right]_{\mathcal{W}} &= \left[\frac{\mathrm{d}\Omega_d}{\mathrm{d}t}\right]_{\mathcal{B_d}}+\Omega_d\times\Omega_d\\
&= \left[\frac{\mathrm{d}\Omega_d}{\mathrm{d}t}\right]_{\mathcal{B_d}}.
\end{aligned}\]
因此有
\[\left[\frac{\mathrm{d}\Omega_d}{\mathrm{d}t}\right]_{\mathcal{B}} = \left[\frac{\mathrm{d}\Omega_d}{\mathrm{d}t}\right]_{\mathcal{B_d}} - \Omega\times\Omega_d.\]
我们将上式统一用实际机体坐标表达
\[\frac{\mathrm{d}}{\mathrm{d}t}(R^\top R_d \omega_d)=R^\top R_d\dot{\omega}_d-\omega\times(R^\top R\omega_d).\]
从而,控制器所需的前馈项形式为
\[J\left[R^\top R_d\dot{\omega}_d-\omega\times(R^\top R\omega_d)\right],\]
这和常见的 SE(3) 控制器中使用的前馈项形式是一致的。
3.2 二阶导数情况
接下来,再对 \(I\) 系求导一次:
\[\begin{aligned}
\ddot{\mathbf{r}}_I
&=\ddot{\mathbf{r}}_B+2\boldsymbol{\omega}\times\dot{\mathbf{r}}_B+\dot{\boldsymbol{\omega}}\times\mathbf{r}+\boldsymbol{\omega}\times(\boldsymbol{\omega}\times\mathbf{r})
\end{aligned}\]
证明
\[\begin{aligned}
\ddot{\mathbf{r}}_I
&=\left(\frac{\mathrm{d}}{\mathrm{dt}}\right)_I\dot{\mathbf{r}}_B+\left(\frac{\mathrm{d}}{\mathrm{dt}}\right)_I(\boldsymbol{\omega}\times\mathbf{r})\\
&=\ddot{\mathbf{r}}_B+\boldsymbol{\omega}\times\dot{\mathbf{r}}_B+\dot{\boldsymbol{\omega}}\times\mathbf{r}+\boldsymbol{\omega}\times\dot{\mathbf{r}}_I\\
&= \ddot{\mathbf{r}}_B+\boldsymbol{\omega}\times\dot{\mathbf{r}}_B+\dot{\boldsymbol{\omega}}\times\mathbf{r}+\boldsymbol{\omega}\times(\dot{\mathbf{r}}_B+\boldsymbol\omega\times\mathbf{r})\\
&=\ddot{\mathbf{r}}_B+2\boldsymbol{\omega}\times\dot{\mathbf{r}}_B+\dot{\boldsymbol{\omega}}\times\mathbf{r}+\boldsymbol{\omega}\times(\boldsymbol{\omega}\times\mathbf{r}).
\end{aligned}\]