主要内容

6自由度(四元数)

实现六自由度运动方程的四元数表示

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

  • 6自由度(四元数)

描述

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

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

限制

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

港口

输入

全部展开

作用力,用三元矢量表示。

数据类型:

应用力矩,用三元矢量表示。

数据类型:

输出

全部展开

在平坦的地球参考系中的速度,以三元素矢量返回。

数据类型:

在平坦的地球参考系中的位置,以三元素向量返回。

数据类型:

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

数据类型:

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

数据类型:

物体固定坐标系中的速度,以三元素矢量返回。

数据类型:

物体固定轴上的角速率,以三元素矢量返回,单位是弧度/秒。

数据类型:

物体固定轴上的角加速度,以三元矢量返回,单位是弧度/秒方。

数据类型:

物体固定轴相对于物体坐标系的加速度,返回为三元矢量。

数据类型:

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

依赖关系

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

数据类型:

参数

全部展开

主要

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

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

编程使用

块参数:单位
类型:特征向量
价值观:度量(MKS)|(速度单位:英尺/秒)|英语(速度单位: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) '

相对于内视环坐标系的初始固定体角速度,指定为三元矢量,单位是每秒弧度。

编程使用

块参数: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++代码。万博1manbetx

介绍了R2006a