STK12 RPO模块学习 (1)

一、背景介绍

在STK12中,在Astrogator的模块上开发了新的模块(Rendezvous and proximity operations)。轨道交会接近通常来说是一个很复杂的过程。RPO实现需要对轨道动力学有一个清晰的理解,并且对于Astrogator模块具备很强的背景和经验,同时对于数值积分求解器有一个很深的理解。同时掌握基本的编程能力去和Astrogator的脚本交互。AGI公司为了让整个RPO任务更容易上手,推出了该模块

二、模块操作

首先配置好STK中的RPO模块。打开STK12,点击Utilities-Astrogator RPO Setup-Load Template Files

RPO序列的基本前提是在遵循任务设计的同时,按时间顺序排列。这首先第一步就是定义参考飞行器使用Set_Reference_Vehicle序列。这个参考飞行器通常是目标飞行器,但它也能是相当于卫星的某一位置,就比如RPO任务里的交会段。在执行RPO卫星机动序列,你必须配置目标卫星。在STK附带的模块对象中,默认目标星被命名为“Target”。

你必须确保目标星的传播时间,确保这里有足够的星历产生来覆盖整个任务时间。这个目标星能够指场景里的任何卫星,但是在运行卫星的MCS序列之前,你必须建立Follow卫星的对象

下一步就是确定追踪星的初始状态。你可以通过一个交会序列(GEO_To_GEO_Rendezvous_Drifting)或者一个Set_Initial_State序列,定义了相对参考坐标系的初始状态。这样之后,你可以进行接近任务。

三、限制和约束条件

自动序列

VBar_Approach和RBar_Approach在使用相关序列之前,使用需要任务规划器填充的任务序列。

发动机推力水平有限

如果你想使用有限机动解决方案,一个问题是有限发动机推力水平的选择。如果你选择的推力水平太小,机动会重叠,序列会失败。如果推力水平太大,则机动可能太短。当有限的机动持续时间很小(小于一秒)时,很难在物理上实现可重复的Delta-V。因此,对于接近操作部分,应使用0.1N至10N之间的推力大小——假设总质量为1000 kg,有效加速度是关键因素。交会作战通常需要更大的推力水平,因为相关的\DeltaV通常大于接近作战当量

轨道类型

所有案例图片都是GEO交会序列的详细介绍。这些序列适用于所有的轨道状态(不仅仅是GEO),但是自然运动序列对于圆轨道工作的更好,比如TearDrop序列被限制在圆轨道。你可以仅仅使用GEO近园轨道对于 GEO_to_GEO_Rendevous_Nolead,GEO_to_GEO_Rendezvous_Drifting,和Exit_GEO序列。你应该通常限制转移时间小于一圈,所以检查目标性的时期。你能够修改这些限制条件如果必要的话。这个RPO的Delta-V通常随着目标轨道速度的增加而增加。另外,对于低轨的圆轨道,你能够期望DeltaV大一点来完成相同的RPO任务。另外,对于LEO的情况,微分阻力编程一个问题在低高度上,设置是地域,形状,尺寸以及追逐星和目标星的质量都是很重要的。HEO的RPO任务是相对影响较小的;然而,通过近地点所需的强迫运动很大,你可能希望暂停通过近地点的强迫运动。

预报器

默认的 ,RPO序列使用一个预报器包含所有力模型——拉力,太阳光压,第三体引力,和21*21的引力势能。有一些序列要求你限制最大步数确保预报器不会错过关键条件。在这种情况下,Astroagtor提供了预报器叫做”Small_Step",设置最大的步长为60s。有时,一些序列会使用Hill方程来初始化RPO的机动,但传播方会使用基于初始猜测的全力模型进行所有计算。Astrogator的脚本工具决定了最初的猜测。脚本工具还控制执行,并根据您的输入参数强制执行某些逻辑。

Astrogator使用脚本工具在三个地方。1、前向和后向序列 2、目标序列的轮廓。3、嵌入到差分修正器或者优化器,在迭代前优先执行。

