SimuLink仿真卫星姿态控制
基于MATLAB的卫星姿态控制半物理实时仿真平台_王宁强 (1)

收稿日005-03-09
作者简介:王宁强(1977-),男,陕西人,硕士生,研究方向为模式识别
与智能系统;刘向东(1971-),男,湖北人,博士,副教授,研究方向为
航天器控制、运动控制;陈 振(1976-),男,安徽人,硕士生,研究方
向为伺服系统及智能控制;刘付成(1973-),男,山西人,高工,研究方
2(q3q1 − q0q2)⎟⎞
2(q2q3 2(q02 +
+q32q)0−q11)⎟⎟⎠
(5)
相应四元数描述的动力学方程如下:
q bo
=
q 1
2 bo
⊗
A(ω bo )
ω bo = ωbi − Tbo (qbo )ω oi
(6)
此处,⊗ 表示四元数乘法,A(ωbo ) = [0 (ωbo )T ]T , ω bo 表
板振动模态阻尼比矩阵, Λ 为帆板振动模态频率矩阵,
C 为帆板与星体的耦合系数矩阵。根据上述方程建模如图 1
所示:
⎜⎛ 2(q02 + q12) −1
Tbo(qbo)
=
⎜⎜⎝22((qq13qq21
− +
q0q3) q0q2 )
2(q1q2 + q0q3) 2(q02 + q22) −1 2(q2q3 − q0q1)
• 1618 •
系统仿真学报
Vol. 17 No. 7 July 2005
通过 I/O 卡将 xPC 目标机与外部硬件设备相连,就可以 方便的搭建一个半物理实时仿真系统。这种系统的仿真条件 与实际情况更为接近,更加有利于对控制系统的研究,也能 缩短从仿真试验到实用环节的研发周期。
2 卫星姿态控制系统仿真模型
基于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
自动控制原理实验-卫星三轴姿态控制系统

自动控制理论实验报告人:赵振根02020802班2008300597卫星三轴姿态飞轮控制系统设计一:概述1.1.坐标系选择与坐标变换在讨论卫星姿态时,首先要选定空间坐标系,不规定参考坐标系就无从描述卫星的姿态,至少要建立两个坐标系,一个是空间参考坐标系,一个是固连在卫星本体的星体坐标系。
在描述三轴稳定对地定向卫星的姿态运动时,一般以轨道坐标系为参考坐标系,还有星体坐标系。
(1) 轨道坐标系o o o O X Y Z -,原点位于卫星的质心O ,o OX 轴在轨道平面上与o OZ 轴垂直,与轨道速度方向一致,o OZ 轴指向地心,o OY 轴垂直于轨道平面并构成右手直角坐标系(2) 星体坐标系b b b O X Y Z -,原点位于卫星的质心O ,b OX ,b OY ,bOZ 固连在星体上,为卫星的三个惯性主轴。
其中b OX 为滚动轴,b OY为俯仰轴,OZ为偏航轴。
b1.2 飞轮控制系统在卫星三轴姿态控制中的应用与特点长寿命,高精度的三轴姿态稳定卫星,在轨道上正常工作时,普遍采用角动量交换装置作为姿态控制系统的执行机构。
与喷气推力器三轴姿态稳定系统相比,飞轮三轴姿态稳定系统具有多方面的有点:(1)飞轮可以给出较为精确地连续变化的控制力矩,可以进行线性控制,而喷气推力器只能作为非线性开关控制,因此轮控系统的精度比喷气推力器的精度高一个数量级,而姿态误差速率也比喷气控制小。
(2)飞轮所需要的能源是电能可以不断地通过太阳能电池在轨得到补充,因而适用于长寿命工作,喷气推力器需要消耗工质或燃料,在轨无法补充,因而寿命大大受限。
(3)轮控系统特别适用于克服周期性扰动。
(4)轮控系统能够避免热推力器对光学仪器的污染。
然而,轮控系统在具有以上优越性的同时,也存在两个主要问题,一是飞轮会发生速度饱和。
当飞轮朝着一个方向加速或偏转以克服某一方面的非周期性扰动时,飞轮终究要达到其最大允许转速。
二是由于转速部件的存在,特别是轴承寿命和可靠性受到限制。
基于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], 王屹;裴蓓
因版权原因,仅展示原文概要,查看原文内容请购买。
基于Simulink的运载火箭姿态控制系统时域仿真软件开发

