Advertisement

方向余弦矩阵DCM&刚体的矢量—矩阵描述

阅读量:

方向余弦矩阵DCM&刚体的矢量—矩阵描述

    • 简介
    • 方向余弦矩阵
    • 刚体的矢量—矩阵描述

简介

我本意是为了学习理论力学,但是我对方向余弦矩阵的理解不够,所以不得不补习一下基础知识。这个过程里,我发现网上其他的文章当中,没有从方向余弦矩阵讲到理论力学的(但是有DCM&无人机的文章)。为了方便自己以后复习,我就把两个部分合并在一起写下来。第一次写文,若有不足望海涵

方向余弦矩阵

  1. 简介
    百度百科的解释
    方向余弦是指在解析几何里,一个向量的三个方向余弦分别是这向量与三个坐标轴之间的角度的余弦。两个向量之间的方向余弦指的是这两个向量之间的角度的余弦。方向余弦是指在解析几何里,一个向量的三个方向余弦分别是这向量与三个坐标轴之间的角度的余弦。两个向量之间的方向余弦指的是这两个向量之间的角度的余弦。
    “方向余弦矩阵”是由两组不同的标准正交基的基底向量之间的方向余弦所形成的矩阵。方向余弦矩阵可以用来表达一组标准正交基与另一组标准正交基之间的关系,也可以用来表达一个向量对于另一组标准正交基的方向余弦。
    我的通俗理解
    线性空间中的一个矢量,是不依赖坐标系的。但是在理论力学中,我们往往需要一个坐标系去描述该矢量。
    涉及到多个坐标轴系时,就需要寻找同一矢量的不同坐标表示之间的关系。而这个关系就是方向余弦矩阵。
    符号说明
符号 说明
\bm{I},\bm{J} OXY坐标轴系的基向量
\bm{i},\bm{j} Oxy坐标轴系的基向量
\bm{r} 目标矢量
I_i,I_j,J_i,J_j I_i\bm{I}\bm{i}上的投影的长度,其他类同
(r_I,r_J) \bm{r}OXY坐标轴系下的表示
(r_i,r_j) \bm{r}Oxy坐标轴系下的表示

例子
在这里插入图片描述
图中的矢量\bm{r}(注意:矢量\bm{r}与上面三个坐标系都没有关系)
请问:如何根据({r_I},{r_J}),求出矢量\bm{r}Oxy坐标轴系下的坐标({r_i},{r_j})
反之,如果知道矢量\bm{r}Oxy坐标轴系下的坐标({r_i},{r_j}),如何求出({r_I},{r_J})
这两个就需要方向余弦矩阵解答了。
2. 正题
Q1:根据 ({r_i},{r_j}),求出矢量\bm{r}OXY坐标轴系下的坐标({r_I},{r_J})

矢量\bm{r}OXY坐标轴系下的坐标为({r_I},{r_J}),即:
\bm{r} = r_I \bm{I}+r_J \bm{J}
\bm{I},\bm{J}本身作为矢量,也是可以被Oxy表示的:

\begin{cases} \bm{I} = I_i \bm{i} + I_j \bm{j}\\ \bm{J} = J_i \bm{i} + J_j \bm{j} \end{cases}
(注意:粗体I和细体I_i,I_j的差别)
带回后

\begin {aligned} \bm{r}&=r_I \bm{I}+r_J \bm{J} \\ &= r_I ( I_i \bm{i} + I_j \bm{j})+r_J (J_i \bm{i} + J_j \bm{j}) \\ &=(r_I I_i + r_J J_i)\bm{i}+(r_I I_j + r_J J_j) \bm{j} \end {aligned}
\left( \begin{matrix} r_i\\ r_j \end{matrix} \right)= \left( \begin{matrix} r_I I_i + r_J J_i\\ r_I I_j + r_J J_j \end{matrix} \right)= \left[ \begin{matrix} I_i & J_i \\ I_j & J_j \end{matrix} \right] \left( \begin{matrix} r_I \\ r_J \end{matrix} \right)