序列

你将不能直接使用下列四种序列在任务序列中:InTrack_Finite,InTrack_Impulsive,Radial_Finite和Radial_Impulsive。然而,这些作为自动执行序列在接近序列RBar-Approach和V-BarApproch。此外,仅在需要时添加到场景中的所需参考卫星中使用以下四个序列MatchOrbit_Reference,NMC_Reference,Perchi_Reference和VBar_Reference。

四、序列列表和相关的函数

这里有许多可用的序列对于接近操作阶段。以下是按类别和字母顺序列出的序列。一些序列例如:VBar,NMCCircummav,TearDrop,FMCIrcumnav,FollowSun,和其他序列从当前位置转换到所选接近操作的起始位置。你可以定义转移时间,然后这些序列使用强迫运动点来是现在位置移动到开始接近操作的点。这里还有其他序列要求初始位置是正确的对于这些序列,例如VBar_To_NMCircumnav,RBar_To_NMCircumnav,NMCircumnav_To_VBar,NMCircumnav_To_RBar,VBar_To_RBar和其他序列。在这些序列中,输入状态必须已经处于适当的条件下(例如,在VBar上)。其他序列,如Coast、Stop_RelRate、Stop_PlaneCross和其他序列,在某个条件下停止传播。

下一节开始介绍RPO每个序列的功能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/621940.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI翻唱+视频剪辑全流程实战

目录 一、AI翻唱之模型训练 (1)模型部署 (2)数据集制作——搜集素材 (3)数据集制作——提升音频质量 方法一:使用RVC提供的音频处理功能。 方法二:可以使用音频剪辑工具Ad…

【软设】常见易错题汇总

目录 计算机系统基础 程序语言基础 数据结构 算法设计与分析 计算机网络与信息安全 软件工程基础 开发方法(结构化与面向对象) 数据库 操作系统 知识产权相关的法律法规 🤯🤯🤯🤯🤯&#x1f9…

基于Springboot的实习生管理系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的实习生管理系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&a…

APP反抓包 - 客户端证书验证进阶(代码混淆)

1.关于混淆 在安卓开发中,对于第三方的包是可以进行混淆的,例如:OKHttp3.Http.Cert.check 被混淆后可以是a.f.c.b 形式。在安卓开发中,系统包是无法混淆的,例如:java.security.KeyStore不会被混淆。由于这种的情况的存在,再次审示我们之前的通用脚本,就会发现他是不通用…

基于GD32的简易数字示波器(5)- 软件_控制LED

这期记录的是项目实战,做一个简易的数字示波器。 教程来源于嘉立创,帖子主要做学习记录,方便以后查看。 本期主要介绍GPIO口的输入输出模式,使用其中的输出模式驱动LED。详细教程可观看下方链接。 2.2 LED控制实验 语雀 1、LE…

synchronized 使用及实现原理

synchronized 关键字 如何使用 synchronized 关键字的使用方式主要有下面 3 种: 修饰实例方法 修饰静态方法 修饰代码块 1、修饰实例方法 (锁当前对象实例) 给当前对象实例加锁,进入同步代码前要获得 当前对象实例的锁 。 …

ViewModel 完全指南:实践与背后原理全解

一、引言 在现代Android应用开发中,处理UI数据的有效管理和状态保持是开发者面临的重要挑战之一。Google推出的Jetpack组件库中的ViewModel已成为解决这些问题的关键工具。ViewModel旨在以生命周期意识的方式存储和管理界面相关的数据,从而使数据在配置…

暴力法解决最近对问题和凸包问题-实现可视化

目录 最近对问题 凸包问题 最近对问题 顾名思义就是采用蛮力法求出所有点之间的距离,然后进行比较找出第一个最近对,一个一个进行比较。 大概思路就是如图(每个圈代表一个数对) 第一个和其他四个比较 第二个和其他三个比较 …

