SimuLink卫星姿态控制_运动学模块的建立
基于Matlab/Simulink与STK的卫星姿态控制系统联合仿真研究

T e l e c o m ma r k e t
基 于 Ma t l a b / S i mu l i n k与 S T K 的卫 星 姿 态 控 制 系统
联合仿 真研 究
陈 蕾 韩 潮
( 北京 航空航天大学 宇航学 院,北京 1 0 0 1 9 1 )
摘 要: 根据 M a t 1 a b / S i m u l i n k 工具与 S T K软件在卫星姿态控制系统仿真 中的作用 , 考虑到 s i m u l i n k无法直接与 S T K进行通信 ,因此需要研 究解决 M a t l a b / S i m u l i n k与 S T K联合仿真 过程中的相关技术难 点。 通过使用 C 语言连接 S T K , 以及对 M a t 1 a b / S i m u l i n k与 c + + 经由 U D P 网络协议进行数据交换的方法研 究, 构建 了基于 C + + 的服务器程序 。仿真算例验证 了 该服务 器 程序 能够实现 M a t l a b / S i m u l i n k与 S T K的联合仿真。此服务器程序 的建立不仅 能够实现 M a t I a b / S i m u 1 i n k与 S T K软件 间的数据交换,并且能够推广到其他任何能够与 V c 建 立连接 的软件控制之中。 关键词:联合仿真;M a t 1 a b / S i m u l i n k ;S T K ;U D P 协议;姿态控制 中 图分 类号 :T P 3 9 1 . 9 文献标 识 码 :A 文 章编 号 :
E ma i l : c h e n l e i . 8 9 @f o x ma i l . t o m)
Ab s t r a c t : Ac c o r d i n g t o t h e i mp o r t a n t r o l e s t h a t Ma t l a b / S i mu l i n k t o o l s a n d S TK s o f t wa r e p l a y i n t h e s i mu l a t i o n o f a t t i t u d e c o n t r o l s y s t e m o f s a t e l l i t e ,a n d t h e f a c t t h a t S i mu l i n k c nn a o t c o m mu n i c a t e wi t h S TK d i r e c t l y , s o me r e l a t e d t e c h n i c a l d i 伍c u l t i e s a b o u t c o - s i mu l a t i o n b e t we e n Ma t l a b /S i mu l i n k a n d S T K s h o u l d b e s t u d i e d . By u s i n g t h e C l a n g u a g e t o e s t a b l i s h c o n n e c t i o n wi t h S TK, nd a d o i n g s o me r e s e a r c h i n t o d a t a e x c h a n g e me t h o d b e t we e n Ma t l a b / S i mu l i n k a n d C+ +v i a UDP n e t wo r k p r o t o c o 1 . a s e r v e r p r o g r a m wa s c o n s t r u c t e d b a s e d o n t h e C+ +l ng a u a g e . A s i mu l a t i o n e x a mp l e h a s v e r i ie f d t h a t he t s e ve r r p r o ra g m c a n r e a l i z e C O — s i mu l a t i o n b e t we e n Ma t l a b / S i mu l i n k a n d S TK. Be s i d e s t h a t , i t c a n a l s o b e e x t e n d e d t o ny a o he t r s o f t wa r e wh i c h C n a ma k e c o n e c t i o n wi t h t h e VC p r o ra g m. Ke y wo r d s : C O — s i mu l a t i o n ; Ma t l a b / S i mu l i n k ; S TK; UDP p r o t o c o l ; a t t i t u d e c o n t r o l
matlab simulink模型搭建方法

