卫星稳定系绳系统¶
该示例演示了通过控制系绳的长度来稳定卫星角度位置的系统。一个有限自动控制单元控制系绳的收放速度。该系统减小了小型卫星相对于平台的振荡幅度。
研究过程描述¶
考虑使用系绳系统控制卫星角动量的问题。系绳稳定系统(Yo-yo despin)通常用于减小卫星的角动量,目的是在加速过程中稳定卫星。但我们的系统将_控制卫星围绕空间平台的摆动。
该系统由一颗小型卫星组成,它通过一根长长的系绳与平台相连。当受到各种影响,连接在平台上的卫星开始像钟摆一样摆动时,稳定系统就会启动。为了减少摆动的影响,稳定系统将改变系绳的长度,当卫星处于摆动路径中间时,将系绳释放到最大长度(这将降低其角速度),当卫星的角速度接近零时,每隔一段时间将系绳缩回。
角运动模型¶
该模型显示了系链$l$ 的长度如何影响卫星运动的角速度$\theta$ 。
卫星的总能量在Total Energy
块中用公式计算:
$$E = 9.8 \cdot \dot \theta (1-cos(\theta)) + \frac{l^2 \cdot \dot \theta^2}{2}$$
在程序块Compute theta_dot_dot
中,计算卫星在距离平台$l$ 处运动时的角加速度:
$$\ddot \theta = \frac{-2 \dot l \dot \theta + 9.8 sin(\theta)}{l}$$
通过区块HitCross
固定信号值向 0 的过渡,这些区块构成了系统状态向量中的附加变量。
<br
最后,该矢量的所有 5 个变量都将传递给稳定控制单元,稳定控制单元以有限自动机的形式实现,使用组件сhart
。
控制块¶
以下是利用chart
模块实现的控制系统示意图。
当卫星处于周期轨迹的中间位置时($\theta = 0$ ),系统进入状态ReelMovingOut
。当卫星与平台的距离达到最大值时,系统进入状态ReelStop
。然后,当卫星角速度越过 0 刻度时,系统进入状态ReelMovingIn
。当系绳达到最小允许长度时,系统再次进入状态ReelStop
。
当总能量计算块返回一个足够小的值时,稳定系统切换到状态Inactive
。
显示结果¶
运行模型可以查看稳定系统的所有状态变量:系绳长度l
、卫星角度theta
及其导数。
modelName = "satellite_yo_yo_model";
model = modelName in [m.name for m in engee.get_all_models()] ? engee.open( modelName ) : engee.load( "$(@__DIR__)/$(modelName).engee");
# Запустим модель
s = engee.run( modelName, verbose=false )
using Plots, LaTeXStrings
plot( s["theta"].time, s["theta"].value, xlabel=L"t, c", ylabel=L"\theta, рад" )
使用数据检查器可以方便地在一个窗口中排列所有图形。
我们可以看到,随着稳定系统的工作,系统能量和角振荡幅度都在减小。在蓝色图表中,我们可以看到电缆长度如何从最大允许长度变为最小允许长度。
结论¶
通过在一个 Engee 画布上结合多种类型的模型,我们能够将控制小型卫星系绳稳定系统的过程可视化。