C++类和对象下——实现日期类

前言 在学习了类和对象的六大成员函数后,为了巩固我们学习的知识可以手写一个日期类来帮助我们理解类和对象,加深对于其的了解。 默认函数 构造函数 既然是写类和对象,我们首先就要定义一个类,然后根据实际需要来加入类的数据与函…

计算机Java项目|Springboot房产销售系统

作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简…

Windows下安装Node.js、npm和electronic,并运行一个Hello, World!脚本程序

20240510 By wdhuag 目录 简介: 参考: 安装Node.js 安装npm 配置npm: 修改包存放目录和缓存目录 切换镜像源 使用 nrm 切换镜像源 安装Electron 运行一个Hello, World!脚本程序 安装Yarn JavaScript 指南 简介: Nod…

flash attention的CUDA实现探讨-V3

之前关于flash attention的实现参考添加链接描述,添加链接描述,添加链接描述 lash attention的数学变换:给定三个矩阵Q,K,V,形状都是[N,d],计算S=QK.T,然后针对dim=1做softmax,然后和V继续做矩阵乘法得到形状为[N,d]的输出矩阵O,即O=softmax(QK.T,dim=1)V。 下面本人的…

物联网设计竞赛_2_Jetson Nano中文输入法配置安装vscode

1、装ibus和ibus依赖框架 sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4 2、启动ibus im-config -s ibus 3、安装拼音引擎 sudo apt-get install ibus-pinyin 4、重启linux系统 shutdown -r now 5、进入ibus设置添加中文 ibus-setup 插入中文p…

四川汇昌联信:拼多多网点怎么开?大概需要多少钱?

想要开一家拼多多网点,你肯定很关心需要准备多少资金。下面,我们就来详细解答这个问题,并从多个角度分析开设网点的要点。 一、 开设拼多多网点,首要任务是确定启动资金。根据不同的经营模式和地区差异,成本会有所不同…

基于SpringBoot + Vue的兼职网站管理系统设计与实现+毕业论文+答辩PPT

系统介绍 本系统包含管理员、用户、企业三个角色。 管理员角色:前台首页、个人中心、用户管理、企业管理、兼职信息管理、职位申请管理、留言板管理、系统管理。 用户角色:前台首页、个人中心、职位申请管理。 企业角色:前台首页、个人中心、…

JUC下的ThreadLocalRandom详解

ThreadLocalRandom 是Java并发包(java.util.concurrent)中提供的一个随机数生成器类,它是从Java 7开始引入的。相较于传统的Math.random()或Random类,ThreadLocalRandom更适用于多线程环境,因为它为每个线程维护了一个…

【spring】application.yml导入额外配置文件

有时候application.yml 已经配置很多配置已经很大很乱了想把他们拆出去放在一个独立的XX.yml文件管理。这时候就用到了 spring.config.import 属性。 spring.config.import spring.config.import 是 Spring Boot 2.4 版本引入的一个配置属性,用于导入额外的配置数…

Java入门基础学习笔记21——Scanner

在程序中接收用户通过键盘输入的数据: 需求: 请在程序中,提示用户通过键盘输入自己的姓名、年龄、并能在程序中收到这些信息,怎么解决? Java已经写好了实现程序,我们调用即可。 API:Applicat…

解决 XXL-Job 端口额外占用问题 小结

🏷️个人主页:牵着猫散步的鼠鼠 🏷️系列专栏:Java技术栈笔记 🏷️个人学习笔记,若有缺误,欢迎评论区指正 目录 1. 前言 2. 问题解决 2.1. 下载源码 2.2. 启动admin服务器 2.3. 项目引入c…

MySQL-InnoDB数据存储结构

1、存储结构-页 索引结构提供了高效的索引方式,索引信息以及数据记录都保存在数据文件或索引文件中(本质存储在页结构中) 1.1、磁盘与内存交互的基本单位:页 在InnoDB中将数据划分为若干页,页的默认大小为&#xff…