主要内容

6自由度(四元数)

实现六自由度关于身体轴的运动方程的四元数表示

  • 库:
  • 航空航天模块/运动方程/ 6自由度

  • 6自由度(四元数)

描述

6自由度(四元数)Block实现了关于身体轴的六自由度运动方程的四元数表示。对于坐标系统和平移动力学的描述,请参阅块的描述6自由度(欧拉角)块。

有关四元数向量变化率的积分的更多信息,请参见算法

限制

该物体假定施加的力作用于物体的重心,并且质量和惯性是恒定的。

港口

输入

全部展开

应用的力,指定为一个三元素向量。

数据类型:

应用矩,指定为一个三元素向量。

数据类型:

输出

全部展开

平面地球参考系中的速度,返回为一个三元素矢量。

数据类型:

在平面地球参考系中的位置,返回为一个三元素矢量。

数据类型:

欧拉旋转角度[滚转,俯仰,偏航],返回为三个元素矢量,以弧度表示。

数据类型:

从平面地球轴到固定体轴的坐标转换,返回为一个3 × 3矩阵。

数据类型:

在身体-固定坐标系中的速度,返回为一个三元素向量。

数据类型:

固定轴上的角速率,返回为一个三元素矢量,单位为每秒弧度。

数据类型:

固定轴上的角加速度,返回为一个三元素矢量,单位为弧度/秒的平方。

数据类型:

相对于身体坐标系的固定轴上的加速度,返回为一个三元素向量。

数据类型:

相对于惯性系(平面地球)的固定轴上的加速度,返回为一个三元矢量。你通常把这个信号连接到加速度计上。

依赖关系

该端口仅在包括惯性加速度复选框被选中。

数据类型:

参数

全部展开

主要

输入输出单元,指定为度量(MKS)英语(速度(ft/s)),或英语(速度单位:kts)

单位 部队 时刻 加速度 速度 位置 质量 惯性
度量(MKS) 牛顿 牛顿米 米每秒平方 米/秒 公斤 公斤平方米
英语(速度(ft/s)) 英镑 尺磅 英尺每秒平方 英尺/秒 鼻涕虫 蛞蝓平方英尺
英语(速度单位:kts) 英镑 尺磅 英尺每秒平方 鼻涕虫 蛞蝓平方英尺

编程使用

块参数:单位
类型:特征向量
价值观:度量(MKS)|英语(速度(ft/s))|英语(速度单位:kts)
默认值:度量(MKS)

质量类型,根据下表指定。

简单的变量选择符合前面描述的运动方程。

编程使用

块参数:mtype
类型:特征向量
价值观:固定|简单的变量|自定义变量
默认值:简单的变量

运动表示方程,具体如下表所示。

表示 描述

欧拉角

在运动方程中使用欧拉角。

四元数

在运动方程中使用四元数。

四元数选择符合内的运动方程算法

编程使用

块参数:代表
类型:特征向量
价值观:欧拉角|四元数
默认值:“四元数”

物体在地球平面参照系中的初始位置,指定为一个三元矢量。

编程使用

块参数:xme_0
类型:特征向量
价值观:' (0 0 0) '|三元素向量
默认值:' (0 0 0) '

在身体固定坐标系中,身体轴上的初始速度,指定为一个三元素矢量。

编程使用

块参数:Vm_0
类型:特征向量
价值观:' (0 0 0) '|三元素向量
默认值:' (0 0 0) '

初始欧拉方向角[滚转,俯仰,偏航],指定为三个元素矢量,以弧度表示。欧拉旋转角度是指物体与东北下(NED)坐标系之间的角度。

编程使用

块参数:eul_0
类型:特征向量
价值观:' (0 0 0) '|三元素向量
默认值:' (0 0 0) '

相对于NED帧的初始身体固定角速率,指定为一个三元素矢量,单位为每秒弧度。

编程使用

块参数:pm_0
类型:特征向量
价值观:' (0 0 0) '|三元素向量
默认值:' (0 0 0) '

刚体的初始质量,指定为双标量。

编程使用

块参数:mass_0
类型:特征向量
价值观:“1.0”|双标量
默认值:“1.0”

物体的惯量,指定为双标量。

依赖关系

要启用该参数,请设置质量类型固定

编程使用

块参数:惯性
类型:特征向量
价值观:(3)|双标量
默认值:(3)

增益以保持四元数向量的范数等于1.0,指定为双标量。

编程使用

块参数:k_quat
类型:特征向量
价值观:1.0|双标量
默认值:1.0

选中此复选框可添加惯性加速端口。

依赖关系

要启用一个端口,选择该参数。

编程使用

块参数:abi_flag
类型:特征向量
价值观:“关闭”|“上”
默认值:

状态属性

为每个状态分配一个唯一的名称。在线性化过程中,可以使用状态名而不是块路径。

  • 若要将名称分配给单个状态,请在引号之间输入唯一名称,例如:“速度”

  • 要为多个州指定名称,请输入一个用大括号括起来的逗号分隔的列表,例如:{' a ', ' b ', ' c '}.每个名称必须唯一。

  • 如果参数为空(' '),没有指定名称。

  • 状态名称仅应用于带有name参数的选定块。

  • 州的数目必须在州名的数目中平均分配。

  • 可以指定比状态更少的名称,但不能指定比状态更多的名称。

    例如,您可以在具有四种状态的系统中指定两个名称。第一个名字适用于前两个州,第二个名字适用于后两个州。

  • 在MATLAB中使用变量分配状态名®工作区,输入不带引号的变量。变量可以是字符向量、单元格数组或结构。

位置状态名,由大括号包围的逗号分隔列表指定。

编程使用

块参数:xme_statename
类型:特征向量
价值观:用大括号括起来的|逗号分隔的列表
默认值:

速度状态名称,指定为用大括号括起来的逗号分隔列表。

编程使用

块参数:Vm_statename
类型:特征向量
价值观:用大括号括起来的|逗号分隔的列表
默认值:

四元数向量表示名称,指定为由大括号包围的逗号分隔列表。

编程使用

块参数:quat_statename
类型:特征向量
价值观:用大括号括起来的|逗号分隔的列表
默认值:

身体旋转速率状态名,指定用大括号括起来的逗号分隔列表。

编程使用

块参数:pm_statename
类型:特征向量
价值观:用大括号括起来的|逗号分隔的列表
默认值:

算法

四元数向量变化率的积分如下所示。的增益K驱动四元数状态向量的规范到1.0应该 ε 成为非零。您必须小心地选择这个增益的值,因为较大的值会提高范数中误差的衰减率,但由于引入了快速动力学,也会减慢模拟的速度。四元数向量中一个元素的大小误差平均地分布在所有元素中,可能会增加状态向量中的误差。

˙ 0 ˙ 1 ˙ 2 ˙ 3. 1 2 0 p r p 0 r r 0 p r p 0 0 1 2 3. + K ε 0 1 2 3. ε 1 0 2 + 1 2 + 2 2 + 3. 2

Aerospace Blockset™使用使用标量优先约定定义的四元数。

扩展功能

C / c++代码生成
使用Simulink®Coder™生成C和c++代码。金宝app

介绍了R2006a