2006年第5期导弹与航天运载技术No.52006总第285期MISSILE AND SPACE VEHCILE Sum No.285文章编号:1004-7182(2006)05-0039-06基于Simulink的运载火箭姿态控制系统时域仿真软件开发杨云飞,叶诚敏(北京宇航系统工程研究所,北京,100076)摘要:运载火箭的时域仿真软件如果采用C语言开发、工作量庞大、周期长,Matlab包含仿真平台Simulink,它拥有丰富的函数模块库,无需单独开发界面,无需为实现积分算法而专门编写程序。
结合实例,介绍如何利用Simulink搭建火箭姿态控制系统时域仿真模型,其中重点分析如何采用S-function实现箭体模型,如何解决时变参数输入、多维微分方程计算、合理加快仿真速度等难题。
开发过程与开发结果充分表明,这种方式具有开发速度快、界面直观、通用性强等优点。
关键词:姿态控制;运载火箭;时域仿真中图分类号:V416文献标识码:ADevelopment of Software for Time Domain Simulation in Attitude Control System of Launch Vehicle Based on SimulinkY an g Yun fe i,Y ie Ch en gmin(Beijing Institute of Space System Engineering,Beijing,100076)Abstr act:It is burdensome and time-consuming to develop a software for time domain simulation of a launch vehicle by using C Language.Instead,The software Matlab provides a platform called Simulink where there are enrichment common function libraries.Neither does it need to develop alone an interface between man and machine,nor to develop special programs in order to perform the integral calculation.Based on an example.The development of software for time domain simulation of launch vehicles with Simulink is introduced.Especially,the problems such as building a model of attitude movement by using S-function,inputing time-varied parameters,solving multidimensional differential equations and accelerating the simulation processing is analyzed.It is shown that the development by Simulink is swift,universal and convenience for its friendly interface.Key Words:Attitude control;Launch vehicle;Time domain simulation收稿日期:2005-08-09197-作者简介:杨云飞(5),男,工程师,主要从事运载火箭的控制系统设计导弹与航天运载技术2006年401引言对于运载火箭姿态控制系统的设计,一个必不可少的步骤是进行时域仿真。
基于simulink的GPS卫星信号模拟器设计与仿真

图1GPS信号结构图基于Simulink的GPS信号模拟器设计Simulink是Matlab中的一种可视化仿真工具,用于对动态系统进行建模、仿真和分析[3]。
本文利用Simulink工具包构建GPS信号发生,具有流程直观,界面友好,易于操作。
根据GPS信号结构特点,基于Simulink的GPS信号模拟器的整图2基于Simulink的GPS信号模拟器C/A码产生可以利用反馈移位寄存器产生C/A码,也可以把各个卫星的一个周期数据存储于2位查找表中,在仿真时根据时钟频率播发[4]。
虑到需要对C/A码的码流进行控制(1.023MHZ),同时需要控制输出码的相位,本文在最终的仿真的时候采用查找表发产生C/A码,如图,给出了C/A码发生器仿真图及其时域波形,利用二维查找表Lookup Table存储卫星产生的C/A码,一号端口为卫星编号输入号端口为计数器输入。
计数器由1.023MHZ的方波驱动,同时phase shift模块产生一个常数和计数器相加后对1022取模,保证寻找范围不超过1022,这样实现了C/A码的相位控制。
图3C/A码发生器及时域波形作者简介:郑日美(1986.08—),女,广西北海人,桂林电子科技大学硕士研究生,研究方向为信号处理。
155Science&Technology Vision科技视界位寄存器的延迟数与卫星编号相关。
图4P码发生器及时域波形2.3导航电文数据码产生GPS的导航数据码的播发速度是50HZ bit,对于GPS接收的射频前端和数字中频,该数据码可以用Bernoulli随机分布模型来模拟[5],在Simulink仿真环境中可以直接调用Bernoulli模块直接产生随机序列。
2.4BPSK调制完成C/A码、P码和导航数据码等基带处理后需要对其进行BPSK调制。
BPSK调制时将基带单极性码(0,1)转换成双极性码(-1,1),然后将其乘上载波。
二进制单极性码转为双极性码的转换原理为:将输入左移1位后减1。
控制系统数字仿真

