Var.
Ph.D. Candidate at Beihang University
首页
关于
文章分类
2020-06-20 |Var. | 默认分类

平台失准角定义

记从导航坐标系 $n$ 至计算坐标系 $n'$ 的等效旋转矢量为 $\boldsymbol{\phi}$,常称其为失准角误差。

假设 $\boldsymbol{\phi}$ 为小量,根据等效旋转矢量与方向余弦阵关系式,近似有

$$ {\boldsymbol{C}}_{n'}^n \approx {\boldsymbol{I}} + \left({{\phi} \times } \right)\\ {\boldsymbol{C}}_n^{n'} = {\left( {{\boldsymbol{C}}_{n'}^n} \right)^{\rm{T}}} \approx {\boldsymbol{I}} - \left({{\phi} \times } \right)\\ {\boldsymbol{C}}_b^{n'} = {\boldsymbol{C}}_n^{n'}{\boldsymbol{C}}_b^n \approx \left[{{\boldsymbol{I}} - \left({{\phi} \times } \right)} \right]{\boldsymbol{C}}_b^n\\ {\boldsymbol{C}}_{n'}^b = {\boldsymbol{C}}_n^b{\boldsymbol{C}}_{n'}^n \approx {\boldsymbol{C}}_n^b\left[{{\boldsymbol{I}} + \left({{\phi} \times } \right)} \right] $$

平台失准角与四元数

姿态修正时可将估计出来平台失准角转换为修正四元数,令修正四元数为 $${\boldsymbol{q}}_{n'}^n$$,修正四元数与平台失准角的关系为

$$ {\boldsymbol{q}}_{n'}^n{\rm{ =}}\left[{\begin{array}{*{20}{c}} {\cos \frac{{\left| \phi \right|}}{2}}\\ {\frac{\pmb{\phi}}{{\left| \phi \right|}}\sin \frac{{\left| \phi \right|}}{2}} \end{array}} \right] $$

那么其修正公式为($\circ$ 为四元数乘法)

$$ {\boldsymbol{\hat q}}_b^n{\rm{ =}}{\boldsymbol{q}}_{n'}^n \circ {\boldsymbol{q}}_b^{n'} $$

注意:四元数上下角标与姿态转换矩阵相反,例如 $\boldsymbol{q}_b^n$ 表示为 $n$ 系到 $b$ 系的四元数。

平台失准角与姿态误差角的关系

平台误差角定义为 $delta {boldsymbol{A}} = {left[ {begin{array}{*{20}{c}}
{delta theta}&{delta gamma}&{delta psi}
end{array}} right]^T} = {boldsymbol{tilde A}} - {boldsymbol{A}}$,那么平台失准角与平台误差角之间的关系为

$$ \pmb{\phi} {\rm{ =}} - \left[{\begin{array}{*{20}{c}} {\cos \psi}&{- \cos \theta \sin \psi}&0\\ {\sin \psi}&{\cos \theta \cos \psi}&0\\ 0&{\sin \theta}&1 \end{array}} \right]\cdot\delta {\boldsymbol{A}} $$

平台误差角与平台失准角之间的关系为

$$ \delta {\boldsymbol{A}}{\rm{ =}}\left[{\begin{array}{*{20}{c}} {- \cos \psi}&{- \sin \psi}&0\\ {{\sin \psi}}/{{\cos \theta}}&{- {\cos \psi}/{\cos \theta}}&0\\ {- \tan \theta \sin \psi}&{\tan \theta \cos \psi}&{- 1} \end{array}} \right]\cdot\pmb{\phi} $$

航向误差角与平台失准角之间的关系为

$$ \delta \psi {\rm{ =}} - \tan \theta \sin \psi \cdot {\phi _E} + \tan \theta \cos \psi \cdot {\phi _N} - {\phi _U} $$

令 $\theta=pitch, \gamma=roll, \psi=yaw$,有

$$ \left[\begin{matrix} F_x\\F_y\\F_z \end{matrix}\right] = \boldsymbol{C}_b^n\left[\begin{matrix} 0\\0\\f \end{matrix}\right] = \left[\begin{matrix} \sin\gamma\cos\psi-\cos\gamma\sin\psi\sin\theta \\ -\sin\gamma\sin\psi-\cos\gamma\cos\psi\sin\theta \\ \cos\gamma\cos\theta \end{matrix}\right]f $$

其中 $f$ 为无人机 $b$ 系下的总拉力,$F_x,F_y,F_z$ 为世界坐标系下对应的期望力。

期望拉力

观察上式可得出,期望拉力

$$ f_d=\frac{F_z}{\cos\gamma\cos\theta} $$

期望俯仰角

对公式 (1) 进行稍微变换,$F_x\sin\psi+F_ycos\psi$,得

$$ \begin{aligned} F_x\sin\psi+F_ycos\psi&= f(\sin\gamma\cos\psi\sin\psi-\cos\gamma\sin\psi\sin\theta\sin\psi-\sin\gamma\sin\psi\cos\psi-\cos\gamma\cos\psi\sin\theta\cos\psi)\\&= -(\cos\gamma\sin\theta)f\\&= -(\cos\gamma\sin\theta)\frac{F_z}{\cos\gamma\cos\theta}\\&= -\tan\theta F_z \end{aligned} $$

期望俯仰角 $\theta_d$ 为

$$ \theta_d=\arctan(-\frac{F_x\sin\psi+F_ycos\psi}{F_z}) $$

期望横滚角

对公式 (1) 进行稍微变换,$F_x\cos\psi-F_ysin\psi$,得

$$ \begin{aligned} F_x\cos\psi-F_ysin\psi&= f(\sin\gamma\cos\psi\cos\psi-\cos\gamma\sin\psi\sin\theta\cos\psi+\sin\gamma\sin\psi\sin\psi+\cos\gamma\cos\psi\sin\theta\sin\psi)\\&= (\sin\gamma)f\\&= \sin\gamma\frac{F_z}{\cos\gamma\cos\theta}\\&= \tan\gamma\frac{F_z}{\cos\theta} \end{aligned} $$

期望横滚角 $\gamma_d$ 为

$$ \gamma_d=\arctan(\cos\theta\frac{F_x\cos\psi-F_ysin\psi}{F_z}) $$

1. 安装bash-completion

$ apt-get install bash-completion

2. 编辑~/.bashrc 文件

添加如下内容:

if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi

3. 使其生效

退出 SSH,重新登录。

作者 | 陈怡然
介绍 | 杜克大学电子与计算机工程系副教授,杜克进化智能研究中心主任,美国自然科学基金委新型可持续智能计算产学合作中心主任存储、类脑计算与深度学习专家,IEEE Fellow。


1. 使用rc.local方法添加

原文地址:http://www.raspberrypi.org/documentation/linux/usage/rc-local.md

为了在树莓派启动的时候运行一个命令或程序,你需要将命令添加到 rc.local 文件中。这对于想要在树莓派接通电源后无需配置直接运行程序,或者不希望每次都手动启动程序的情况非常有用。

另一种替代定时任务的方法是使用 cron 和 crontab。

编辑rc.local文件

在你的树莓派上,选择一个文本编辑器编辑/etc/rc.local文件。你必须使用 root 权限编辑,例如:

sudo nano /etc/rc.local