\left[ \begin{matrix} I_i & J_i \\ I_j & J_j \end{matrix} \right]就是方向余弦矩阵,按列展开,第一列表示\bm{I}Oxy坐标轴系下的坐标\bm{I}^{Oxy},第二列表示\bm{J}Oxy坐标轴系下的坐标\bm{J}^{Oxy},记作\left[ \begin{matrix}\bm{I} & \bm{J}\end{matrix}\right]^{Oxy}
具体矩阵的每一个元素的值是多少呢?
\left[ \begin{matrix}\bm{I} & \bm{J}\end{matrix}\right]^{Oxy}= \left[ \begin{matrix} \frac{\bm{I \cdot i}}{\|{\bm{i}}\|} & \frac{\bm{J \cdot i}}{\|{\bm{i}}\|} \\ \frac{\bm{I \cdot j}}{\|{\bm{j}}\|} & \frac{\bm{J \cdot j}}{\|{\bm{j}}\|} \end{matrix} \right]= \left[ \begin{matrix} {\|\bm{I}\|}cos(\bm{I},\bm{i}) & {\|\bm{J}\|}cos(\bm{J},\bm{i}) \\ {\|\bm{I}\|}cos(\bm{I},\bm{j}) & {\|\bm{J}\|}cos(\bm{J},\bm{j}) \end{matrix} \right]
\|\bm{I}\|,\|\bm{J}\|均为1
\left[ \begin{matrix}\bm{I}&\bm{J}\end{matrix}\right]^{Oxy}= \left[ \begin{matrix} {\bm{I \cdot i}} & {\bm{J \cdot i}} \\ {\bm{I \cdot j}} & {\bm{J \cdot j}} \end{matrix} \right]= \left[ \begin{matrix} cos(\bm{I},\bm{i}) & cos(\bm{J},\bm{i}) \\ cos(\bm{I},\bm{j}) & cos(\bm{J},\bm{j}) \end{matrix} \right]
类似地:
\left[ \begin{matrix}\bm{i}&\bm{j}\end{matrix}\right]^{OXY}= \left[ \begin{matrix} {\bm{i \cdot I}} & {\bm{j \cdot I}} \\ {\bm{i \cdot J}} & {\bm{j \cdot J}} \end{matrix} \right]= \left[ \begin{matrix} cos(\bm{i},\bm{I}) & cos(\bm{j},\bm{I}) \\ cos(\bm{i},\bm{J}) & cos(\bm{j},\bm{J}) \end{matrix} \right]
根据方向余弦矩阵,就能变换矢量\bm{r}的坐标表示。
3. 性质

  • \left[ \begin{matrix}\bm{I}&\bm{J}\end{matrix}\right]^{Oxy}的转置等于\left[ \begin{matrix}\bm{i}&\bm{j}\end{matrix}\right]^{OXY}

  • 方向余弦矩阵为正交矩阵
    (证明:因为I \cdot J = 0所以I^{Oxy}\cdot J^{Oxy} = 0

  • n阶方向余弦矩阵只有n个自由量
    以三维坐标轴系为例,做一个不严谨但直观的解释:确定一个坐标轴系A只需要知道任意两个坐标轴,就可以确定第三条轴,从而确定整个坐标轴系;坐标轴A旋转至坐标轴B的夹角也是一个三维向量,从而就能确定坐标轴B。综上,3阶方向余弦矩阵需要3个自由量。

刚体的矢量—矩阵描述

在这里插入图片描述
符号 说明
O_0X_0Y_0Z_0 固定坐标系
OXYZ 平动坐标系,由O_0X_0Y_0Z_0 平移得到
Oxyz 固连坐标系,由OXYZ旋转得到
\underline{\rho} \bm{r}Oxyz下的坐标,为常数
\underline{r} \bm{r}OXYZ下的坐标,随着刚体旋转而发生变化
A OxyzOXYZ的方向余弦矩阵,随着刚体旋转而发生变化(\underline{r} = A\underline{\rho},\underline{\rho} = A^{-1} \underline{r}=A^{T} \underline{r})

如何求得 O_0X_0Y_0Z_0坐标系下, 刚体上任意一点的轨迹方程?
不考虑任何坐标轴系
\bm{R} = \bm{R_0}+\bm{r}
O_0X_0Y_0Z_0
\underline{R} = \underline{R_0}+\underline{r} = \underline{R_0}+{ A\underline{\rho}}
刚体上任意一点的运动可以由一个向量R_0和一个矩阵A描述
\begin{cases} \bm{R_0} = \bm{R_0(t)}——描述平动\\ \bm{A} = \bm{A(t)}——描述刚体相对于基点的转动(定点运动) \end{cases}
因此,一般刚体的运动可以分解为基点的平动和相对于基点的转动(定点运动)。
由于\bm{R_0}有三个自由量,正交矩阵\bm{A}有三个自由量,因此描述刚体运动需要六个独立参数。
如何求得 O_0X_0Y_0Z_0坐标系下, 刚体上任意一点的速度方程?
O_0X_0Y_0Z_0下对\underline{R} = \underline{R_0}+{ A\underline{\rho}}求导:
\dot{\underline{R}} = \dot{\underline{R_0}}+\dot{{ A}\underline{\rho}}+A\dot{\underline{\rho}}=\dot{\underline{R_0}}+\dot{{ A}A^T\underline{r}}+A\dot{\underline{\rho}}
由于\underline{\rho}是常数,所以A\dot{\underline{\rho}}=0,因此
\dot{\underline{R}} =\dot{\underline{R_0}}+\dot{{ A}A^T\underline{r}}
在这里插入图片描述
因此
\underline{{v}} =\dot{\underline{R}} =\dot{\underline{R_0}}+\tilde{\omega}\underline{r}=\dot{\underline{R_0}}+\omega\times \underline{r}
其中\dot{\underline{R_0}}代表基点的平动速度,\dot{\underline{r}}=\omega\times \underline{r}代表相对于基点的转动速度。
如何求得 O_0X_0Y_0Z_0坐标系下, 刚体上任意一点的加速度方程?
\underline{{a}} = \dot{\underline{v}} =\ddot{\underline{R_0}}+\dot{\omega}\times \underline{r}+\omega\times \dot{\underline{r}}=\ddot{\underline{R_0}}+\dot{\omega}\times \underline{r}+\omega\times (\omega\times \underline{r})
\underline{{a}} = \underline{a_0}+{\varepsilon}\times \underline{r}+\omega\times (\omega\times \underline{r})
其中
\begin{cases} \underline{a_0}=\ddot{\underline{R_0}} & 基点的加速度\\ {\varepsilon}\times \underline{r} & 转动加速度(其中\varepsilon = \dot{\omega})\\ \omega\times (\omega\times \underline{r}) &向(轴)心加速度 \end{cases}
参考:
理论力学-刚体运动的矩阵与向量描述
https://wenku.baidu.com/view/7e699e4e8e9951e79b892757.html

全部评论 (0)

还没有任何评论哟~