matlab simulink模型搭建方法Matlab Simulink是一个强大的多领域仿真和模型搭建环境,广泛应用于控制系统、信号处理、通信系统等多个领域。
本文将详细介绍Matlab Simulink模型搭建的方法,帮助您快速掌握这一技能。
一、Simulink基础操作1.启动Simulink:在Matlab命令窗口输入“simulink”,然后按回车键,即可启动Simulink。
2.创建新模型:在Simulink开始页面,点击“新建模型”按钮,或在菜单栏中选择“文件”→“新建”→“模型”,创建一个空白模型。
3.添加模块:在Simulink库浏览器中,找到所需的模块,将其拖拽到模型窗口中。
4.连接模块:将鼠标光标放在一个模块的输出端口上,按住鼠标左键并拖拽到另一个模块的输入端口,松开鼠标左键,完成模块间的连接。
5.参数设置:双击模型窗口中的模块,可以设置模块的参数。
6.模型仿真:在模型窗口中,点击工具栏上的“开始仿真”按钮,或选择“仿真”→“开始仿真”进行模型仿真。
二、常见模块介绍1.源模块:用于生成信号,如Step、Ramp、Sine Wave等。
2.转换模块:用于信号转换和处理,如Gain、Sum、Product、Scope 等。
3.控制模块:用于实现控制算法,如PID Controller、State-Space等。
4.建模模块:用于构建物理系统的数学模型,如Transfer Fcn、State-Space等。
5.仿真模块:用于设置仿真参数,如Stop Time、Solver Options等。
三、模型搭建实例以下以一个简单的线性系统为例,介绍Simulink模型搭建过程。
1.打开Simulink,创建一个空白模型。
2.在库浏览器中找到以下模块,并将其添加到模型窗口中:- Sine Wave(正弦波信号源)- Transfer Fcn(传递函数模块)- Scope(示波器模块)3.连接模块:- 将Sine Wave的输出端口连接到Transfer Fcn的输入端口。
MATLAB的仿真工具箱Simulink模型的建立与仿真学习教程优秀PPT课件(基本库原件、搭建

•
Ignore limit and reset when linearizing:若勾选此选项,则表示当系统为线性化系统时,前
面的积分上下线限制和触发事件无效,默认缺省值为不勾选;
•
Enable zero-crossing detection:使系统通过零点检验,默认勾选。
• 搭建Integrator模块如图3-35所示。
•
Pulse Generator其模块属性如图3-19所示。
• 如图3-19所示Pulse Generator模块,对于其属性窗口:
• Amplitude:脉冲信号的振幅,指定为标量或矢量,默认值为1。
• Period(secs):脉冲数字采样周期,默认值为10。
• Pulse width:脉冲宽度,输入为矢量或标量,默认值为5。
• External reset:设置信号的触发事件(rising, falling, either, level, level hold, none),默认设置为 none,保持系统原态。
• Initial condition source:参数输入的状态,分为外部输入external和内部输入internal,通常默认设 置为internal。
3.3.3 Transfer Fcn模块
• Transfer Fcn其模块属性如图3-37所示。
• 如图3-37所示Transfer Fcn模块,对于其属性窗口:
• Numerator coefficients:传递函数分子系数,系统默认值为[1];
• Denominator coefficients:传递函数分母系数,系统默认值为[1,1];
• Derivative模块,表示微分环节,Derivative其模块属性如图3-31所示。 • 如图3-31所示Derivative模块,对于其属性窗口: • 搭建Derivative模块如图3-32所示。
基于Simulink实时工具的小卫星姿控物理仿真

基于Simulink实时工具的小卫星姿控物理仿真
王屹;裴蓓
【期刊名称】《机械设计与制造工程》
【年(卷),期】2011(040)015
【摘要】针对小卫星姿态控制系统的设计和研制需要,应用高精度单轴气浮台模拟小卫星在轨运行时的微重力、无摩擦的环境,借助Simulink模块库建立了实时控制系统软件模型,利用反作用飞轮、光纤陀螺、数显表、控制计算机等物理设备快速构建了简化的小卫星姿态控制仿真硬件系统,并进行了姿态控制物理仿真实验,实验结果表明,仿真系统具有较高的姿态指向精度和稳定度,能够达到小卫星姿态控制仿真要求.
【总页数】4页(P53-56)
【作者】王屹;裴蓓
【作者单位】长春职业技术学院工程技术分院,吉林长春130033;长春职业技术学院工程技术分院,吉林长春130033
【正文语种】中文
【中图分类】TP23
【相关文献】
1.基于SoPC的微小卫星姿轨控计算机设计与实现 [J], 康国华;夏青;成婧
2.小卫星姿控xPC半物理仿真系统设计 [J], 徐开;陈长青;关文翠;金光
3.一种基于新型智能模拟器的小卫星姿轨控测试系统 [J], 卢彦杰;姜鼎;宋明轩
4.基于SIMULINK的卫星姿控系统的仿真实现 [J], 余涌涛;梁加红
5.基于Simulink实时工具的小卫星姿控物理仿真 [J], 王屹;裴蓓
因版权原因,仅展示原文概要,查看原文内容请购买。
卫星姿态稳定系统的建模与控制

卫星姿态稳定系统的建模与控制卫星姿态稳定是指通过控制卫星的姿态(即旋转角度和轴向),使其保持稳定状态,以确保卫星能够正确地完成各项任务。
由于卫星在太空中受到各种外部扰动力,如引力、太阳辐射压力和空气阻力等,因此需要设计一套卫星姿态稳定系统,来实现准确的定位和导航功能。
卫星姿态稳定系统主要由三个部分组成:传感器、控制器和执行器。
传感器用于测量和监测卫星的姿态状态,主要包括陀螺仪、加速度计和磁强计等;控制器根据传感器的信号进行计算和判断,决定执行器的输出信号;执行器根据控制信号对卫星进行控制,以实现姿态调整和稳定。
首先,卫星姿态的建模是设计卫星姿态稳定系统的基础。
建模过程主要分为动力学建模和姿态动力学建模两个方面。
动力学建模是描述卫星在太空中受到的外部扰动力和惯性力作用下的运动规律,通常采用牛顿力学定律和质点模型进行建模。
姿态动力学建模则是描述卫星在稳定状态下的姿态运动规律,通常采用旋转刚体模型和欧拉动力学方程进行建模。
通过建立准确的卫星姿态动力学模型,能够为后续的控制器设计和系统优化提供理论基础。
其次,控制器的设计是卫星姿态稳定系统的核心部分。
常用的控制器设计方法有PID控制器、模糊控制器和自适应控制器等。
PID控制器是一种经典的控制器设计方法,通过对误差、偏差和积分值进行比例、积分和微分的加权计算,生成控制信号来调整卫星的姿态。
模糊控制器则是一种基于模糊逻辑推理的控制器设计方法,能够处理复杂的非线性控制问题。
自适应控制器则是根据系统的状态变化和外部环境的变化来自适应地调整控制参数,以实现更好的控制效果。
以上三种控制器设计方法各有优缺点,需要根据实际情况选择合适的控制器设计方法。
最后,执行器的选型和控制算法的实现是卫星姿态稳定系统的重要组成部分。
常用的执行器包括反作用轮、磁力矩杆和姿态控制喷气装置等。
反作用轮通过调整转速和转向来产生控制力矩,磁力矩杆通过改变磁力矩的大小和方向来产生控制力矩,姿态控制喷气装置则通过喷气推力来改变卫星的姿态。
Simulink模块操作

第2章 Simulink模块操作
2.1.3 手动连接模块 如果要手动连接模块,可先把鼠标光标放置在源模块的
输出端口,不必精确地定位光标位置,光标的形状会变为十 字形,然后按下鼠标按钮,拖动光标指针到目标模块的输入 端口,如图2-5所示。当释放鼠标时,Simulink会用带箭头的 连线替代端口符号,箭头的方向表示了信号流的方向。
第2章 Simulink模块操作
在建立Simulink模型时,用户可以从Simulink模块库(或其他 库)或已有的模型窗口中将模块拷贝到新的模型窗口,拖动到目标 模型窗口中的模块可以利用鼠标或键盘上的up、down、left或 right键移动到新的位置。在拷贝模块时,新模块会继承源模块的 所有参数值。如果要把模块从一个窗口移动到另一个窗口,则在 选择模块的同时要按下Shift键。
一个字符。缺省时,若模块端口位于模块左右两侧,则模块 名称位于模块下方;若模块输入端口位于模块顶部,输出端 口位于模块底部,则模块名称位于模块左侧,如图2-9所示。
第2章 Simulink模块操作 图2-9
第2章 Simulink模块操作
1.改变模块名称 用户可以用鼠标双击模块名称,在激活的文本框内输入 新的名称,即可更改模块的名称。当在模型中的任一位置单 击鼠标或执行其他操作时,Simulink会停止模块名称的编辑。 如果把模块的名称改变为模型中已有模块的名称,或者名称 中不含有任何字符,那么Simulink会显示一个错误消息。
第2章 Simulink模块操作
2.改变模块名称的字体 如果用户想要改变模块名称的字体,可以先选中模块, 然后选择模型窗口中Format菜单下的Font命令,从弹出的 Set Font对话框中选择一种字体,这个过程也会改变模块图 标上的文本字体。
第1章SIMULINK入门

12.4.2 手动连接模块
• 1.从模块到模块的手动连接 • 当鼠标移动至输出模块的输出端口时,鼠标图标 将变成十字符型,此时按下鼠标左键,拖动鼠标 至目标模块输入端口,当鼠标图标由十字符型变 为双十字符型时,松开鼠标左键即可,如图所示。 • 2.从信号线某一点到模块的手动连接 • 将鼠标移动到信号线上某一点,此时鼠标图标变 为十字符型,其后的连接方式完全与从模块到模 块的连接相同。这种连接方式可以将一个信号传 递到多个模块,
12.4.4 操作模块名称
• 在SIMULINK模型中,每个模块都有自己唯一的模 块名。如果在同一系统中出现模块名的重复, SIMULINK将弹出一个Error对话框。 • 1.更改模块名称 • 2.移动模块名位置 • 3.显示或隐藏模块名
• 4.改变模块名的字体和大小
12.4.5 设置模块参数
12.1.2 SIMULINK启动
• 启动SIMULINK之前,首先要打开MATLAB,打开 MATLAB主界面,在命令窗口(Command Window) 输入命令simulink,回车即可启动SIMULINK,即 打开SIMULINK库浏览器(Simulink Library Browser)窗口,如图所示。
Constant
2{10} double [3x3] [3x3] 2{10}
Scope2
[3x3]
Constant1 Scope
double
3 Gain
double
Sine Wave
12.6 仿真设置
• 接下来将介绍SimulinkParameters对话框中基本 参数的设置方式。SimulinkParameters对话框中 仿真参数主要包括,解法器设置(Solver)、仿 真参数输入输出(Data Import/Export)、仿真 优化(Optimization)、仿真诊断 (Diagnostics)、仿真硬件实现(Hardware Implementation)、参考模型(Model Referencing) 和实时工作间(Real-time workshop)。在模型窗 口中选择菜单栏【Simulation/Configuration Parameter】,就可以打开Configuration Parameter(参数配置)对话框,
基于Simulink实时工具的小卫星姿控物理仿真

模 拟 星上 的光 学 敏 感 器 的 姿 态信 息 输 出 。执 行 部
件 主要 有框 架 控制 力矩 陀螺 、 力器 等 。姿态 控制 推
程 序 在 台上仿 真计算 机 中运 行 , 接收并 处 理敏感 器
信息 、 计算控制指令并发送。小卫星仿真 中的主要 工作 内容 如 下 l 4: _ J 3 _ a小卫 星 轨道环 境 分析 。 .
地 面验证 。
b 小卫 星姿 态建模 。 . 小 卫 星姿 态 一 般 以非 线 性 六 自由度 方 程来 描 述, 而特 殊情 况下 要考 虑挠 性 和液体 晃动 的影 响 。 e性能 分析 和系 统控 制方 案 的选 择 。 . 通 过仿真 可 以实现 系统 的控 制 , 括 明确小 卫 包 星控 制 系统所 要 达到 的控制 指标 、 用 的姿态测 量 采 敏感 器 的精度 需 求 及 组 合 形式 、 相应 的确 定 算 法 、 姿 态控 制 的算 法 、 行 机 构 的种类 、 矩精 度 和 角 执 力 动量 的容 限 、 制计 算 机 的 性 能 、 制 周期 的确 定 控 控 以及 控 制器稳 定性 分析 等 。
对于 中低 太 阳 同步近 圆轨道 的空间 环境 , 小卫 星将 受到 较 大的 气 动力 矩 、 剩磁 力 矩 、 力梯 度 力 重 矩 和 较小 的太 阳光 压 力 矩 。而 相 应 的 仿 真 实验 中 要 对 系统所 在 环境 的 干扰进 行评 估 和测 量 。
收 稿 日期 :0 1 6—1 2 1 —0 O
可表示 为 :
H =.o 1 t () 1
仿真控制 对象 是转 动 惯量 约 为 [0 12 . 2 . 1 6 2 .]g m ; 中俯仰轴为单轴气浮平 台模拟, 34 k ・ 2其 其
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四元数姿态运动学方程:(见《基于星敏感器角速度估计的陀螺故障诊断》)
()b b b b b b o
o o ob o ib o io 11C 22
∙
=⊗=⊗-Q Q w Q w w 其中b
o Q 表示星体坐标系b 相对于轨道坐标系o 的姿态四元数在体坐标系b 中的投影(在星
体坐标系中轨道坐标系o 转到与星体坐标系b 重合(与后面的姿态坐标转换矩阵对应)所
需的姿态四元数);⊗表示四元数乘法;b ob w 表示星体坐标系b 相对于轨道坐标系o 的角速度在b 坐标系中的投影;b ib w 表示体坐标系b 相对于惯性坐标系i 的角速度在b 坐标系中的投影,由动力学模块给出;b o C 表示o 系到b 系的坐标转换矩阵,由四元数Q 计算得到;o io
w 表示轨道坐标系o 相对于惯性坐标系i 的角速度在o 坐标系中的投影,该角速度在轨道坐标系中表示简单,该值在m 文件中给出。
利用运动学方程画运动学模块图如下:
建立四元数转姿态矩阵模块: 用mask 修改模块封面。
依照下面的转换公式,使用Fcn 模块和Create3*3 Matrix 模块建立四元数转换模块如下:
2222103212031302b
T 22222
o 01203203123012222130223013012q q q q 2(q q q q )2(q q q q )C (q )2(q q q q )
q q q q 2(q q q q )2(q q q q )2(q q q q )
q q q q ⎡⎤
+--+-⎢⎥
=+-=-+--+⎢⎥
⎢⎥+-+--⎣
⎦
qq E q
建立四元数求解模块:
使用Subsystem 模块建立Quaternion Solve Model ,并create mask 如下:
四元数主部与矢部分开计算积分如下:
根据上式画模块图如下:
利用Integrator、Mux、Gain、Add模块建立初始如下:
利用Demux模块将Q的矢部与主部分开。
其中Demux模块设置如下(将四个数按[1 3]分成两部分):
利用Dot Product模块求q0的导:
利用动力学模块中的叉乘模块来完成q的导的求解如下:
这样四元数求解模块即建立,输入w输出Q。
建立运动学模块:
利用from模块引入动力学模块计算的姿态角速度wb和m文件中的轨道角速度wo,建立运动学模块如下(注意product的multiplication应为Matrix):
这样运动学模块即建立,输入w得到Q。