对汽车的悬挂、转向、制动等系统进行数字仿真,验证底 盘控制算法的正确性和可行性,提高汽车的操控稳定性和 行驶安全性。
自动驾驶控制
通过数字仿真技术,模拟自动驾驶系统的行为和性能,评 估自动驾驶控制算法的优劣和适用性,推动自动驾驶技术 的发展和应用。
04
控制系统数字仿真挑战与解决方 案
实时性挑战与解决方案
电机控制
对电机的启动、调速、制动等过程进行数字仿真,验证电机控制算 法的正确性和可行性,提高电机的稳定性和可靠性。
智能控制
通过数字仿真技术,模拟智能控制系统的行为和性能,评估智能控 制算法的优劣和适用性。
机器人控制
1 2 3
运动控制
对机器人的关节和末端执行器进行数字仿真,模 拟机器人的运动轨迹和姿态,验证运动控制算法 的正确性和可行性。
实时性挑战
在控制系统数字仿真中,实时性是一个关键的挑战。由于仿真过程中需要不断进行计算和控制,如果仿真时间过 长,会导致控制延迟,影响系统的实时响应。
解决方案
为了解决实时性挑战,可以采用高效的算法和计算方法,如并行计算、分布式计算等,以提高仿真速度。同时, 可以通过优化仿真模型和减少不必要的计算来降低仿真时间。
特点
数字仿真具有高效、灵活、可重复性 等优点,可以模拟各种实际工况和参 数条件,为控制系统设计、优化和故 障诊断提供有力支持。
数字仿真的重要性
验证设计
通过数字仿真可以对控制系统设计进行验证, 确保系统性能符合预期要求。
优化设计
数字仿真可以帮助发现系统设计中的潜在问 题,优化系统参数和性能。
故障诊断
THANபைடு நூலகம்S
感谢观看
发展趋势
目前,数字仿真正朝着实时仿真、 高精度建模、智能化分析等方向 发展,为控制系统的研究和应用 提供更强大的支持。
Simulink仿真教程(共77张)

仿真技术
第8页,共77页。
第九章 Simulink动态仿真
指令窗
该窗是进行各种 MATLAB 操作的最主要窗口。在该窗内,可键入各种送给(sònɡ ɡěi)MATLAB 运作的指令、函数、表达式;显示除图形外的所有运算结果;运行错误时,给出相关的出错提示。
仿真技术
第9页,共77页。
第九章 Simulink动态仿真
仿真技术
第6页,共77页。
第九章 Simulink动态仿真
5、 Simulink与建模仿真 (1) Simulink
Simulink是一种用来实现计算机仿真的软件工具。它是MATLAB 的 一个(yī ɡè)附加组件,可用于实现各种动态系统(包括连续系统、 离散系统和混合系统)的建模、分析和仿真。
第九章 Simulink动态仿真
Simulink动态(dòngtài)仿真
1 Simulink 基本操作 利用Simulink进行系统仿真的步骤是: ① 启动Simulink,打开Simulink模块库 ② 打开空白模型窗口; ③ 建立Smulink仿真模型; ④ 设置仿真参数,进行仿真; ⑤ 输出仿真结果。
仿真技术
第5页,共77页。
4、 仿真的三要素
第九章 Simulink动态仿真
计算机仿真的三个基本要素是系统、模型和计算机,联系着它 们的三项基本活动是模型建立、仿真模型建立(又称二次建模 )和仿真试验。
数学仿真采用数学模型,用数学语言(yǔyán)对系统的特性进行描述, 其工作过程是:
1、建立系统的数学模型; 2、建立系统仿真模型,即设计算法,并转化为计算机程序,使 系统的数学模型能为计算机所接受并能在计算机上运行; 3、运行仿真模型,进行仿真试验,再根据仿真试验的结果进一 步修正系统的数学模型和仿真模型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
o b b b
b
轨道坐标系中表示简单,该值在 m 文件中给出。 利用运动学方程画运动学模块图如下:
建立四元数转姿态矩阵模块: 用 mask 修改模块封面。 (使用 mask 的时候要保证输入输出的个数正确,若因为输入输 出个数出现错误,则修改代码错误后点击左下角的 Unmask)
依照下面的转换公式,使用 Fcn 模块和 Create3*3 Matrix 模块建立四元数 转换模块如下:
9. 观测器 Scope 的添加
本仿真的观测量为误差姿态角和姿态角速度。建立观测模块如下:
Quaternion2Euler 模块是四元数转姿态角模块, 其将卫星的姿态四元数 Qo 转为姿态角。 Euler Error 是误差姿态角模块,其将 M 文件中的目标姿态角与卫星姿态角做差。 四元数转 ZYX 顺序得到的 Euler 姿态角的公式如下:
建立四元数求解模块: 使用 Subsystem 模块建立 Quaternion Solve Model,并 create mask 如下:
8
四元数主部与矢部分开计算积分如下:
根据上式画模块图如下:
9
利用 Integrator、Mux、Gain、Add 模块建立初始模块如下,其中两个 Integrator 的初值 即为初始姿态四元数的初值的主部和矢部。
7
q12 + q0 2 − q32 − q2 2 2( q1q2 + q0 q3 ) 2( q1q3 − q0 q2 ) b T 2 2 2 2 2 Co = qq + ( q0 E − q ) = 2( q1q2 − q0 q3 ) q2 + q0 − q3 − q1 2( q2 q3 + q0 q1 ) 2( q1q3 + q0 q2 ) 2( q2 q3 − q0 q1 ) q32 + q0 2 − q12 − q2 2
动力学模块如下图所示:
2
先引入控制力矩 T。再添加 add 模块。得到 dH,引入 Integrator 模块得到 H。Integrator 模块的初值是积分的初值,即为初始角动量在体坐标系下的值 HB0(由体坐标系相对于惯性 坐标系的初始角速度在在体坐标系下的量决定,在 m 文件中给出。 ) 利用 Gain 模块乘以转动惯量矩阵 I 的逆 invIB 来得到 w。修改 gain 模式为 Matrix(u*K)。 I 的逆最好在 m 文件中计算出来(SimuLink 从 Workspace 中调用) ,这样减少计算量。
其中 Q o 表示星体坐标系 b 相对于轨道坐标系 o 的姿态四元数在体坐标系 b 中的投影 (在星体坐标系中轨道坐标系 o 转到与星体坐标系 b 重合(与后面的姿态坐标转换矩阵对 应)所需的姿态四元数) ; ⊗ 表示四元数乘法; wob 表示星体坐标系 b 相对于轨道坐标系 o 的角速度在 b 坐标系中的投影;w ib 表示体坐标系 b 相对于惯性坐标系 i 的角速度在 b 坐标 系中的投影,由动力学模块给出; Co 表示 o 系到 b 系的坐标转换矩阵,由四元数 Q 计算得 到; w io 表示轨道坐标系 o 相对于惯性坐标系 i 的角速度在 o 坐标系中的投影,该角速度在
其中 InterQ Multiply 模块是四元数乘法模块,四元数乘法的公式如下:
依照上式搭建起四元数乘法模块的内部结构如下:
14
7. 控制模块的建立
控制率为 T = −(Kpdq+ Kd w) 。按照控制率搭建控制模块如下:
控制参数的设置如下:
15
8. 执行机构模块的建立
本仿真假设执行机构为理想的零动量飞轮, 输出力矩无误差且无大小限制。 即执行器仅 是增益为 1 的 gain 模块。
模块是 gain 模块,是为了在白噪声上面乘以一个增益参数,参 数 Noig 由 M 文件提供。
是 constant 模块,是为了提供常值漂移 cong。
:Quantizer 模块是为了体现陀螺精度。当这一时刻的测量值与 上一时刻的测量值的变化值小于陀螺精度时,Quantizer 仍会提供上一时刻的 测量值。精度值 Gyquan 由 M 文件提供。
将 H 与 w 引入 CrossProduct 模块(叉乘模块) 。 右键 Subsystem 模块-“Create Mask”来修改模块的外貌。 (为模块起名 Cross Product, 为输入输出起名,以防止叉乘顺序出错)
3
建立叉乘模块: 在模块里面添加两个 in,一个 out。添加两个 Mux,三个 Fuc,模型如下。Mux 的 Input 设置为[3 3]和[1 1 1]。
SimuLink 仿真卫星姿态控制
孙亚辉,易涛 哈尔滨工业大学卫星技术研究所
syhhit@
2014 年 4 月 2 日
目录
SimuLink 仿真卫星姿态控制 ................................................................................................... 1 1. 姿态控制模块的组成............................................................................................... 1 2. 动力学模块的建立................................................................................................... 2 3. 运动学模块的建立................................................................................................... 6 4. 角速度陀螺模块的建立......................................................................................... 12 5. 星敏感器模块的建立............................................................................................. 14 6. 控制目标模块的建立............................................................................................. 14 7. 控制模块的建立..................................................................................................... 15 8. 执行机构模块的建立............................................................................................. 16 9. 观测器 Scope 的添加 ............................................................................................. 16 10. M 文件的代码 .................................................................................................... 18
16
按照上式,利用 Fcn 模块搭建四元数转姿态角模块如下:
误差姿态角模块如下。该模块将姿态角与目标姿态角做差。
至此我们便建立了完整的卫星姿态控制模型如下图所示:
利用 Demux 模块将 Q 的矢部与主部分开。其中 Demux 模块设置如下(将四 个数按[1 3]分成两部分):
10
利用 Dot Product 模块求 q0 的导:
利用动力学模块中的叉乘模块来完成 q 的导的求解如下:
这样四元数求解模块即建立,输入 w 输出 Q。
11
建立运动学模块:
引入动力学模块计算的姿态角速度 wib 和 m 文件中的轨道角速度 wio, 引出 Wob 和 Qo。 建立运动学模块如下(注意 product 的 multiplication 应为 Matrix) :
这样运动学模块即建立。
4. 角速度陀螺模块的建立
陀螺噪声分为两部分,一是白噪声,二是常值漂移。陀螺模块如下图所示。
初值漂移为 M 文件中的 cong。 白噪声由 Random Number 模块提供, 注意白噪声模块的 参数:Mean,Variance,Seed,Sample Time。噪声是三维的。
计算叉乘结果如下:
4
按照计算结果填写 Fcn 模块:
5
叉乘模块即建立完成。将叉乘结果 w*H 引至 add 模块,引出体坐标系相对于
惯性坐标系的角速度在在体坐标系下的量 Wib 即完成动力学模块。
3. 运动学模块的建立
四元数姿态运动学方程: (见《基于星敏感器角速度估计的陀螺故障诊断》 )
• 1 b 1 b b b b b o Qo wio ) = Qo ⊗ wob = Qo ⊗ ( wib − Co 2 2
= −(K p qe + Kd w)
Actuator 模块是执行机构模块,它输入控制信号,输出控制力矩 T,然后将 T 引入动力 学模块。 卫星姿态控制的 SimuLink 模块即建立完成。
2. 动力学模块的建立
卫星动力学方程如下: (模型中 T 为体坐标系下的力矩,H 为体坐标系下的角动量,w 为体坐标系相对于惯性坐标系的角速度在在体坐标系下的量)
12
Help——Random Number 模块: Seed:The seed must be 0 or a positive integer. Output is repeatable for a given seed. 不能对 Random Number 模块提供的噪声进行积分, 需要积分的话应该使用 Limited White Noise 模块。 (Avoid integrating a random signal, because solvers must integrate relatively smooth signals. Instead, use the Band-Limited White Noise block.) Random Number 模块的参数设置: